xref: /llvm-project/llvm/test/Transforms/InferAddressSpaces/optnone-func-unchanged.ll (revision fe146e9b59891e50bddc0e61037773999335e1fe)
1*fe146e9bSWenju He; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 3
2*fe146e9bSWenju He; RUN: opt -assume-default-is-flat-addrspace -S -passes=infer-address-spaces < %s 2>&1 | FileCheck %s
3*fe146e9bSWenju He
4*fe146e9bSWenju He@g = addrspace(1) global i32 0, align 4
5*fe146e9bSWenju He
6*fe146e9bSWenju Hedefine ptr @f2() {
7*fe146e9bSWenju He; CHECK-LABEL: define ptr @f2() {
8*fe146e9bSWenju He; CHECK-NEXT:  entry:
9*fe146e9bSWenju He; CHECK-NEXT:    [[X2:%.*]] = addrspacecast ptr addrspace(1) @g to ptr
10*fe146e9bSWenju He; CHECK-NEXT:    ret ptr [[X2]]
11*fe146e9bSWenju He;
12*fe146e9bSWenju Heentry:
13*fe146e9bSWenju He  %x1 = addrspacecast ptr addrspacecast (ptr addrspace(1) @g to ptr) to ptr addrspace(1)
14*fe146e9bSWenju He  %x2 = addrspacecast ptr addrspace(1) %x1 to ptr
15*fe146e9bSWenju He  ret ptr %x2
16*fe146e9bSWenju He}
17*fe146e9bSWenju He
18*fe146e9bSWenju Hedefine ptr @f3() #0 {
19*fe146e9bSWenju He; CHECK-LABEL: define ptr @f3(
20*fe146e9bSWenju He; CHECK-SAME: ) #[[ATTR0:[0-9]+]] {
21*fe146e9bSWenju He; CHECK-NEXT:  entry:
22*fe146e9bSWenju He; CHECK-NEXT:    [[X1:%.*]] = addrspacecast ptr addrspacecast (ptr addrspace(1) @g to ptr) to ptr addrspace(1)
23*fe146e9bSWenju He; CHECK-NEXT:    [[X2:%.*]] = addrspacecast ptr addrspace(1) [[X1]] to ptr
24*fe146e9bSWenju He; CHECK-NEXT:    ret ptr [[X2]]
25*fe146e9bSWenju He;
26*fe146e9bSWenju Heentry:
27*fe146e9bSWenju He  %x1 = addrspacecast ptr addrspacecast (ptr addrspace(1) @g to ptr) to ptr addrspace(1)
28*fe146e9bSWenju He  %x2 = addrspacecast ptr addrspace(1) %x1 to ptr
29*fe146e9bSWenju He  ret ptr %x2
30*fe146e9bSWenju He}
31*fe146e9bSWenju He
32*fe146e9bSWenju Heattributes #0 = { noinline optnone }
33