mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-13 22:24:07 +00:00
MIsched: HazardRecognizers are created for each DAG. Free them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175067 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -1054,6 +1054,9 @@ public:
|
||||
#endif
|
||||
|
||||
void reset() {
|
||||
// A new HazardRec is created for each DAG and owned by SchedBoundary.
|
||||
delete HazardRec;
|
||||
|
||||
Available.clear();
|
||||
Pending.clear();
|
||||
CheckPending = false;
|
||||
@ -1079,7 +1082,8 @@ public:
|
||||
/// PendingFlag set.
|
||||
SchedBoundary(unsigned ID, const Twine &Name):
|
||||
DAG(0), SchedModel(0), Rem(0), Available(ID, Name+".A"),
|
||||
Pending(ID << ConvergingScheduler::LogMaxQID, Name+".P") {
|
||||
Pending(ID << ConvergingScheduler::LogMaxQID, Name+".P"),
|
||||
HazardRec(0) {
|
||||
reset();
|
||||
}
|
||||
|
||||
@ -1223,6 +1227,7 @@ void ConvergingScheduler::initialize(ScheduleDAGMI *dag) {
|
||||
DAG = dag;
|
||||
SchedModel = DAG->getSchedModel();
|
||||
TRI = DAG->TRI;
|
||||
|
||||
Rem.init(DAG, SchedModel);
|
||||
Top.init(DAG, SchedModel, &Rem);
|
||||
Bot.init(DAG, SchedModel, &Rem);
|
||||
|
Reference in New Issue
Block a user