diff options
author | Simon Dardis <simon.dardis@imgtec.com> | 2017-10-18 14:35:29 +0000 |
---|---|---|
committer | Simon Dardis <simon.dardis@imgtec.com> | 2017-10-18 14:35:29 +0000 |
commit | 03c2c65b2d288b936f5b298473314d665c89ef45 (patch) | |
tree | 409c68b6862efe5354979346eeb354eed9c375ef /llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp | |
parent | 8c6b1a3bf282bf82cda818db2c87af0647a67807 (diff) | |
download | llvm-03c2c65b2d288b936f5b298473314d665c89ef45.zip llvm-03c2c65b2d288b936f5b298473314d665c89ef45.tar.gz llvm-03c2c65b2d288b936f5b298473314d665c89ef45.tar.bz2 |
[mips] Fix analyzeBranch to handle debug data
In the case where there was a conditional branch followed by a unconditional
branch with debug instruction separating them, MipsInstrInfo::analyzeBranch
would not skip past debug instruction when searching for the second branch
which give erroneous results about the control flow of the block.
This could lead to the branch folder to merge the non-fall through case
into it's predecessor, leaving the conditional branch with a dangling
basic block operand.
This resolves PR34975.
Thanks to Alexander Richardson for reporting the issue!
Reviewers: atanasyan
Differential Revision: https://reviews.llvm.org/D39003
llvm-svn: 316084
Diffstat (limited to 'llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp')
0 files changed, 0 insertions, 0 deletions