mirror of
https://github.com/RPCS3/llvm.git
synced 2024-11-24 20:30:06 +00:00
[llvm-extract] Drop comdats from declarations
The verifier rejects comdats on declarations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@241483 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
e473de21aa
commit
f0101b2d60
@ -93,8 +93,11 @@ namespace {
|
||||
|
||||
makeVisible(*I, Delete);
|
||||
|
||||
if (Delete)
|
||||
if (Delete) {
|
||||
// Make this a declaration and drop it's comdat.
|
||||
I->setInitializer(nullptr);
|
||||
I->setComdat(nullptr);
|
||||
}
|
||||
}
|
||||
|
||||
// Visit the Functions.
|
||||
@ -108,8 +111,11 @@ namespace {
|
||||
|
||||
makeVisible(*I, Delete);
|
||||
|
||||
if (Delete)
|
||||
if (Delete) {
|
||||
// Make this a declaration and drop it's comdat.
|
||||
I->deleteBody();
|
||||
I->setComdat(nullptr);
|
||||
}
|
||||
}
|
||||
|
||||
// Visit the Aliases.
|
||||
|
@ -7,19 +7,22 @@
|
||||
; llvm-extract uses lazy bitcode loading, so make sure it correctly reads
|
||||
; from bitcode files in addition to assembly files.
|
||||
|
||||
; CHECK: define hidden void @foo() {
|
||||
; CHECK: define hidden void @foo() comdat($x) {
|
||||
; CHECK: ret void
|
||||
; CHECK: }
|
||||
|
||||
; The private linkage for foo() should be changed to external linkage and
|
||||
; hidden visibility added.
|
||||
; DELETE: declare hidden void @foo()
|
||||
; DELETE-NOT: comdat
|
||||
; DELETE: define void @bar() {
|
||||
; DELETE: call void @foo()
|
||||
; DELETE: ret void
|
||||
; DELETE: }
|
||||
|
||||
define private void @foo() {
|
||||
$x = comdat any
|
||||
|
||||
define private void @foo() comdat($x) {
|
||||
ret void
|
||||
}
|
||||
define void @bar() {
|
||||
|
Loading…
Reference in New Issue
Block a user