summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorBill Wendling <isanbard@gmail.com>2013-06-19 21:36:55 +0000
committerBill Wendling <isanbard@gmail.com>2013-06-19 21:36:55 +0000
commitba54bca472a15d0657e1b88776f7069042b60b4e (patch)
tree948ecae4dce7537acc3510cac2c64ab8ff313380 /include
parentce1164be37e60f44057303fbf7ac02167012eba5 (diff)
downloadllvm-ba54bca472a15d0657e1b88776f7069042b60b4e.tar.gz
llvm-ba54bca472a15d0657e1b88776f7069042b60b4e.tar.bz2
llvm-ba54bca472a15d0657e1b88776f7069042b60b4e.tar.xz
Access the TargetLoweringInfo from the TargetMachine object instead of caching it. The TLI may change between functions. No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184360 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r--include/llvm/CodeGen/SelectionDAG.h5
-rw-r--r--include/llvm/CodeGen/SelectionDAGISel.h10
2 files changed, 8 insertions, 7 deletions
diff --git a/include/llvm/CodeGen/SelectionDAG.h b/include/llvm/CodeGen/SelectionDAG.h
index 263907455f..741eb08f72 100644
--- a/include/llvm/CodeGen/SelectionDAG.h
+++ b/include/llvm/CodeGen/SelectionDAG.h
@@ -129,7 +129,6 @@ void checkForCycles(const SelectionDAG *DAG);
///
class SelectionDAG {
const TargetMachine &TM;
- const TargetLowering &TLI;
const TargetSelectionDAGInfo &TSI;
const TargetTransformInfo *TTI;
MachineFunction *MF;
@@ -232,7 +231,9 @@ public:
MachineFunction &getMachineFunction() const { return *MF; }
const TargetMachine &getTarget() const { return TM; }
- const TargetLowering &getTargetLoweringInfo() const { return TLI; }
+ const TargetLowering &getTargetLoweringInfo() const {
+ return *TM.getTargetLowering();
+ }
const TargetSelectionDAGInfo &getSelectionDAGInfo() const { return TSI; }
const TargetTransformInfo *getTargetTransformInfo() const { return TTI; }
LLVMContext *getContext() const {return Context; }
diff --git a/include/llvm/CodeGen/SelectionDAGISel.h b/include/llvm/CodeGen/SelectionDAGISel.h
index 37bbc1f776..3d55d3a06b 100644
--- a/include/llvm/CodeGen/SelectionDAGISel.h
+++ b/include/llvm/CodeGen/SelectionDAGISel.h
@@ -30,7 +30,6 @@ namespace llvm {
class MachineInstr;
class TargetLowering;
class TargetLibraryInfo;
- class TargetInstrInfo;
class TargetTransformInfo;
class FunctionLoweringInfo;
class ScheduleHazardRecognizer;
@@ -42,8 +41,7 @@ namespace llvm {
/// pattern-matching instruction selectors.
class SelectionDAGISel : public MachineFunctionPass {
public:
- const TargetMachine &TM;
- const TargetLowering *TLI;
+ TargetMachine &TM;
const TargetLibraryInfo *LibInfo;
const TargetTransformInfo *TTI;
FunctionLoweringInfo *FuncInfo;
@@ -56,11 +54,13 @@ public:
CodeGenOpt::Level OptLevel;
static char ID;
- explicit SelectionDAGISel(const TargetMachine &tm,
+ explicit SelectionDAGISel(TargetMachine &tm,
CodeGenOpt::Level OL = CodeGenOpt::Default);
virtual ~SelectionDAGISel();
- const TargetLowering *getTargetLowering() { return TLI; }
+ const TargetLowering *getTargetLowering() const {
+ return TM.getTargetLowering();
+ }
virtual void getAnalysisUsage(AnalysisUsage &AU) const;