summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/Thumb2
diff options
context:
space:
mode:
authorChandler Carruth <chandlerc@gmail.com>2012-04-16 22:03:00 +0000
committerChandler Carruth <chandlerc@gmail.com>2012-04-16 22:03:00 +0000
commit1f5580b6f33f83f52b3daced4967e1d2dc596f16 (patch)
tree16d2f6800f592a75bd7af89c9e89f2d73d583ae7 /llvm/test/CodeGen/Thumb2
parent51244c22be6ddc9cc19e241e3a3550d3b429b65f (diff)
downloadbcm5719-llvm-1f5580b6f33f83f52b3daced4967e1d2dc596f16.tar.gz
bcm5719-llvm-1f5580b6f33f83f52b3daced4967e1d2dc596f16.zip
Fix updateTerminator to be resiliant to degenerate terminators where
both fallthrough and a conditional branch target the same successor. Gracefully delete the conditional branch and introduce any unconditional branch needed to reach the actual successor. This fixes memory corruption in 2009-06-15-RegScavengerAssert.ll and possibly other tests. Also, while I'm here fix a latent bug I spotted by inspection. I never applied the same fundamental fix to this fallthrough successor finding logic that I did to the logic used when there are no conditional branches. As a consequence it would have selected landing pads had they be aligned in just the right way here. I don't have a test case as I spotted this by inspection, and the previous time I found this required have of TableGen's source code to produce it. =/ I hate backend bugs. ;] Thanks to Jim Grosbach for helping me reason through this and reviewing the fix. llvm-svn: 154867
Diffstat (limited to 'llvm/test/CodeGen/Thumb2')
-rw-r--r--llvm/test/CodeGen/Thumb2/thumb2-ifcvt2.ll2
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/test/CodeGen/Thumb2/thumb2-ifcvt2.ll b/llvm/test/CodeGen/Thumb2/thumb2-ifcvt2.ll
index 9a83e655762..5aa9a735f25 100644
--- a/llvm/test/CodeGen/Thumb2/thumb2-ifcvt2.ll
+++ b/llvm/test/CodeGen/Thumb2/thumb2-ifcvt2.ll
@@ -83,7 +83,7 @@ define fastcc void @t2() nounwind {
entry:
; CHECK: t2:
; CHECK: cmp r0, #0
-; CHECK: bne
+; CHECK: %growMapping.exit
br i1 undef, label %bb.i.i3, label %growMapping.exit
bb.i.i3: ; preds = %entry
OpenPOWER on IntegriCloud