aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/Target/Alpha/AlphaTargetMachine.cpp5
-rw-r--r--lib/Target/Alpha/AlphaTargetMachine.h4
-rw-r--r--lib/Target/CBackend/CBackend.cpp6
-rw-r--r--lib/Target/CBackend/CTargetMachine.h6
-rw-r--r--lib/Target/CBackend/Writer.cpp6
-rw-r--r--lib/Target/IA64/IA64TargetMachine.cpp6
-rw-r--r--lib/Target/IA64/IA64TargetMachine.h4
-rw-r--r--lib/Target/PowerPC/PPCTargetMachine.cpp6
-rw-r--r--lib/Target/PowerPC/PPCTargetMachine.h5
-rw-r--r--lib/Target/Sparc/SparcTargetMachine.cpp5
-rw-r--r--lib/Target/Sparc/SparcTargetMachine.h4
-rw-r--r--lib/Target/SparcV9/SparcV9BurgISel.cpp3
-rw-r--r--lib/Target/SparcV9/SparcV9TargetMachine.cpp6
-rw-r--r--lib/Target/SparcV9/SparcV9TargetMachine.h3
-rw-r--r--lib/Target/TargetMachine.cpp14
-rw-r--r--lib/Target/X86/X86TargetMachine.cpp7
-rw-r--r--lib/Target/X86/X86TargetMachine.h4
17 files changed, 31 insertions, 63 deletions
diff --git a/lib/Target/Alpha/AlphaTargetMachine.cpp b/lib/Target/Alpha/AlphaTargetMachine.cpp
index dd593d1c0b..2daaab2d6d 100644
--- a/lib/Target/Alpha/AlphaTargetMachine.cpp
+++ b/lib/Target/Alpha/AlphaTargetMachine.cpp
@@ -53,9 +53,8 @@ unsigned AlphaTargetMachine::getJITMatchQuality() {
#endif
}
-AlphaTargetMachine::AlphaTargetMachine(const Module &M, IntrinsicLowering *IL,
- const std::string &FS)
- : TargetMachine("alpha", IL, true),
+AlphaTargetMachine::AlphaTargetMachine(const Module &M, const std::string &FS)
+ : TargetMachine("alpha", true),
FrameInfo(TargetFrameInfo::StackGrowsDown, 16, 0),
JITInfo(*this),
Subtarget(M, FS)
diff --git a/lib/Target/Alpha/AlphaTargetMachine.h b/lib/Target/Alpha/AlphaTargetMachine.h
index 20ae44c7e1..8f6caeb6c2 100644
--- a/lib/Target/Alpha/AlphaTargetMachine.h
+++ b/lib/Target/Alpha/AlphaTargetMachine.h
@@ -24,7 +24,6 @@
namespace llvm {
class GlobalValue;
-class IntrinsicLowering;
class AlphaTargetMachine : public TargetMachine {
AlphaInstrInfo InstrInfo;
@@ -33,8 +32,7 @@ class AlphaTargetMachine : public TargetMachine {
AlphaSubtarget Subtarget;
public:
- AlphaTargetMachine(const Module &M, IntrinsicLowering *IL,
- const std::string &FS);
+ AlphaTargetMachine(const Module &M, const std::string &FS);
virtual const AlphaInstrInfo *getInstrInfo() const { return &InstrInfo; }
virtual const TargetFrameInfo *getFrameInfo() const { return &FrameInfo; }
diff --git a/lib/Target/CBackend/CBackend.cpp b/lib/Target/CBackend/CBackend.cpp
index 89881897cd..53893870df 100644
--- a/lib/Target/CBackend/CBackend.cpp
+++ b/lib/Target/CBackend/CBackend.cpp
@@ -67,7 +67,7 @@ namespace {
/// module to a C translation unit.
class CWriter : public FunctionPass, public InstVisitor<CWriter> {
std::ostream &Out;
- IntrinsicLowering &IL;
+ DefaultIntrinsicLowering IL;
Mangler *Mang;
LoopInfo *LI;
const Module *TheModule;
@@ -75,7 +75,7 @@ namespace {
std::map<const ConstantFP *, unsigned> FPConstantMap;
public:
- CWriter(std::ostream &o, IntrinsicLowering &il) : Out(o), IL(il) {}
+ CWriter(std::ostream &o) : Out(o) {}
virtual const char *getPassName() const { return "C backend"; }
@@ -1931,6 +1931,6 @@ bool CTargetMachine::addPassesToEmitFile(PassManager &PM, std::ostream &o,
PM.add(createLowerInvokePass());
PM.add(createCFGSimplificationPass()); // clean up after lower invoke.
PM.add(new CBackendNameAllUsedStructsAndMergeFunctions());
- PM.add(new CWriter(o, getIntrinsicLowering()));
+ PM.add(new CWriter(o));
return false;
}
diff --git a/lib/Target/CBackend/CTargetMachine.h b/lib/Target/CBackend/CTargetMachine.h
index f5894aab83..f947f650c6 100644
--- a/lib/Target/CBackend/CTargetMachine.h
+++ b/lib/Target/CBackend/CTargetMachine.h
@@ -17,12 +17,10 @@
#include "llvm/Target/TargetMachine.h"
namespace llvm {
-class IntrinsicLowering;
struct CTargetMachine : public TargetMachine {
- CTargetMachine(const Module &M, IntrinsicLowering *IL,
- const std::string &FS) :
- TargetMachine("CBackend", IL, M) {}
+ CTargetMachine(const Module &M, const std::string &FS)
+ : TargetMachine("CBackend", M) {}
// This is the only thing that actually does anything here.
virtual bool addPassesToEmitFile(PassManager &PM, std::ostream &Out,
diff --git a/lib/Target/CBackend/Writer.cpp b/lib/Target/CBackend/Writer.cpp
index 89881897cd..53893870df 100644
--- a/lib/Target/CBackend/Writer.cpp
+++ b/lib/Target/CBackend/Writer.cpp
@@ -67,7 +67,7 @@ namespace {
/// module to a C translation unit.
class CWriter : public FunctionPass, public InstVisitor<CWriter> {
std::ostream &Out;
- IntrinsicLowering &IL;
+ DefaultIntrinsicLowering IL;
Mangler *Mang;
LoopInfo *LI;
const Module *TheModule;
@@ -75,7 +75,7 @@ namespace {
std::map<const ConstantFP *, unsigned> FPConstantMap;
public:
- CWriter(std::ostream &o, IntrinsicLowering &il) : Out(o), IL(il) {}
+ CWriter(std::ostream &o) : Out(o) {}
virtual const char *getPassName() const { return "C backend"; }
@@ -1931,6 +1931,6 @@ bool CTargetMachine::addPassesToEmitFile(PassManager &PM, std::ostream &o,
PM.add(createLowerInvokePass());
PM.add(createCFGSimplificationPass()); // clean up after lower invoke.
PM.add(new CBackendNameAllUsedStructsAndMergeFunctions());
- PM.add(new CWriter(o, getIntrinsicLowering()));
+ PM.add(new CWriter(o));
return false;
}
diff --git a/lib/Target/IA64/IA64TargetMachine.cpp b/lib/Target/IA64/IA64TargetMachine.cpp
index 9757b991b6..4c7af41479 100644
--- a/lib/Target/IA64/IA64TargetMachine.cpp
+++ b/lib/Target/IA64/IA64TargetMachine.cpp
@@ -15,7 +15,6 @@
#include "IA64.h"
#include "llvm/Module.h"
#include "llvm/PassManager.h"
-#include "llvm/CodeGen/IntrinsicLowering.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/Passes.h"
#include "llvm/Target/TargetOptions.h"
@@ -76,9 +75,8 @@ unsigned IA64TargetMachine::getModuleMatchQuality(const Module &M) {
/// IA64TargetMachine ctor - Create an LP64 architecture model
///
-IA64TargetMachine::IA64TargetMachine(const Module &M, IntrinsicLowering *IL,
- const std::string &FS)
- : TargetMachine("IA64", IL, true),
+IA64TargetMachine::IA64TargetMachine(const Module &M, const std::string &FS)
+ : TargetMachine("IA64", true),
FrameInfo(TargetFrameInfo::StackGrowsDown, 16, 0),
TLInfo(*this) { // FIXME? check this stuff
}
diff --git a/lib/Target/IA64/IA64TargetMachine.h b/lib/Target/IA64/IA64TargetMachine.h
index fb633bc51e..7b9342ece5 100644
--- a/lib/Target/IA64/IA64TargetMachine.h
+++ b/lib/Target/IA64/IA64TargetMachine.h
@@ -21,7 +21,6 @@
#include "IA64ISelLowering.h"
namespace llvm {
-class IntrinsicLowering;
class IA64TargetMachine : public TargetMachine {
IA64InstrInfo InstrInfo;
@@ -29,8 +28,7 @@ class IA64TargetMachine : public TargetMachine {
//IA64JITInfo JITInfo;
IA64TargetLowering TLInfo;
public:
- IA64TargetMachine(const Module &M, IntrinsicLowering *IL,
- const std::string &FS);
+ IA64TargetMachine(const Module &M, const std::string &FS);
virtual const IA64InstrInfo *getInstrInfo() const { return &InstrInfo; }
virtual const TargetFrameInfo *getFrameInfo() const { return &FrameInfo; }
diff --git a/lib/Target/PowerPC/PPCTargetMachine.cpp b/lib/Target/PowerPC/PPCTargetMachine.cpp
index 8985a4364f..60829560a3 100644
--- a/lib/Target/PowerPC/PPCTargetMachine.cpp
+++ b/lib/Target/PowerPC/PPCTargetMachine.cpp
@@ -18,7 +18,6 @@
#include "llvm/Module.h"
#include "llvm/PassManager.h"
#include "llvm/Analysis/Verifier.h"
-#include "llvm/CodeGen/IntrinsicLowering.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/Passes.h"
#include "llvm/Target/TargetOptions.h"
@@ -58,9 +57,8 @@ unsigned PPCTargetMachine::getModuleMatchQuality(const Module &M) {
return getJITMatchQuality()/2;
}
-PPCTargetMachine::PPCTargetMachine(const Module &M, IntrinsicLowering *IL,
- const std::string &FS)
-: TargetMachine("PowerPC", IL, false, 4, 4, 4, 4, 4, 4, 2, 1, 1),
+PPCTargetMachine::PPCTargetMachine(const Module &M, const std::string &FS)
+: TargetMachine("PowerPC", false, 4, 4, 4, 4, 4, 4, 2, 1, 1),
Subtarget(M, FS), FrameInfo(*this, false), JITInfo(*this),
TLInfo(*this), InstrItins(Subtarget.getInstrItineraryData()) {
if (TargetDefault == PPCTarget) {
diff --git a/lib/Target/PowerPC/PPCTargetMachine.h b/lib/Target/PowerPC/PPCTargetMachine.h
index 4038a2a84f..3b2e481c7b 100644
--- a/lib/Target/PowerPC/PPCTargetMachine.h
+++ b/lib/Target/PowerPC/PPCTargetMachine.h
@@ -23,9 +23,7 @@
namespace llvm {
class PassManager;
-class IntrinsicLowering;
class GlobalValue;
-class IntrinsicLowering;
class PPCTargetMachine : public TargetMachine {
PPCInstrInfo InstrInfo;
@@ -35,8 +33,7 @@ class PPCTargetMachine : public TargetMachine {
PPCTargetLowering TLInfo;
InstrItineraryData InstrItins;
public:
- PPCTargetMachine(const Module &M, IntrinsicLowering *IL,
- const std::string &FS);
+ PPCTargetMachine(const Module &M, const std::string &FS);
virtual const PPCInstrInfo *getInstrInfo() const { return &InstrInfo; }
virtual const TargetFrameInfo *getFrameInfo() const { return &FrameInfo; }
diff --git a/lib/Target/Sparc/SparcTargetMachine.cpp b/lib/Target/Sparc/SparcTargetMachine.cpp
index 2b545ac04a..565ccb9bc1 100644
--- a/lib/Target/Sparc/SparcTargetMachine.cpp
+++ b/lib/Target/Sparc/SparcTargetMachine.cpp
@@ -30,9 +30,8 @@ namespace {
/// SparcTargetMachine ctor - Create an ILP32 architecture model
///
-SparcTargetMachine::SparcTargetMachine(const Module &M, IntrinsicLowering *IL,
- const std::string &FS)
- : TargetMachine("Sparc", IL, false, 4, 4),
+SparcTargetMachine::SparcTargetMachine(const Module &M, const std::string &FS)
+ : TargetMachine("Sparc", false, 4, 4),
Subtarget(M, FS), InstrInfo(Subtarget),
FrameInfo(TargetFrameInfo::StackGrowsDown, 8, 0) {
}
diff --git a/lib/Target/Sparc/SparcTargetMachine.h b/lib/Target/Sparc/SparcTargetMachine.h
index 196ad753d2..0cad652f71 100644
--- a/lib/Target/Sparc/SparcTargetMachine.h
+++ b/lib/Target/Sparc/SparcTargetMachine.h
@@ -22,7 +22,6 @@
namespace llvm {
-class IntrinsicLowering;
class Module;
class SparcTargetMachine : public TargetMachine {
@@ -30,8 +29,7 @@ class SparcTargetMachine : public TargetMachine {
SparcInstrInfo InstrInfo;
TargetFrameInfo FrameInfo;
public:
- SparcTargetMachine(const Module &M, IntrinsicLowering *IL,
- const std::string &FS);
+ SparcTargetMachine(const Module &M, const std::string &FS);
virtual const SparcInstrInfo *getInstrInfo() const { return &InstrInfo; }
virtual const TargetFrameInfo *getFrameInfo() const { return &FrameInfo; }
diff --git a/lib/Target/SparcV9/SparcV9BurgISel.cpp b/lib/Target/SparcV9/SparcV9BurgISel.cpp
index 1c03a9eb86..dcb99a7fb3 100644
--- a/lib/Target/SparcV9/SparcV9BurgISel.cpp
+++ b/lib/Target/SparcV9/SparcV9BurgISel.cpp
@@ -4356,6 +4356,7 @@ void GetInstructionsByRule(InstructionNode* subtreeRoot, int ruleForNode,
//==------------------------------------------------------------------------==//
bool V9ISel::runOnFunction(Function &F) {
+ DefaultIntrinsicLowering IL;
// First pass - Walk the function, lowering any calls to intrinsic functions
// which the instruction selector cannot handle.
for (Function::iterator BB = F.begin(), E = F.end(); BB != E; ++BB)
@@ -4376,7 +4377,7 @@ bool V9ISel::runOnFunction(Function &F) {
default:
// All other intrinsic calls we must lower.
Instruction *Before = CI->getPrev();
- Target.getIntrinsicLowering().LowerIntrinsicCall(CI);
+ IL.LowerIntrinsicCall(CI);
if (Before) { // Move iterator to instruction after call
I = Before; ++I;
} else {
diff --git a/lib/Target/SparcV9/SparcV9TargetMachine.cpp b/lib/Target/SparcV9/SparcV9TargetMachine.cpp
index 0748018682..a0d76bb437 100644
--- a/lib/Target/SparcV9/SparcV9TargetMachine.cpp
+++ b/lib/Target/SparcV9/SparcV9TargetMachine.cpp
@@ -17,7 +17,6 @@
#include "llvm/PassManager.h"
#include "llvm/Assembly/PrintModulePass.h"
#include "llvm/CodeGen/InstrScheduling.h"
-#include "llvm/CodeGen/IntrinsicLowering.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/Passes.h"
#include "llvm/Target/TargetOptions.h"
@@ -147,10 +146,9 @@ FunctionPass *llvm::createSparcV9MachineCodeDestructionPass() {
}
-SparcV9TargetMachine::SparcV9TargetMachine(const Module &M,
- IntrinsicLowering *il,
+SparcV9TargetMachine::SparcV9TargetMachine(const Module &M,
const std::string &FS)
- : TargetMachine("UltraSparcV9-Native", il, false),
+ : TargetMachine("UltraSparcV9-Native", false),
schedInfo(*this),
regInfo(*this),
frameInfo(*this),
diff --git a/lib/Target/SparcV9/SparcV9TargetMachine.h b/lib/Target/SparcV9/SparcV9TargetMachine.h
index 1f832825b2..3bbb6a4d69 100644
--- a/lib/Target/SparcV9/SparcV9TargetMachine.h
+++ b/lib/Target/SparcV9/SparcV9TargetMachine.h
@@ -32,8 +32,7 @@ class SparcV9TargetMachine : public TargetMachine {
SparcV9FrameInfo frameInfo;
SparcV9JITInfo jitInfo;
public:
- SparcV9TargetMachine(const Module &M, IntrinsicLowering *IL,
- const std::string &FS);
+ SparcV9TargetMachine(const Module &M, const std::string &FS);
virtual const TargetInstrInfo *getInstrInfo() const { return &instrInfo; }
virtual const TargetSchedInfo *getSchedInfo() const { return &schedInfo; }
diff --git a/lib/Target/TargetMachine.cpp b/lib/Target/TargetMachine.cpp
index a2a4200b06..74c90ed54e 100644
--- a/lib/Target/TargetMachine.cpp
+++ b/lib/Target/TargetMachine.cpp
@@ -14,7 +14,6 @@
#include "llvm/Target/TargetMachine.h"
#include "llvm/Target/TargetOptions.h"
#include "llvm/Type.h"
-#include "llvm/CodeGen/IntrinsicLowering.h"
#include "llvm/Support/CommandLine.h"
using namespace llvm;
@@ -70,8 +69,7 @@ namespace {
//---------------------------------------------------------------------------
// TargetMachine Class
//
-TargetMachine::TargetMachine(const std::string &name, IntrinsicLowering *il,
- bool LittleEndian,
+TargetMachine::TargetMachine(const std::string &name, bool LittleEndian,
unsigned char PtrSize, unsigned char PtrAl,
unsigned char DoubleAl, unsigned char FloatAl,
unsigned char LongAl, unsigned char IntAl,
@@ -80,23 +78,17 @@ TargetMachine::TargetMachine(const std::string &name, IntrinsicLowering *il,
: Name(name), DataLayout(name, LittleEndian,
PtrSize, PtrAl, DoubleAl, FloatAl, LongAl,
IntAl, ShortAl, ByteAl, BoolAl) {
- IL = il ? il : new DefaultIntrinsicLowering();
}
-TargetMachine::TargetMachine(const std::string &name, IntrinsicLowering *il,
- const TargetData &TD)
+TargetMachine::TargetMachine(const std::string &name, const TargetData &TD)
: Name(name), DataLayout(TD) {
- IL = il ? il : new DefaultIntrinsicLowering();
}
-TargetMachine::TargetMachine(const std::string &name, IntrinsicLowering *il,
- const Module &M)
+TargetMachine::TargetMachine(const std::string &name, const Module &M)
: Name(name), DataLayout(name, &M) {
- IL = il ? il : new DefaultIntrinsicLowering();
}
TargetMachine::~TargetMachine() {
- delete IL;
}
/// getRelocationModel - Returns the code generation relocation model. The
diff --git a/lib/Target/X86/X86TargetMachine.cpp b/lib/Target/X86/X86TargetMachine.cpp
index ef603ea107..f6d34ea2df 100644
--- a/lib/Target/X86/X86TargetMachine.cpp
+++ b/lib/Target/X86/X86TargetMachine.cpp
@@ -15,7 +15,6 @@
#include "X86.h"
#include "llvm/Module.h"
#include "llvm/PassManager.h"
-#include "llvm/CodeGen/IntrinsicLowering.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/Passes.h"
#include "llvm/Target/TargetOptions.h"
@@ -69,10 +68,8 @@ unsigned X86TargetMachine::getModuleMatchQuality(const Module &M) {
/// X86TargetMachine ctor - Create an ILP32 architecture model
///
-X86TargetMachine::X86TargetMachine(const Module &M,
- IntrinsicLowering *IL,
- const std::string &FS)
- : TargetMachine("X86", IL, true, 4, 4, 4, 4, 4),
+X86TargetMachine::X86TargetMachine(const Module &M, const std::string &FS)
+ : TargetMachine("X86", true, 4, 4, 4, 4, 4),
Subtarget(M, FS),
FrameInfo(TargetFrameInfo::StackGrowsDown,
Subtarget.getStackAlignment(), -4),
diff --git a/lib/Target/X86/X86TargetMachine.h b/lib/Target/X86/X86TargetMachine.h
index f63fc34bcd..4ad0722354 100644
--- a/lib/Target/X86/X86TargetMachine.h
+++ b/lib/Target/X86/X86TargetMachine.h
@@ -24,7 +24,6 @@
#include "X86ISelLowering.h"
namespace llvm {
-class IntrinsicLowering;
class X86TargetMachine : public TargetMachine {
X86InstrInfo InstrInfo;
@@ -33,8 +32,7 @@ class X86TargetMachine : public TargetMachine {
X86JITInfo JITInfo;
X86TargetLowering TLInfo;
public:
- X86TargetMachine(const Module &M, IntrinsicLowering *IL,
- const std::string &FS);
+ X86TargetMachine(const Module &M, const std::string &FS);
virtual const X86InstrInfo *getInstrInfo() const { return &InstrInfo; }
virtual const TargetFrameInfo *getFrameInfo() const { return &FrameInfo; }