llvm-mirror/test/CodeGen/AArch64/cmp-frameindex.ll
Tim Northover c967f8b495 AArch64: account for possible frame index operand in compares.
If the address of a local is used in a comparison, AArch64 can fold the
address-calculation into the comparison via "adds". Unfortunately, a couple of
places (both hit in this one test) are not ready to deal with that yet and just
assume the first source operand is a register.

llvm-svn: 316035
2017-10-17 21:43:52 +00:00

20 lines
359 B
LLVM

; RUN: llc -mtriple=aarch64 %s -o - | FileCheck %s
; CHECK: test_frameindex_cmp:
; CHECK: cmn sp, #{{[0-9]+}}
define void @test_frameindex_cmp() {
%stack = alloca i8
%stack.int = ptrtoint i8* %stack to i64
%cmp = icmp ne i64 %stack.int, 0
br i1 %cmp, label %bb1, label %bb2
bb1:
call void @bar()
ret void
bb2:
ret void
}
declare void @bar()