mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-24 19:52:54 +01:00
ad8b23acd3
The language reference says that: "If a symbol appears in the @llvm.used list, then the compiler, assembler, and linker are required to treat the symbol as if there is a reference to the symbol that it cannot see" Since even the linker cannot see the reference, we must assume that the reference can be using the symbol table. For example, a user can add __attribute__((used)) to a debug helper function like dump and use it from a debugger. llvm-svn: 187103
21 lines
421 B
LLVM
21 lines
421 B
LLVM
; RUN: opt < %s -internalize -S | FileCheck %s
|
|
|
|
@llvm.used = appending global [1 x void ()*] [void ()* @f], section "llvm.metadata"
|
|
|
|
@llvm.compiler.used = appending global [1 x void ()*] [void ()* @g], section "llvm.metadata"
|
|
|
|
; CHECK: define void @f()
|
|
define void @f() {
|
|
ret void
|
|
}
|
|
|
|
; CHECK: define internal void @g()
|
|
define void @g() {
|
|
ret void
|
|
}
|
|
|
|
; CHECK: define internal void @h()
|
|
define void @h() {
|
|
ret void
|
|
}
|