llvm-project/llvm/test/CodeGen/ARM/large-stack.ll
Ties Stuij 4f19c6a7c7 [ARM] allow long-call codegen for armv6-M eXecute Only (XO)
Recently eXecute Only (XO) codegen was also allowed for armv6-M. Previously this
was only implemented for ~armv7+, effectively if MOVW/MOVT is
available. Regarding long calls, we remove the check for MOVW/MOVT when
generating code for XO, which already was redundant as in the subtarget
initialization we already check if XO is valid for the target. And targets that
generate valid XO code should be able to handle the (wrapper globaladdress)
node.

Reviewed By: efriedma

Differential Revision: https://reviews.llvm.org/D153782
2023-06-28 10:50:24 +01:00

22 lines
466 B
LLVM

; RUN: llc -mtriple=arm-eabi %s -o /dev/null
; RUN: llc -mtriple=thumbv6m-eabi -mattr=+execute-only %s -o -
define void @test1() {
%tmp = alloca [ 64 x i32 ] , align 4
ret void
}
define void @test2() {
%tmp = alloca [ 4168 x i8 ] , align 4
ret void
}
define i32 @test3() {
%retval = alloca i32, align 4
%tmp = alloca i32, align 4
%a = alloca [805306369 x i8], align 16
store i32 0, ptr %tmp
%tmp1 = load i32, ptr %tmp
ret i32 %tmp1
}