mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-31 12:41:49 +01:00
[llvm-extract] Drop comdats from declarations
The verifier rejects comdats on declarations. llvm-svn: 241483
This commit is contained in:
parent
384e9f4564
commit
9e47912607
@ -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…
x
Reference in New Issue
Block a user