1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 03:02:36 +01:00
llvm-mirror/test/Feature/comdat.ll
David Majnemer ea4ae2d8d2 IR: Allow comdats to be applied to globals with internal linkage
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
2014-07-13 04:56:11 +00:00

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