xref: /llvm-project/llvm/test/Transforms/GlobalOpt/alias-used-address-space.ll (revision 533b7c1f6c696817df332cc7c9acbe3b454eadf2)
1; RUN: opt -S -passes=globalopt < %s | FileCheck %s
2
3target datalayout = "p:32:32:32-p1:16:16:16"
4
5@c = hidden addrspace(1) global i8 42
6
7@i = internal addrspace(1) global i8 42
8; CHECK: @i = internal addrspace(1) global i8 42
9
10@llvm.used = appending global [1 x ptr] [ptr addrspacecast (ptr addrspace(1) @ca to ptr)], section "llvm.metadata"
11; CHECK-DAG: @llvm.used = appending global [1 x ptr] [ptr addrspacecast (ptr addrspace(1) @ca to ptr)], section "llvm.metadata"
12
13@llvm.compiler.used = appending global [2 x ptr] [ptr addrspacecast(ptr addrspace(1) @ia to ptr), ptr addrspacecast (ptr addrspace(1) @i to ptr)], section "llvm.metadata"
14; CHECK-DAG: @llvm.compiler.used = appending global [2 x ptr] [ptr addrspacecast (ptr addrspace(1) @i to ptr), ptr addrspacecast (ptr addrspace(1) @ia to ptr)], section "llvm.metadata"
15
16@sameAsUsed = global [1 x ptr] [ptr addrspacecast(ptr addrspace(1) @ca to ptr)]
17; CHECK-DAG: @sameAsUsed = local_unnamed_addr global [1 x ptr] [ptr addrspacecast (ptr addrspace(1) @c to ptr)]
18
19@ia = internal alias i8, ptr addrspace(1) @i
20; CHECK: @ia = internal alias i8, ptr addrspace(1) @i
21
22@ca = internal alias i8, ptr addrspace(1) @c
23; CHECK: @ca = internal alias i8, ptr addrspace(1) @c
24
25define ptr addrspace(1) @h() {
26  ret ptr addrspace(1) @ca
27}
28