summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target
diff options
context:
space:
mode:
authorAndrew Trick <atrick@apple.com>2013-02-13 19:22:27 +0000
committerAndrew Trick <atrick@apple.com>2013-02-13 19:22:27 +0000
commit553e0fe365b4767924b6cbdde77a3e2a2197cdae (patch)
treec634096909cd5dbf10ef0628ba275bf3410c2fa2 /llvm/lib/Target
parent6eecb28d3a335fe22221ae646d764705964b58e6 (diff)
downloadbcm5719-llvm-553e0fe365b4767924b6cbdde77a3e2a2197cdae.tar.gz
bcm5719-llvm-553e0fe365b4767924b6cbdde77a3e2a2197cdae.zip
MIsched: HazardRecognizers are created for each DAG. Free them.
llvm-svn: 175067
Diffstat (limited to 'llvm/lib/Target')
-rw-r--r--llvm/lib/Target/Hexagon/HexagonMachineScheduler.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/llvm/lib/Target/Hexagon/HexagonMachineScheduler.cpp b/llvm/lib/Target/Hexagon/HexagonMachineScheduler.cpp
index 36dfaa4233f..ced17b3c0a4 100644
--- a/llvm/lib/Target/Hexagon/HexagonMachineScheduler.cpp
+++ b/llvm/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);
}
}
-
OpenPOWER on IntegriCloud