Sam Clegg 7c663cde14 [WebAssembly] Improve lto/comdat.ll test. NFC.
We were not previously testing the comdat exclusion in bitcode objects
because we were linking two copies of the .bc file and the
`linkonce_odr` linkage type was removing the duplicate `_start` at
the LTO stage.

Now we link an bitcode and non-bitcode version both of which contains a
copy of _start.  We link them in both orders, which means this test will
fail if comdat exclusion is not working correctly in bitcode parsing.

Differential Revision: https://reviews.llvm.org/D62923

llvm-svn: 362650
2019-06-05 21:08:30 +00:00

18 lines
479 B
LLVM

; Verify that comdat symbols can be defined in LTO objects. We had a
; regression where the comdat handling code was causing symbol in the lto object
; to be ignored.
; RUN: llvm-as %s -o %t.bc
; RUN: llc -filetype=obj %s -o %t.o
; RUN: wasm-ld %t.bc %t.o -o %t.wasm
; RUN: wasm-ld %t.o %t.bc -o %t.wasm
target datalayout = "e-m:e-p:32:32-i64:64-n32:64-S128"
target triple = "wasm32-unknown-unknown"
$foo = comdat any
define void @_start() comdat($foo) {
entry:
ret void
}