llvm.org GIT mirror llvm / 59a9178
indicate what the native integer types for the target are. Please verify. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86397 91177308-0d34-0410-b5e6-96231b3b80d8 Chris Lattner 10 years ago
12 changed file(s) with 19 addition(s) and 19 deletion(s). Raw diff Collapse all Expand all
5959 const std::string &FS)
6060 : ARMBaseTargetMachine(T, TT, FS, false), InstrInfo(Subtarget),
6161 DataLayout(Subtarget.isAPCS_ABI() ?
62 std::string("e-p:32:32-f64:32:32-i64:32:32") :
63 std::string("e-p:32:32-f64:64:64-i64:64:64")),
62 std::string("e-p:32:32-f64:32:32-i64:32:32-n32") :
63 std::string("e-p:32:32-f64:64:64-i64:64:64-n32")),
6464 TLInfo(*this) {
6565 }
6666
7272 : ((ARMBaseInstrInfo*)new Thumb1InstrInfo(Subtarget))),
7373 DataLayout(Subtarget.isAPCS_ABI() ?
7474 std::string("e-p:32:32-f64:32:32-i64:32:32-"
75 "i16:16:32-i8:8:32-i1:8:32-a:0:32") :
75 "i16:16:32-i8:8:32-i1:8:32-a:0:32-n32") :
7676 std::string("e-p:32:32-f64:64:64-i64:64:64-"
77 "i16:16:32-i8:8:32-i1:8:32-a:0:32")),
77 "i16:16:32-i8:8:32-i1:8:32-a:0:32-n32")),
7878 TLInfo(*this) {
7979 }
8080
2727 AlphaTargetMachine::AlphaTargetMachine(const Target &T, const std::string &TT,
2828 const std::string &FS)
2929 : LLVMTargetMachine(T, TT),
30 DataLayout("e-f128:128:128"),
30 DataLayout("e-f128:128:128-n64"),
3131 FrameInfo(TargetFrameInfo::StackGrowsDown, 16, 0),
3232 JITInfo(*this),
3333 Subtarget(TT, FS),
2727 const std::string &TT,
2828 const std::string &FS)
2929 : LLVMTargetMachine(T, TT),
30 DataLayout("e-p:32:32-i64:32-f64:32"),
30 DataLayout("e-p:32:32-i64:32-f64:32-n32"),
3131 Subtarget(TT, FS),
3232 TLInfo(*this),
3333 InstrInfo(Subtarget),
8181 const char *getTargetDataString() const {
8282 return "E-p:32:32:128-f64:64:128-f32:32:128-i64:32:128-i32:32:128"
8383 "-i16:16:128-i8:8:128-i1:8:128-a:0:128-v64:128:128-v128:128:128"
84 "-s:128:128";
84 "-s:128:128-n32:64";
8585 }
8686 };
8787 } // End llvm namespace
3131 LLVMTargetMachine(T, TT),
3232 Subtarget(TT, FS),
3333 // FIXME: Check TargetData string.
34 DataLayout("e-p:16:16:16-i8:8:8-i16:16:16-i32:16:32"),
34 DataLayout("e-p:16:16:16-i8:8:8-i16:16:16-i32:16:32-n8:16"),
3535 InstrInfo(*this), TLInfo(*this),
3636 FrameInfo(TargetFrameInfo::StackGrowsDown, 2, -2) { }
3737
3737 bool isLittle=false):
3838 LLVMTargetMachine(T, TT),
3939 Subtarget(TT, FS, isLittle),
40 DataLayout(isLittle ? std::string("e-p:32:32:32-i8:8:32-i16:16:32") :
41 std::string("E-p:32:32:32-i8:8:32-i16:16:32")),
40 DataLayout(isLittle ? std::string("e-p:32:32:32-i8:8:32-i16:16:32-n32") :
41 std::string("E-p:32:32:32-i8:8:32-i16:16:32-n32")),
4242 InstrInfo(*this),
4343 FrameInfo(TargetFrameInfo::StackGrowsUp, 8, 0),
4444 TLInfo(*this) {
3333 const std::string &FS, bool Trad)
3434 : LLVMTargetMachine(T, TT),
3535 Subtarget(TT, FS, Trad),
36 DataLayout("e-p:16:8:8-i8:8:8-i16:8:8-i32:8:8"),
36 DataLayout("e-p:16:8:8-i8:8:8-i16:8:8-i32:8:8-n8"),
3737 InstrInfo(*this), TLInfo(*this),
3838 FrameInfo(TargetFrameInfo::StackGrowsUp, 8, 0) { }
3939
100100 const char *getTargetDataString() const {
101101 // Note, the alignment values for f64 and i64 on ppc64 in Darwin
102102 // documentation are wrong; these are correct (i.e. "what gcc does").
103 return isPPC64() ? "E-p:64:64-f64:64:64-i64:64:64-f128:64:128"
104 : "E-p:32:32-f64:32:64-i64:32:64-f128:64:128";
103 return isPPC64() ? "E-p:64:64-f64:64:64-i64:64:64-f128:64:128-n32:64"
104 : "E-p:32:32-f64:32:64-i64:32:64-f128:64:128-n32";
105105 }
106106
107107 /// isPPC64 - Return true if we are generating code for 64-bit pointer mode.
2828 SparcTargetMachine::SparcTargetMachine(const Target &T, const std::string &TT,
2929 const std::string &FS)
3030 : LLVMTargetMachine(T, TT),
31 DataLayout("E-p:32:32-f128:128:128"),
31 DataLayout("E-p:32:32-f128:128:128-n32"),
3232 Subtarget(TT, FS), TLInfo(*this), InstrInfo(Subtarget),
3333 FrameInfo(TargetFrameInfo::StackGrowsDown, 8, 0) {
3434 }
2727 : LLVMTargetMachine(T, TT),
2828 Subtarget(TT, FS),
2929 DataLayout("E-p:64:64:64-i8:8:16-i16:16:16-i32:32:32-i64:64:64-f32:32:32"
30 "-f64:64:64-f128:128:128-a0:16:16"),
30 "-f64:64:64-f128:128:128-a0:16:16-n32:64"),
3131 InstrInfo(*this), TLInfo(*this),
3232 FrameInfo(TargetFrameInfo::StackGrowsDown, 8, -160) {
3333
165165 std::string getDataLayout() const {
166166 const char *p;
167167 if (is64Bit())
168 p = "e-p:64:64-s:64-f64:64:64-i64:64:64-f80:128:128";
168 p = "e-p:64:64-s:64-f64:64:64-i64:64:64-f80:128:128-n8:16:32:64";
169169 else if (isTargetDarwin())
170 p = "e-p:32:32-f64:32:64-i64:32:64-f80:128:128";
170 p = "e-p:32:32-f64:32:64-i64:32:64-f80:128:128-n8:16:32";
171171 else
172 p = "e-p:32:32-f64:32:64-i64:32:64-f80:32:32";
172 p = "e-p:32:32-f64:32:64-i64:32:64-f80:32:32-n8:16:32";
173173 return std::string(p);
174174 }
175175
2424 : LLVMTargetMachine(T, TT),
2525 Subtarget(TT, FS),
2626 DataLayout("e-p:32:32:32-a0:0:32-f32:32:32-f64:32:32-i1:8:32-i8:8:32-"
27 "i16:16:32-i32:32:32-i64:32:32"),
27 "i16:16:32-i32:32:32-i64:32:32-n32"),
2828 InstrInfo(),
2929 FrameInfo(*this),
3030 TLInfo(*this) {