From d988b32abad0634df07c18629e899f256935fde7 Mon Sep 17 00:00:00 2001 From: Owen Anderson Date: Sat, 20 May 2006 00:24:56 +0000 Subject: [PATCH] Make all of the TargetMachine subclasses use the new string TargetData methods. 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 | 2 +- lib/Target/Alpha/AlphaTargetMachine.cpp | 2 +- lib/Target/IA64/IA64TargetMachine.cpp | 2 +- lib/Target/PowerPC/PPCTargetMachine.cpp | 2 +- lib/Target/Sparc/SparcTargetMachine.cpp | 2 +- lib/Target/TargetData.cpp | 6 +++++- lib/Target/X86/X86TargetMachine.cpp | 2 +- 7 files changed, 11 insertions(+), 7 deletions(-) diff --git a/lib/Target/ARM/ARMTargetMachine.cpp b/lib/Target/ARM/ARMTargetMachine.cpp index 7520cdc5e8b..45d72419100 100644 --- a/lib/Target/ARM/ARMTargetMachine.cpp +++ b/lib/Target/ARM/ARMTargetMachine.cpp @@ -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) { } diff --git a/lib/Target/Alpha/AlphaTargetMachine.cpp b/lib/Target/Alpha/AlphaTargetMachine.cpp index 2970f8201b2..f7fd8e0e166 100644 --- a/lib/Target/Alpha/AlphaTargetMachine.cpp +++ b/lib/Target/Alpha/AlphaTargetMachine.cpp @@ -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) diff --git a/lib/Target/IA64/IA64TargetMachine.cpp b/lib/Target/IA64/IA64TargetMachine.cpp index 8e31a3810fa..f51da17564c 100644 --- a/lib/Target/IA64/IA64TargetMachine.cpp +++ b/lib/Target/IA64/IA64TargetMachine.cpp @@ -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 } diff --git a/lib/Target/PowerPC/PPCTargetMachine.cpp b/lib/Target/PowerPC/PPCTargetMachine.cpp index fd9df20b77c..0ac093ceb51 100644 --- a/lib/Target/PowerPC/PPCTargetMachine.cpp +++ b/lib/Target/PowerPC/PPCTargetMachine.cpp @@ -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) { diff --git a/lib/Target/Sparc/SparcTargetMachine.cpp b/lib/Target/Sparc/SparcTargetMachine.cpp index ad72cf7886c..cb5b1b3e538 100644 --- a/lib/Target/Sparc/SparcTargetMachine.cpp +++ b/lib/Target/Sparc/SparcTargetMachine.cpp @@ -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) { } diff --git a/lib/Target/TargetData.cpp b/lib/Target/TargetData.cpp index ad13b1ef4e3..7bb77636c81 100644 --- a/lib/Target/TargetData.cpp +++ b/lib/Target/TargetData.cpp @@ -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]; diff --git a/lib/Target/X86/X86TargetMachine.cpp b/lib/Target/X86/X86TargetMachine.cpp index 4791f028ea9..cbe1e76186d 100644 --- a/lib/Target/X86/X86TargetMachine.cpp +++ b/lib/Target/X86/X86TargetMachine.cpp @@ -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), -- 2.34.1