diff options
| author | Amara Emerson <aemerson@apple.com> | 2019-09-16 23:46:03 +0000 |
|---|---|---|
| committer | Amara Emerson <aemerson@apple.com> | 2019-09-16 23:46:03 +0000 |
| commit | 9d64721ca5bddd83413a802ee734fc819f782b51 (patch) | |
| tree | 004e94dd3560476e3906e82ca3589d14735635b3 /llvm/lib | |
| parent | cb4aee7318afbe36078c434fff3a3e8a0bcdf5cf (diff) | |
| download | bcm5719-llvm-9d64721ca5bddd83413a802ee734fc819f782b51.tar.gz bcm5719-llvm-9d64721ca5bddd83413a802ee734fc819f782b51.zip | |
[GlobalISel] Partially revert r371901.
r371901 was overeager and widenScalarDst() and the like in the legalizer
attempt to increment the insert point given in order to add new instructions
after the currently legalizing inst. In cases where the insertion point is not
exactly the current instruction, then callers need to de-compensate for the
behaviour by decrementing the insertion iterator before calling them. It's not
a nice state of affairs, for now just undo the problematic parts of the change.
llvm-svn: 372050
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp b/llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp index 8c356c62a17..d4ae3b52a46 100644 --- a/llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp +++ b/llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp @@ -1765,7 +1765,7 @@ LegalizerHelper::widenScalar(MachineInstr &MI, unsigned TypeIdx, LLT WideTy) { } MachineBasicBlock &MBB = *MI.getParent(); - MIRBuilder.setInsertPt(MBB, MBB.getFirstNonPHI()); + MIRBuilder.setInsertPt(MBB, --MBB.getFirstNonPHI()); widenScalarDst(MI, WideTy); Observer.changedInstr(MI); return Legalized; @@ -3156,7 +3156,7 @@ LegalizerHelper::moreElementsVectorPhi(MachineInstr &MI, unsigned TypeIdx, } MachineBasicBlock &MBB = *MI.getParent(); - MIRBuilder.setInsertPt(MBB, MBB.getFirstNonPHI()); + MIRBuilder.setInsertPt(MBB, --MBB.getFirstNonPHI()); moreElementsVectorDst(MI, MoreTy, 0); Observer.changedInstr(MI); return Legalized; |

