diff options
| author | Tim Northover <tnorthover@apple.com> | 2016-06-17 18:40:46 +0000 |
|---|---|---|
| committer | Tim Northover <tnorthover@apple.com> | 2016-06-17 18:40:46 +0000 |
| commit | 28a9e7f4ba8d3bb8cca4d521f0089cd449227769 (patch) | |
| tree | b119187c5d44c3e994b17c8d95dd98246069099b /llvm/test/CodeGen | |
| parent | 44e6e36299a0cf132de58e5d3dd83ec1e6db60c5 (diff) | |
| download | bcm5719-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/CodeGen')
| -rw-r--r-- | llvm/test/CodeGen/ARM/thumb2-size-opt.ll | 16 |
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 +} |

