summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/ARM/ARMSubtarget.cpp
diff options
context:
space:
mode:
authorLauro Ramos Venancio <lauro.venancio@gmail.com>2007-02-13 19:52:28 +0000
committerLauro Ramos Venancio <lauro.venancio@gmail.com>2007-02-13 19:52:28 +0000
commit048e16ff8f4f4524fbf545511ce46c63d0c6dc0e (patch)
treef43e8690d48bdfb6385b2426ee9809bc73d55163 /llvm/lib/Target/ARM/ARMSubtarget.cpp
parentabde3cc16cced4e15e6103f0d4e446b6f518f52c (diff)
downloadbcm5719-llvm-048e16ff8f4f4524fbf545511ce46c63d0c6dc0e.tar.gz
bcm5719-llvm-048e16ff8f4f4524fbf545511ce46c63d0c6dc0e.zip
Add ABI information to ARM subtarget.
llvm-svn: 34245
Diffstat (limited to 'llvm/lib/Target/ARM/ARMSubtarget.cpp')
-rw-r--r--llvm/lib/Target/ARM/ARMSubtarget.cpp14
1 files changed, 10 insertions, 4 deletions
diff --git a/llvm/lib/Target/ARM/ARMSubtarget.cpp b/llvm/lib/Target/ARM/ARMSubtarget.cpp
index 27889c7818d..4363697d3e3 100644
--- a/llvm/lib/Target/ARM/ARMSubtarget.cpp
+++ b/llvm/lib/Target/ARM/ARMSubtarget.cpp
@@ -26,8 +26,9 @@ ARMSubtarget::ARMSubtarget(const Module &M, const std::string &FS)
, HasVFP2(false)
, UseThumbBacktraces(false)
, IsR9Reserved(false)
- , stackAlignment(8)
- , TargetType(isELF) { // Default to ELF unless otherwise specified.
+ , stackAlignment(4)
+ , TargetType(isELF) // Default to ELF unless otherwise specified.
+ , TargetABI(ARM_ABI_APCS) {
// Determine default and user specified characteristics
std::string CPU = "generic";
@@ -49,9 +50,14 @@ ARMSubtarget::ARMSubtarget(const Module &M, const std::string &FS)
#endif
}
+ if (TT.find("eabi") != std::string::npos)
+ TargetABI = ARM_ABI_AAPCS;
+
+ if (isAAPCS_ABI())
+ stackAlignment = 8;
+
if (isTargetDarwin()) {
UseThumbBacktraces = true;
IsR9Reserved = true;
- stackAlignment = 4;
- }
+ }
}
OpenPOWER on IntegriCloud