mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-25 13:24:46 +00:00
* The itf exposed by InstrScheduling is now a single function to create the right pass
* InstructionScheduling is now a real pass * InstrSched _uses_ LiveVar analysis, instead of creating it's own copy many times through a loop. In this was LiveVarAnalysis is actually even SHARED by Register allocation. * SchedPriorities is now passed the live var information in git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1700 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -19,21 +19,18 @@
|
||||
//**************************************************************************/
|
||||
|
||||
#include "SchedPriorities.h"
|
||||
#include "llvm/Analysis/LiveVar/MethodLiveVarInfo.h"
|
||||
#include "Support/PostOrderIterator.h"
|
||||
#include <iostream>
|
||||
using std::cerr;
|
||||
|
||||
SchedPriorities::SchedPriorities(const Method* method,
|
||||
const SchedGraph* _graph)
|
||||
: curTime(0),
|
||||
graph(_graph),
|
||||
methodLiveVarInfo(method), // expensive!
|
||||
nodeDelayVec(_graph->getNumNodes(), INVALID_LATENCY), // make errors obvious
|
||||
earliestForNode(_graph->getNumNodes(), 0),
|
||||
SchedPriorities::SchedPriorities(const Method *method, const SchedGraph *G,
|
||||
MethodLiveVarInfo &LVI)
|
||||
: curTime(0), graph(G), methodLiveVarInfo(LVI),
|
||||
nodeDelayVec(G->getNumNodes(), INVALID_LATENCY), // make errors obvious
|
||||
earliestForNode(G->getNumNodes(), 0),
|
||||
earliestReadyTime(0),
|
||||
nextToTry(candsAsHeap.begin())
|
||||
{
|
||||
methodLiveVarInfo.analyze();
|
||||
nextToTry(candsAsHeap.begin()) {
|
||||
computeDelays(graph);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user