1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 19:12:56 +02:00
llvm-mirror/test/CodeGen/ARM64/dead-def-frame-index.ll
Louis Gerbarg 3eecd92d3d Fix for codegen bug that could cause illegal cmn instruction generation
In rare cases the dead definition elimination pass code can cause illegal cmn
instructions when it replaces dead registers on instructions that use
unmaterialized frame indexes. This patch disables the dead definition
optimization for instructions which include frame index operands.

rdar://16438284

llvm-svn: 206208
2014-04-14 21:05:05 +00:00

19 lines
455 B
LLVM

; RUN: llc -march=arm64 < %s | FileCheck %s
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128"
target triple = "arm64-apple-ios7.0.0"
; Function Attrs: nounwind ssp uwtable
define i32 @test1() #0 {
%tmp1 = alloca i8
%tmp2 = alloca i32, i32 4096
%tmp3 = icmp eq i8* %tmp1, null
%tmp4 = zext i1 %tmp3 to i32
ret i32 %tmp4
; CHECK-LABEL: test1
; CHECK: adds [[TEMP:[a-z0-9]+]], sp, #16384
; CHECK: adds [[TEMP]], [[TEMP]], #15
}