diff options
Diffstat (limited to 'lib/CodeGen/SelectionDAG/ScheduleDAG.cpp')
-rw-r--r-- | lib/CodeGen/SelectionDAG/ScheduleDAG.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp b/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp index d2820d9632..1d154017f5 100644 --- a/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp +++ b/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp @@ -402,8 +402,10 @@ void ScheduleDAG::EmitNode(SDNode *Node, DEBUG(std::cerr << "Sched: COMMUTING FAILED!\n"); else { DEBUG(std::cerr << "Sched: COMMUTED TO: " << *NewMI); - delete MI; - MI = NewMI; + if (MI != NewMI) { + delete MI; + MI = NewMI; + } } } |