mirror of
https://github.com/RPCS3/llvm.git
synced 2025-01-12 07:21:56 +00:00
Handle dbg_value instructions (i.e., skip them) when generating IT blocks.
rdar://7797940 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105557 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
221aec60a7
commit
8077e76f93
@ -71,8 +71,10 @@ bool Thumb2ITBlockPass::InsertITBlocks(MachineBasicBlock &MBB) {
|
|||||||
unsigned Mask = 0, Pos = 3;
|
unsigned Mask = 0, Pos = 3;
|
||||||
// Branches, including tricky ones like LDM_RET, need to end an IT
|
// Branches, including tricky ones like LDM_RET, need to end an IT
|
||||||
// block so check the instruction we just put in the block.
|
// block so check the instruction we just put in the block.
|
||||||
while (MBBI != E && Pos &&
|
for (; MBBI != E && Pos &&
|
||||||
(!MI->getDesc().isBranch() && !MI->getDesc().isReturn())) {
|
(!MI->getDesc().isBranch() && !MI->getDesc().isReturn()) ; ++MBBI) {
|
||||||
|
if (MBBI->isDebugValue())
|
||||||
|
continue;
|
||||||
MachineInstr *NMI = &*MBBI;
|
MachineInstr *NMI = &*MBBI;
|
||||||
MI = NMI;
|
MI = NMI;
|
||||||
DebugLoc ndl = NMI->getDebugLoc();
|
DebugLoc ndl = NMI->getDebugLoc();
|
||||||
@ -83,7 +85,6 @@ bool Thumb2ITBlockPass::InsertITBlocks(MachineBasicBlock &MBB) {
|
|||||||
else
|
else
|
||||||
break;
|
break;
|
||||||
--Pos;
|
--Pos;
|
||||||
++MBBI;
|
|
||||||
}
|
}
|
||||||
Mask |= (1 << Pos);
|
Mask |= (1 << Pos);
|
||||||
// Tag along (firstcond[0] << 4) with the mask.
|
// Tag along (firstcond[0] << 4) with the mask.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user