diff options
author | Andrew Trick <atrick@apple.com> | 2013-02-13 19:22:27 +0000 |
---|---|---|
committer | Andrew Trick <atrick@apple.com> | 2013-02-13 19:22:27 +0000 |
commit | ecb8c2ba6029f02b01b20b110cc1b3b3ea2e1f1c (patch) | |
tree | 74b4f150ccd0e2e3346190fda382c42ca1f54ced /lib/Target | |
parent | af7c042af1f0f890be38e0d484ab1e7751565c7b (diff) | |
download | external_llvm-ecb8c2ba6029f02b01b20b110cc1b3b3ea2e1f1c.zip external_llvm-ecb8c2ba6029f02b01b20b110cc1b3b3ea2e1f1c.tar.gz external_llvm-ecb8c2ba6029f02b01b20b110cc1b3b3ea2e1f1c.tar.bz2 |
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
Diffstat (limited to 'lib/Target')
-rw-r--r-- | lib/Target/Hexagon/HexagonMachineScheduler.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/Target/Hexagon/HexagonMachineScheduler.cpp b/lib/Target/Hexagon/HexagonMachineScheduler.cpp index 36dfaa4..ced17b3 100644 --- a/lib/Target/Hexagon/HexagonMachineScheduler.cpp +++ b/lib/Target/Hexagon/HexagonMachineScheduler.cpp @@ -192,6 +192,7 @@ void ConvergingVLIWScheduler::initialize(ScheduleDAGMI *dag) { DAG = static_cast<VLIWMachineScheduler*>(dag); SchedModel = DAG->getSchedModel(); TRI = DAG->TRI; + Top.init(DAG, SchedModel); Bot.init(DAG, SchedModel); @@ -199,6 +200,8 @@ void ConvergingVLIWScheduler::initialize(ScheduleDAGMI *dag) { // are disabled, then these HazardRecs will be disabled. const InstrItineraryData *Itin = DAG->getSchedModel()->getInstrItineraries(); const TargetMachine &TM = DAG->MF.getTarget(); + delete Top.HazardRec; + delete Bot.HazardRec; Top.HazardRec = TM.getInstrInfo()->CreateTargetMIHazardRecognizer(Itin, DAG); Bot.HazardRec = TM.getInstrInfo()->CreateTargetMIHazardRecognizer(Itin, DAG); @@ -683,4 +686,3 @@ void ConvergingVLIWScheduler::schedNode(SUnit *SU, bool IsTopNode) { Bot.bumpNode(SU); } } - |