From 6f95ab7abbdaac36d1781d05a96df8a15859c2bf Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Thu, 23 Mar 2006 05:43:16 +0000 Subject: Eliminate IntrinsicLowering from TargetMachine. Make the CBE and V9 backends create their own, since they're the only ones that use it. llvm-svn: 26974 --- llvm/lib/Target/SparcV9/SparcV9BurgISel.cpp | 3 ++- llvm/lib/Target/SparcV9/SparcV9TargetMachine.cpp | 6 ++---- llvm/lib/Target/SparcV9/SparcV9TargetMachine.h | 3 +-- 3 files changed, 5 insertions(+), 7 deletions(-) (limited to 'llvm/lib/Target/SparcV9') diff --git a/llvm/lib/Target/SparcV9/SparcV9BurgISel.cpp b/llvm/lib/Target/SparcV9/SparcV9BurgISel.cpp index 1c03a9eb869..dcb99a7fb34 100644 --- a/llvm/lib/Target/SparcV9/SparcV9BurgISel.cpp +++ b/llvm/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/llvm/lib/Target/SparcV9/SparcV9TargetMachine.cpp b/llvm/lib/Target/SparcV9/SparcV9TargetMachine.cpp index 0748018682d..a0d76bb4372 100644 --- a/llvm/lib/Target/SparcV9/SparcV9TargetMachine.cpp +++ b/llvm/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/llvm/lib/Target/SparcV9/SparcV9TargetMachine.h b/llvm/lib/Target/SparcV9/SparcV9TargetMachine.h index 1f832825b2a..3bbb6a4d695 100644 --- a/llvm/lib/Target/SparcV9/SparcV9TargetMachine.h +++ b/llvm/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; } -- cgit v1.2.3