Eliminate IntrinsicLowering from TargetMachine.
Make the CBE and V9 backends create their own, since they're the only ones that use it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26974 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Target/CBackend/CBackend.cpp b/lib/Target/CBackend/CBackend.cpp
index 8988189..5389387 100644
--- a/lib/Target/CBackend/CBackend.cpp
+++ b/lib/Target/CBackend/CBackend.cpp
@@ -67,7 +67,7 @@
/// 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 @@
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 @@
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 f5894aa..f947f65 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 8988189..5389387 100644
--- a/lib/Target/CBackend/Writer.cpp
+++ b/lib/Target/CBackend/Writer.cpp
@@ -67,7 +67,7 @@
/// 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 @@
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 @@
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;
}