Files
llvm/test/CodeGen/AArch64/cmp-frameindex.ll
T
Tim Northover 2f17a1b1cc 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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@316035 91177308-0d34-0410-b5e6-96231b3b80d8
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()