diff options
Diffstat (limited to 'lib/CodeGen/MachineFunction.cpp')
-rw-r--r-- | lib/CodeGen/MachineFunction.cpp | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/lib/CodeGen/MachineFunction.cpp b/lib/CodeGen/MachineFunction.cpp index 595159b15f..3f2c119486 100644 --- a/lib/CodeGen/MachineFunction.cpp +++ b/lib/CodeGen/MachineFunction.cpp @@ -111,12 +111,14 @@ MachineBasicBlock* ilist_traits<MachineBasicBlock>::createSentinel() { } void ilist_traits<MachineBasicBlock>::transferNodesFromList( - iplist<MachineBasicBlock, ilist_traits<MachineBasicBlock> >& toList, - ilist_iterator<MachineBasicBlock> first, - ilist_iterator<MachineBasicBlock> last) { - if (Parent != toList.Parent) - for (; first != last; ++first) - first->Parent = toList.Parent; + iplist<MachineBasicBlock, ilist_traits<MachineBasicBlock> >& toList, + ilist_iterator<MachineBasicBlock> first, + ilist_iterator<MachineBasicBlock> last) { + // If splicing withing the same function, no change. + if (Parent == toList.Parent) return; + + for (; first != last; ++first) + first->setParent(toList.Parent); } MachineFunction::MachineFunction(const Function *F, |