mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-14 11:32:34 +00:00
Give SelectionDAG a TargetMachine too, rather than having it
fetch one from the MachineFunction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101807 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
285fb1cc4a
commit
50d2b1ac02
@ -117,6 +117,7 @@ void checkForCycles(const SelectionDAG *DAG);
|
||||
/// linear form.
|
||||
///
|
||||
class SelectionDAG {
|
||||
const TargetMachine &TM;
|
||||
const TargetLowering &TLI;
|
||||
MachineFunction *MF;
|
||||
FunctionLoweringInfo &FLI;
|
||||
@ -172,7 +173,7 @@ class SelectionDAG {
|
||||
SelectionDAG(const SelectionDAG&); // Do not implement.
|
||||
|
||||
public:
|
||||
SelectionDAG(const TargetLowering &tli, FunctionLoweringInfo &fli);
|
||||
SelectionDAG(const TargetMachine &TM, FunctionLoweringInfo &fli);
|
||||
~SelectionDAG();
|
||||
|
||||
/// init - Prepare this SelectionDAG to process code in the given
|
||||
@ -186,7 +187,7 @@ public:
|
||||
void clear();
|
||||
|
||||
MachineFunction &getMachineFunction() const { return *MF; }
|
||||
const TargetMachine &getTarget() const;
|
||||
const TargetMachine &getTarget() const { return TM; }
|
||||
const TargetLowering &getTargetLoweringInfo() const { return TLI; }
|
||||
FunctionLoweringInfo &getFunctionLoweringInfo() const { return FLI; }
|
||||
LLVMContext *getContext() const {return Context; }
|
||||
|
@ -304,10 +304,6 @@ ISD::CondCode ISD::getSetCCAndOperation(ISD::CondCode Op1, ISD::CondCode Op2,
|
||||
return Result;
|
||||
}
|
||||
|
||||
const TargetMachine &SelectionDAG::getTarget() const {
|
||||
return MF->getTarget();
|
||||
}
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// SDNode Profile Support
|
||||
//===----------------------------------------------------------------------===//
|
||||
@ -792,8 +788,8 @@ unsigned SelectionDAG::getEVTAlignment(EVT VT) const {
|
||||
}
|
||||
|
||||
// EntryNode could meaningfully have debug info if we can find it...
|
||||
SelectionDAG::SelectionDAG(const TargetLowering &tli, FunctionLoweringInfo &fli)
|
||||
: TLI(tli), FLI(fli),
|
||||
SelectionDAG::SelectionDAG(const TargetMachine &tm, FunctionLoweringInfo &fli)
|
||||
: TM(tm), TLI(*tm.getTargetLowering()), FLI(fli),
|
||||
EntryNode(ISD::EntryToken, DebugLoc(), getVTList(MVT::Other)),
|
||||
Root(getEntryNode()), Ordering(0) {
|
||||
AllNodes.push_back(&EntryNode);
|
||||
|
@ -167,7 +167,7 @@ MachineBasicBlock *TargetLowering::EmitInstrWithCustomInserter(MachineInstr *MI,
|
||||
SelectionDAGISel::SelectionDAGISel(TargetMachine &tm, CodeGenOpt::Level OL) :
|
||||
MachineFunctionPass(&ID), TM(tm), TLI(*tm.getTargetLowering()),
|
||||
FuncInfo(new FunctionLoweringInfo(TLI)),
|
||||
CurDAG(new SelectionDAG(TLI, *FuncInfo)),
|
||||
CurDAG(new SelectionDAG(tm, *FuncInfo)),
|
||||
SDB(new SelectionDAGBuilder(*CurDAG, *FuncInfo, OL)),
|
||||
GFI(),
|
||||
OptLevel(OL),
|
||||
|
Loading…
Reference in New Issue
Block a user