diff options
author | Chris Lattner <sabre@nondot.org> | 2003-08-24 19:49:48 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2003-08-24 19:49:48 +0000 |
commit | bb144a892b51ee4dc53471c490bda28de3cbcd79 (patch) | |
tree | 2a5f2c02164f65ee4309d560c181c872cfc7f88d /lib/Target | |
parent | e3ac7565a05145e736771ef55b625a64633a23ec (diff) | |
download | external_llvm-bb144a892b51ee4dc53471c490bda28de3cbcd79.zip external_llvm-bb144a892b51ee4dc53471c490bda28de3cbcd79.tar.gz external_llvm-bb144a892b51ee4dc53471c490bda28de3cbcd79.tar.bz2 |
Targets should configure themselves based on a Module, not some wierd flags
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8132 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target')
-rw-r--r-- | lib/Target/SparcV9/SparcV9TargetMachine.cpp | 2 | ||||
-rw-r--r-- | lib/Target/X86/X86TargetMachine.cpp | 20 | ||||
-rw-r--r-- | lib/Target/X86/X86TargetMachine.h | 2 |
3 files changed, 12 insertions, 12 deletions
diff --git a/lib/Target/SparcV9/SparcV9TargetMachine.cpp b/lib/Target/SparcV9/SparcV9TargetMachine.cpp index 83d1566..e84a6eb 100644 --- a/lib/Target/SparcV9/SparcV9TargetMachine.cpp +++ b/lib/Target/SparcV9/SparcV9TargetMachine.cpp @@ -61,7 +61,7 @@ static cl::opt<bool> DumpInput("dump-input", // that implements the Sparc backend. (the llvm/CodeGen/Sparc.h interface) //---------------------------------------------------------------------------- -TargetMachine *allocateSparcTargetMachine(unsigned Configuration) { +TargetMachine *allocateSparcTargetMachine(const Module &M) { return new UltraSparc(); } diff --git a/lib/Target/X86/X86TargetMachine.cpp b/lib/Target/X86/X86TargetMachine.cpp index 6a88390..60f8bbc 100644 --- a/lib/Target/X86/X86TargetMachine.cpp +++ b/lib/Target/X86/X86TargetMachine.cpp @@ -6,6 +6,7 @@ #include "X86TargetMachine.h" #include "X86.h" +#include "llvm/Module.h" #include "llvm/PassManager.h" #include "llvm/Target/TargetMachineImpls.h" #include "llvm/CodeGen/MachineFunction.h" @@ -13,7 +14,6 @@ #include "llvm/Transforms/Scalar.h" #include "Support/CommandLine.h" #include "Support/Statistic.h" -#include <iostream> namespace { cl::opt<bool> NoLocalRA("disable-local-ra", @@ -27,21 +27,21 @@ namespace { // allocateX86TargetMachine - Allocate and return a subclass of TargetMachine // that implements the X86 backend. // -TargetMachine *allocateX86TargetMachine(unsigned Configuration) { - return new X86TargetMachine(Configuration); +TargetMachine *allocateX86TargetMachine(const Module &M) { + return new X86TargetMachine(M); } /// X86TargetMachine ctor - Create an ILP32 architecture model /// -X86TargetMachine::X86TargetMachine(unsigned Config) +X86TargetMachine::X86TargetMachine(const Module &M) : TargetMachine("X86", - (Config & TM::EndianMask) == TM::LittleEndian, - (Config & TM::PtrSizeMask) == TM::PtrSize64 ? 8 : 4, - (Config & TM::PtrSizeMask) == TM::PtrSize64 ? 8 : 4, - (Config & TM::PtrSizeMask) == TM::PtrSize64 ? 8 : 4, - 4, (Config & TM::PtrSizeMask) == TM::PtrSize64 ? 8 : 4), - FrameInfo(TargetFrameInfo::StackGrowsDown, 8/*16 for SSE*/, 4) { + M.getEndianness() != Module::BigEndian, + M.getPointerSize() != Module::Pointer64 ? 4 : 8, + M.getPointerSize() != Module::Pointer64 ? 4 : 8, + M.getPointerSize() != Module::Pointer64 ? 4 : 8, + 4, M.getPointerSize() != Module::Pointer64 ? 4 : 8), + FrameInfo(TargetFrameInfo::StackGrowsDown, 8/*16 for SSE*/, 4) { } diff --git a/lib/Target/X86/X86TargetMachine.h b/lib/Target/X86/X86TargetMachine.h index 631b42a..07c4608 100644 --- a/lib/Target/X86/X86TargetMachine.h +++ b/lib/Target/X86/X86TargetMachine.h @@ -16,7 +16,7 @@ class X86TargetMachine : public TargetMachine { X86InstrInfo InstrInfo; TargetFrameInfo FrameInfo; public: - X86TargetMachine(unsigned Configuration); + X86TargetMachine(const Module &M); virtual const X86InstrInfo &getInstrInfo() const { return InstrInfo; } virtual const TargetFrameInfo &getFrameInfo() const { return FrameInfo; } |