mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-22 07:32:48 +00:00
cde1f2eae2
Tail call optimisation was previously disabled on all targets other than iOS5.0+. This enables the tail call optimisation on all Thumb 2 capable platforms. The test adjustments are to remove the IR hint "tail" to function invocation. The tests were designed assuming that tail call optimisations would not kick in which no longer holds true. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203575 91177308-0d34-0410-b5e6-96231b3b80d8
19 lines
590 B
LLVM
19 lines
590 B
LLVM
; RUN: llc < %s -mtriple=armv7-none-linux-gnueabi -mattr=+v7,+vfp3,-neon | FileCheck %s
|
|
|
|
; PR15611. Check that we don't crash when constant folding v1i32 types.
|
|
|
|
; CHECK-LABEL: foo:
|
|
define void @foo(i32 %arg) {
|
|
bb:
|
|
%tmp = insertelement <4 x i32> undef, i32 %arg, i32 0
|
|
%tmp1 = insertelement <4 x i32> %tmp, i32 0, i32 1
|
|
%tmp2 = insertelement <4 x i32> %tmp1, i32 0, i32 2
|
|
%tmp3 = insertelement <4 x i32> %tmp2, i32 0, i32 3
|
|
%tmp4 = add <4 x i32> %tmp3, <i32 -1, i32 -1, i32 -1, i32 -1>
|
|
; CHECK: bl bar
|
|
call void @bar(<4 x i32> %tmp4)
|
|
ret void
|
|
}
|
|
|
|
declare void @bar(<4 x i32>)
|