Make all of the TargetMachine subclasses use the new string TargetData methods.
authorOwen Anderson <resistor@mac.com>
Sat, 20 May 2006 00:24:56 +0000 (00:24 +0000)
committerOwen Anderson <resistor@mac.com>
Sat, 20 May 2006 00:24:56 +0000 (00:24 +0000)
This is part of the on-going work on PR 761.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28414 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/ARM/ARMTargetMachine.cpp
lib/Target/Alpha/AlphaTargetMachine.cpp
lib/Target/IA64/IA64TargetMachine.cpp
lib/Target/PowerPC/PPCTargetMachine.cpp
lib/Target/Sparc/SparcTargetMachine.cpp
lib/Target/TargetData.cpp
lib/Target/X86/X86TargetMachine.cpp

index 7520cdc5e8bb87f898c96f953995702f94d49fcc..45d72419100d9ac81ccc60a12a6c3becb06d04cf 100644 (file)
@@ -33,7 +33,7 @@ namespace {
 ///
 ARMTargetMachine::ARMTargetMachine(const Module &M, const std::string &FS)
   : TargetMachine("ARM"),
-    DataLayout("ARM", false, 4, 4),
+    DataLayout(std::string("ARM"), std::string("E-p:32:32")),
     InstrInfo(),
     FrameInfo(TargetFrameInfo::StackGrowsDown, 8, 0) {
 }
index 2970f8201b27945b79cf043dee24cbf4cbbab6ef..f7fd8e0e1669ee022ec1a48de3c6649137f29dc6 100644 (file)
@@ -55,7 +55,7 @@ unsigned AlphaTargetMachine::getJITMatchQuality() {
 
 AlphaTargetMachine::AlphaTargetMachine(const Module &M, const std::string &FS)
   : TargetMachine("alpha"),
-    DataLayout("alpha", true),
+    DataLayout(std::string("alpha"), std::string("e")),
     FrameInfo(TargetFrameInfo::StackGrowsDown, 16, 0),
     JITInfo(*this),
     Subtarget(M, FS)
index 8e31a3810faf185621ddf5d30be64adb2db1bdbc..f51da17564ca5da556c77934879431ab52a97e28 100644 (file)
@@ -76,7 +76,7 @@ unsigned IA64TargetMachine::getModuleMatchQuality(const Module &M) {
 /// IA64TargetMachine ctor - Create an LP64 architecture model
 ///
 IA64TargetMachine::IA64TargetMachine(const Module &M, const std::string &FS)
-  : TargetMachine("IA64"), DataLayout("IA64", true),
+  : TargetMachine("IA64"), DataLayout(std::string("IA64"), std::string("e")),
     FrameInfo(TargetFrameInfo::StackGrowsDown, 16, 0),
     TLInfo(*this) { // FIXME? check this stuff
 }
index fd9df20b77cf3a7f769e67709db4a0b448dd308f..0ac093ceb5154906e772a1efe9e38d36f25bed4d 100644 (file)
@@ -59,7 +59,7 @@ unsigned PPCTargetMachine::getModuleMatchQuality(const Module &M) {
 
 PPCTargetMachine::PPCTargetMachine(const Module &M, const std::string &FS)
 : TargetMachine("PowerPC"),
-  DataLayout("PowerPC", false, 4, 4, 4, 4, 4),
+  DataLayout(std::string("PowerPC"), std::string("E-p:32:32-d:64:32-l:64:32")),
   Subtarget(M, FS), FrameInfo(*this, false), JITInfo(*this),
   TLInfo(*this), InstrItins(Subtarget.getInstrItineraryData()) {
   if (TargetDefault == PPCTarget) {
index ad72cf7886ccbac3862a56198e740f59578b90dc..cb5b1b3e538a75a233b81deba11c1cc7a78836d0 100644 (file)
@@ -32,7 +32,7 @@ namespace {
 ///
 SparcTargetMachine::SparcTargetMachine(const Module &M, const std::string &FS)
   : TargetMachine("Sparc"),
-    DataLayout("Sparc", false, 4, 4),
+    DataLayout(std::string("Sparc"), std::string("e-p:32:32")),
     Subtarget(M, FS), InstrInfo(Subtarget),
     FrameInfo(TargetFrameInfo::StackGrowsDown, 8, 0) {
 }
index ad13b1ef4e38ee390919897fd43bf0d97969b0c2..7bb77636c815d87a7484b76fa9efbb9fea1b9e64 100644 (file)
@@ -123,6 +123,10 @@ TargetData::TargetData(const std::string &TargetName,
 
 TargetData::TargetData(const std::string &TargetName,
                        const std::string &TargetDescription) {
+  assert(!TargetName.empty() &&
+         "ERROR: Tool did not specify a target data to use!");
+
+                       
   std::string temp = TargetDescription;
   
   LittleEndian = false;
@@ -136,7 +140,7 @@ TargetData::TargetData(const std::string &TargetName,
   ByteAlignment  = 1;
   BoolAlignment   = 1;
   
-  while (temp.length() > 0) {
+  while (!temp.empty()) {
     std::string token = getToken(temp, "-");
     
     char signal = getToken(token, ":")[0];
index 4791f028ea99e4c6c0e053b422268ae952e95eab..cbe1e76186d767015b0bd90d1604ea273faf3d0e 100644 (file)
@@ -69,7 +69,7 @@ unsigned X86TargetMachine::getModuleMatchQuality(const Module &M) {
 ///
 X86TargetMachine::X86TargetMachine(const Module &M, const std::string &FS)
   : TargetMachine("X86"),
-    DataLayout("X86", true, 4, 4, 4, 4, 4),
+    DataLayout(std::string("X86"), std::string("e-p:32:32-d:64:32-l:64:32")),
     Subtarget(M, FS),
     FrameInfo(TargetFrameInfo::StackGrowsDown,
               Subtarget.getStackAlignment(), -4),