1 ; RUN: opt < %s -passes=globalopt -S | FileCheck %s
3 target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
4 target triple = "x86_64-unknown-linux-gnu"
6 module asm ".global foo1"
7 module asm "foo1: jmp bar1"
8 module asm ".global foo2"
9 module asm "foo2: jmp bar2"
11 ; The `llvm.compiler.used` indicates that `foo1` and `foo2` have associated symbol references in asm.
12 ; Checking globalopt does not remove these two symbols.
13 @llvm.compiler.used = appending global [2 x ptr] [ptr @bar1, ptr @bar2], section "llvm.metadata"
14 ; CHECK: @llvm.compiler.used = appending global [2 x ptr] [ptr @bar1, ptr @bar2], section "llvm.metadata"
16 @bar2 = internal alias void (), ptr @bar1
17 ; CHECK: @bar2 = internal alias void (), ptr @bar1
19 define internal void @bar1() {
20 ; CHECK: define internal void @bar1()