From: Sam Clegg Date: Wed, 5 Jun 2019 21:08:30 +0000 (+0000) Subject: [WebAssembly] Improve lto/comdat.ll test. NFC. X-Git-Tag: llvmorg-10-init~3665 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=7c663cde14ed973dd3c23327b1f5b364c8a3f0a4;p=platform%2Fupstream%2Fllvm.git [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 --- diff --git a/lld/test/wasm/lto/comdat.ll b/lld/test/wasm/lto/comdat.ll index 446469c..54c9f0f 100644 --- a/lld/test/wasm/lto/comdat.ll +++ b/lld/test/wasm/lto/comdat.ll @@ -1,15 +1,17 @@ ; 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.o -; RUN: wasm-ld %t.o %t.o -o %t.wasm +; 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 linkonce_odr void @_start() comdat($foo) { +define void @_start() comdat($foo) { entry: ret void }