Home
last modified time | relevance | path

Searched full:aapcs (Results 1 – 25 of 54) sorted by relevance

123

/freebsd/contrib/llvm-project/clang/lib/CodeGen/Targets/
H A DARM.cpp196 // AAPCS guarantees that sp will be 8-byte aligned on any public interface, in setTargetAttributes()
269 case ARMABIKind::AAPCS: in getABIDefaultCC()
320 if (getABIKind() == ARMABIKind::AAPCS || in classifyHomogeneousAggregate()
395 // WatchOS is adopting the 64-bit AAPCS rule on composite types: if they're in classifyArgumentType()
403 // The ABI alignment for APCS is 4-byte and for AAPCS at least 4-byte and at in classifyArgumentType()
409 getABIKind() == ARMABIKind::AAPCS) { in classifyArgumentType()
594 // Otherwise this is an AAPCS variant. in classifyReturnType()
599 // Check for homogeneous aggregates with AAPCS-VFP. in classifyReturnType()
617 // Return in 32 bit integer integer type (as if loaded by LDR, AAPCS 5.4) in classifyReturnType()
721 // Homogeneous aggregates for AAPCS-VFP must have base types of float, in isHomogeneousAggregateBaseType()
[all …]
/freebsd/contrib/llvm-project/clang/lib/Basic/Targets/
H A DARM.cpp70 // FIXME: Enumerated types are variable width in straight AAPCS. in setABIAAPCS()
295 // The backend is hardwired to assume AAPCS for M-class processors, ensure in ARMTargetInfo()
300 setABI("aapcs"); in ARMTargetInfo()
308 setABI("aapcs"); in ARMTargetInfo()
320 setABI("aapcs-linux"); in ARMTargetInfo()
324 setABI("aapcs"); in ARMTargetInfo()
333 setABI("aapcs-linux"); in ARMTargetInfo()
335 setABI("aapcs"); in ARMTargetInfo()
346 // Maximum alignment for ARM NEON data types should be 64-bits (AAPCS) in ARMTargetInfo()
371 // The defaults (above) are for AAPCS, check if we need to change them. in setABI()
[all …]
H A DAArch64.cpp134 : TargetInfo(Triple), ABI("aapcs") { in AArch64TargetInfo()
185 // AAPCS gives rules for bitfields. 7.1.7 says: "The container type in AArch64TargetInfo()
207 if (Name != "aapcs" && Name != "aapcs-soft" && Name != "darwinpcs" && in setABI()
216 if (hasFeature("fp") && ABI == "aapcs-soft") { in validateTarget()
217 // aapcs-soft is not allowed for targets with an FPU, to avoid there being in validateTarget()
/freebsd/contrib/llvm-project/llvm/lib/Target/ARM/
H A DARMCallingConv.cpp61 // AAPCS f64 is in aligned register pairs
164 // Allocate part of an AAPCS HFA or HVA. We assume that each member of the HA
176 // AAPCS HFAs must have 1-4 elements, all of the same type in CC_ARM_AAPCS_Custom_Aggregate()
263 // Mark all regs as unavailable (AAPCS rule C.2.vfp for VFP, C.6 for core) in CC_ARM_AAPCS_Custom_Aggregate()
H A DARMCallingConv.td126 // ARM AAPCS (EABI) Calling Convention, common parts
156 // ARM AAPCS (EABI) Calling Convention
203 // ARM AAPCS-VFP (EABI) Calling Convention
274 // AAPCS, and also preserves all floating point registers.
304 // When enforcing an AAPCS compliant frame chain, R11 is used as the frame
306 // This AAPCS alternative makes sure the frame index slots match the push
H A DARMFeatures.td551 // If frame pointers are in use, they must follow the AAPCS definition, which
556 def FeatureAAPCSFrameChain : SubtargetFeature<"aapcs-frame-chain",
558 "Create an AAPCS compliant frame chain">;
H A DARMTargetMachine.cpp134 else if (ABIName.starts_with("aapcs")) in computeTargetABI()
188 // The stack is 128 bit aligned on NaCl, 64 bit aligned on AAPCS and 32 bit in computeDataLayout()
/freebsd/contrib/llvm-project/llvm/lib/TargetParser/
H A DARMTargetParser.cpp545 return "aapcs"; in computeDefaultTargetABI()
551 return "aapcs"; in computeDefaultTargetABI()
563 return "aapcs-linux"; in computeDefaultTargetABI()
566 return "aapcs"; in computeDefaultTargetABI()
572 return "aapcs-linux"; in computeDefaultTargetABI()
573 return "aapcs"; in computeDefaultTargetABI()
/freebsd/contrib/llvm-project/llvm/lib/Support/
H A DARMAttributeParser.cpp259 static const char *strings[] = {"AAPCS", "AAPCS VFP", "Custom", in ABI_VFP_args()
265 static const char *strings[] = {"AAPCS", "iWMMX", "Custom"}; in ABI_WMMX_args()
/freebsd/lib/libc/arm/gen/
H A Darm_initfini.c37 * To properly implement setjmp/longjmp for the ARM AAPCS ABI, it has to be
/freebsd/contrib/llvm-project/compiler-rt/lib/hwasan/
H A Dhwasan_exceptions.cpp53 // required by AAPCS but is a requirement for HWASAN instrumented functions. in __hwasan_personality_wrapper()
/freebsd/contrib/llvm-project/compiler-rt/lib/builtins/arm/
H A Ddivsi3.S27 // Ok, APCS and AAPCS agree on 32 bit args, so it's safe to use the same routine.
/freebsd/contrib/llvm-project/clang/lib/CodeGen/
H A DCGRecordLayoutBuilder.cpp112 /// Helper function to check if we are targeting AAPCS.
114 return Context.getTargetInfo().getABI().starts_with("aapcs"); in isAAPCS()
742 /// The AAPCS that defines that, when possible, bit-fields should
754 /// -fno-aapcs-bitfield-width.
770 // Info.StorageSize. Since AAPCS uses a different container size (width in computeVolatileBitfields()
790 // packed struct. AAPCS does not define access rules for such cases, we let in computeVolatileBitfields()
824 // The AAPCS acknowledges it and imposes no restritions when the in computeVolatileBitfields()
H A DTargetInfo.h439 AAPCS = 0, enumerator
460 AAPCS = 1, enumerator
H A DCGRecordLayout.h85 /// single "field" within the LLVM struct type, taking into account the AAPCS
/freebsd/crypto/openssl/include/openssl/
H A Drand.h95 __NDK_FPABI__ /* __attribute__((pcs("aapcs"))) on ARM */
/freebsd/contrib/llvm-project/llvm/include/llvm/MC/
H A DMCTargetOptions.h114 /// aapcs-linux.
/freebsd/contrib/llvm-project/clang/include/clang/Basic/
H A DSpecifiers.h285 CC_AAPCS, // __attribute__((pcs("aapcs")))
286 CC_AAPCS_VFP, // __attribute__((pcs("aapcs-vfp")))
H A DCodeGenOptions.def426 /// Whether to follow the AAPCS enforcing at least one read before storing to a volatile bitfield
432 /// Whether to not follow the AAPCS that enforces volatile bit-field access width to be
/freebsd/sys/contrib/device-tree/Bindings/arm/
H A Dpsci.yaml23 in a manner similar to that specified by AAPCS:
/freebsd/contrib/llvm-project/llvm/lib/DebugInfo/DWARF/
H A DDWARFTypePrinter.cpp609 OS << " __attribute__((pcs(\"aapcs\")))"; in appendSubroutineNameAfter()
612 OS << " __attribute__((pcs(\"aapcs-vfp\")))"; in appendSubroutineNameAfter()
/freebsd/contrib/llvm-project/clang/lib/Driver/ToolChains/Arch/
H A DARM.cpp178 // The backend is hardwired to assume AAPCS for M-class processors, ensure in useAAPCSForMachO()
430 // EABI is always AAPCS, and if it was not marked 'hard', it's softfp in getDefaultFloatABI()
805 if (FrameChainOption.starts_with("aapcs")) in getARMTargetFeatures()
806 Features.push_back("+aapcs-frame-chain"); in getARMTargetFeatures()
/freebsd/contrib/llvm-project/llvm/lib/Target/AArch64/
H A DAArch64CallingConvention.td42 // In AAPCS, an SRet is passed in X8, not X0 like a normal pointer parameter.
677 // Darwin variants of AAPCS.
706 // guarantees more than a normal AAPCS function. x16 and x17 are used on the
/freebsd/contrib/llvm-project/llvm/include/llvm/IR/
H A DCallingConv.h157 /// normal C (AAPCS) calling convention for normal functions, but floats are
/freebsd/crypto/openssl/Configurations/
H A D15-android.conf205 # (Latter thanks to __attribute__((pcs("aapcs"))) declaration.)

123