summaryrefslogtreecommitdiffstats
path: root/llvm/test
diff options
context:
space:
mode:
authorTim Northover <tnorthover@apple.com>2016-06-17 18:40:46 +0000
committerTim Northover <tnorthover@apple.com>2016-06-17 18:40:46 +0000
commit28a9e7f4ba8d3bb8cca4d521f0089cd449227769 (patch)
treeb119187c5d44c3e994b17c8d95dd98246069099b /llvm/test
parent44e6e36299a0cf132de58e5d3dd83ec1e6db60c5 (diff)
downloadbcm5719-llvm-28a9e7f4ba8d3bb8cca4d521f0089cd449227769.tar.gz
bcm5719-llvm-28a9e7f4ba8d3bb8cca4d521f0089cd449227769.zip
ARM: take account of possible bundle when erasing an instruction.
Fortunately this appears to be the only ARM-specific pass that runs while bundles might be in play, so no other cases need modifying. llvm-svn: 273029
Diffstat (limited to 'llvm/test')
-rw-r--r--llvm/test/CodeGen/ARM/thumb2-size-opt.ll16
1 files changed, 16 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/ARM/thumb2-size-opt.ll b/llvm/test/CodeGen/ARM/thumb2-size-opt.ll
index 0084a456a72..aba027607ea 100644
--- a/llvm/test/CodeGen/ARM/thumb2-size-opt.ll
+++ b/llvm/test/CodeGen/ARM/thumb2-size-opt.ll
@@ -82,3 +82,19 @@ entry:
%shr = lshr i32 %a, %b
ret i32 %shr
}
+
+define i32 @bundled_instruction(i32* %addr, i32** %addr2, i1 %tst) minsize {
+; CHECK-LABEL: bundled_instruction:
+; CHECK: iteee ne
+; CHECK: ldmeq r0!, {{{r[0-9]+}}}
+ br i1 %tst, label %true, label %false
+
+true:
+ ret i32 0
+
+false:
+ %res = load i32, i32* %addr, align 4
+ %next = getelementptr i32, i32* %addr, i32 1
+ store i32* %next, i32** %addr2
+ ret i32 %res
+}
OpenPOWER on IntegriCloud