mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-17 21:29:20 +00:00
Added a temporary option -no-isel-fold-inflight to control whether a "inflight"
node can be folded. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28003 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
61a0209a8a
commit
552c4a8494
@ -40,6 +40,7 @@ public:
|
||||
SSARegMap *RegMap;
|
||||
SelectionDAG *CurDAG;
|
||||
MachineBasicBlock *BB;
|
||||
bool FoldNodeInFlight;
|
||||
|
||||
SelectionDAGISel(TargetLowering &tli) : TLI(tli), JT(0,0,0,0) {}
|
||||
|
||||
|
@ -58,6 +58,14 @@ ViewSchedDAGs("view-sched-dags", cl::Hidden,
|
||||
static const bool ViewISelDAGs = 0, ViewSchedDAGs = 0;
|
||||
#endif
|
||||
|
||||
namespace {
|
||||
static cl::opt<bool>
|
||||
NoFoldNodeInFlight(
|
||||
"no-isel-fold-inflight",
|
||||
cl::Hidden,
|
||||
cl::desc("Do not attempt to fold a node even if it is being selected"));
|
||||
}
|
||||
|
||||
// Scheduling heuristics
|
||||
enum SchedHeuristics {
|
||||
defaultScheduling, // Let the target specify its preference.
|
||||
@ -3170,7 +3178,10 @@ void SelectionDAGISel::CodeGenAndEmitDAG(SelectionDAG &DAG) {
|
||||
DAG.Combine(true);
|
||||
|
||||
if (ViewISelDAGs) DAG.viewGraph();
|
||||
|
||||
|
||||
// TEMPORARY.
|
||||
FoldNodeInFlight = !NoFoldNodeInFlight;
|
||||
|
||||
// Third, instruction select all of the operations to machine code, adding the
|
||||
// code to the MachineBasicBlock.
|
||||
InstructionSelectBasicBlock(DAG);
|
||||
|
Loading…
Reference in New Issue
Block a user