xref: /aosp_15_r20/external/llvm/test/Analysis/Lint/address-spaces.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: opt -lint < %s
2*9880d681SAndroid Build Coastguard Worker
3*9880d681SAndroid Build Coastguard Workertarget datalayout = "p32:32:32-p1:16:16:16-n16:32"
4*9880d681SAndroid Build Coastguard Worker
5*9880d681SAndroid Build Coastguard Workerdeclare void @foo(i64) nounwind
6*9880d681SAndroid Build Coastguard Worker
7*9880d681SAndroid Build Coastguard Workerdefine i64 @test1(i32 addrspace(1)* %x) nounwind {
8*9880d681SAndroid Build Coastguard Worker  %y = ptrtoint i32 addrspace(1)* %x to i64
9*9880d681SAndroid Build Coastguard Worker  ret i64 %y
10*9880d681SAndroid Build Coastguard Worker}
11*9880d681SAndroid Build Coastguard Worker
12*9880d681SAndroid Build Coastguard Workerdefine <4 x i64> @test1_vector(<4 x i32 addrspace(1)*> %x) nounwind {
13*9880d681SAndroid Build Coastguard Worker  %y = ptrtoint <4 x i32 addrspace(1)*> %x to <4 x i64>
14*9880d681SAndroid Build Coastguard Worker  ret <4 x i64> %y
15*9880d681SAndroid Build Coastguard Worker}
16*9880d681SAndroid Build Coastguard Worker
17*9880d681SAndroid Build Coastguard Workerdefine i32 addrspace(1)* @test2(i64 %x) nounwind {
18*9880d681SAndroid Build Coastguard Worker  %y = inttoptr i64 %x to i32 addrspace(1)*
19*9880d681SAndroid Build Coastguard Worker  ret i32 addrspace(1)* %y
20*9880d681SAndroid Build Coastguard Worker}
21*9880d681SAndroid Build Coastguard Worker
22*9880d681SAndroid Build Coastguard Workerdefine <4 x i32 addrspace(1)*> @test2_vector(<4 x i64> %x) nounwind {
23*9880d681SAndroid Build Coastguard Worker  %y = inttoptr <4 x i64> %x to <4 x i32 addrspace(1)*>
24*9880d681SAndroid Build Coastguard Worker  ret <4 x i32 addrspace(1)*> %y
25*9880d681SAndroid Build Coastguard Worker}