xref: /aosp_15_r20/external/llvm/test/Bitcode/inalloca.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: llvm-as < %s | llvm-dis | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker; RUN: verify-uselistorder < %s
3*9880d681SAndroid Build Coastguard Worker
4*9880d681SAndroid Build Coastguard Worker; inalloca should roundtrip.
5*9880d681SAndroid Build Coastguard Worker
6*9880d681SAndroid Build Coastguard Workerdefine void @foo(i32* inalloca %args) {
7*9880d681SAndroid Build Coastguard Worker  ret void
8*9880d681SAndroid Build Coastguard Worker}
9*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: define void @foo(i32* inalloca %args)
10*9880d681SAndroid Build Coastguard Worker
11*9880d681SAndroid Build Coastguard Workerdefine void @bar() {
12*9880d681SAndroid Build Coastguard Worker  ; Use the maximum alignment, since we stuff our bit with alignment.
13*9880d681SAndroid Build Coastguard Worker  %args = alloca inalloca i32, align 536870912
14*9880d681SAndroid Build Coastguard Worker  call void @foo(i32* inalloca %args)
15*9880d681SAndroid Build Coastguard Worker  ret void
16*9880d681SAndroid Build Coastguard Worker}
17*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: define void @bar() {
18*9880d681SAndroid Build Coastguard Worker; CHECK: %args = alloca inalloca i32, align 536870912
19*9880d681SAndroid Build Coastguard Worker; CHECK: call void @foo(i32* inalloca %args)
20