mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 03:02:36 +01:00
ea4ae2d8d2
Our verifier check for checking if a global has local linkage was too strict. Forbid private linkage but permit local linkage. Object file formats permit this and forbidding it prevents elimination of unused, internal, vftables under the MSVC ABI. llvm-svn: 212900
22 lines
381 B
LLVM
22 lines
381 B
LLVM
; RUN: llvm-as < %s | llvm-dis | FileCheck %s
|
|
|
|
$f = comdat any
|
|
; CHECK: $f = comdat any
|
|
|
|
$f2 = comdat any
|
|
; CHECK-NOT: f2
|
|
|
|
@v = global i32 0, comdat $f
|
|
; CHECK: @v = global i32 0, comdat $f
|
|
|
|
@a = alias i32* @v
|
|
; CHECK: @a = alias i32* @v{{$}}
|
|
|
|
define void @f() comdat $f {
|
|
ret void
|
|
}
|
|
; CHECK: define void @f() comdat $f
|
|
|
|
$i = comdat largest
|
|
@i = internal global i32 0, comdat $i
|