summaryrefslogtreecommitdiffstats
path: root/lib/Target
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2003-08-24 19:49:48 +0000
committerChris Lattner <sabre@nondot.org>2003-08-24 19:49:48 +0000
commitbb144a892b51ee4dc53471c490bda28de3cbcd79 (patch)
tree2a5f2c02164f65ee4309d560c181c872cfc7f88d /lib/Target
parente3ac7565a05145e736771ef55b625a64633a23ec (diff)
downloadexternal_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.cpp2
-rw-r--r--lib/Target/X86/X86TargetMachine.cpp20
-rw-r--r--lib/Target/X86/X86TargetMachine.h2
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; }