diff options
author | Peter Collingbourne <peter@pcc.me.uk> | 2017-09-08 00:10:53 +0000 |
---|---|---|
committer | Peter Collingbourne <peter@pcc.me.uk> | 2017-09-08 00:10:53 +0000 |
commit | 88a58cf9e74b7ba3b98cdb41aeed2280b252a731 (patch) | |
tree | d93e3551f383a911abdb6d3390b803366e4c3011 /llvm/test/Transforms/WholeProgramDevirt/export-single-impl.ll | |
parent | 79d9a6964d55534815400ff1c60877e675f5288e (diff) | |
download | bcm5719-llvm-88a58cf9e74b7ba3b98cdb41aeed2280b252a731.tar.gz bcm5719-llvm-88a58cf9e74b7ba3b98cdb41aeed2280b252a731.zip |
WholeProgramDevirt: When promoting for single-impl devirt, also rename the comdat.
This is required when targeting COFF, as the comdat name must match
one of the names of the symbols in the comdat.
Differential Revision: https://reviews.llvm.org/D37550
llvm-svn: 312767
Diffstat (limited to 'llvm/test/Transforms/WholeProgramDevirt/export-single-impl.ll')
-rw-r--r-- | llvm/test/Transforms/WholeProgramDevirt/export-single-impl.ll | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/llvm/test/Transforms/WholeProgramDevirt/export-single-impl.ll b/llvm/test/Transforms/WholeProgramDevirt/export-single-impl.ll index 15de77381ed..6c83c30ae28 100644 --- a/llvm/test/Transforms/WholeProgramDevirt/export-single-impl.ll +++ b/llvm/test/Transforms/WholeProgramDevirt/export-single-impl.ll @@ -27,7 +27,7 @@ ; SUMMARY-NEXT: WPDRes: ; SUMMARY-NEXT: 0: ; SUMMARY-NEXT: Kind: SingleImpl -; SUMMARY-NEXT: SingleImplName: vf3 +; SUMMARY-NEXT: SingleImplName: 'vf3$merged' ; SUMMARY-NEXT: ResByArg: ; SUMMARY-NEXT: typeid4: ; SUMMARY-NEXT: TTRes: @@ -41,6 +41,9 @@ ; SUMMARY-NEXT: WithGlobalValueDeadStripping: false ; SUMMARY-NEXT: ... +; CHECK: $"vf4$merged" = comdat largest +$vf4 = comdat largest + ; CHECK: @vt1 = constant void (i8*)* @vf1 @vt1 = constant void (i8*)* @vf1, !type !0 @@ -49,8 +52,8 @@ @vt3 = constant void (i8*)* @vf3, !type !2 -; CHECK: @vt4 = constant void (i8*)* @"vf4$merged" -@vt4 = constant void (i8*)* @vf4, !type !3 +; CHECK: @vt4 = constant void (i8*)* @"vf4$merged", comdat($"vf4$merged") +@vt4 = constant void (i8*)* @vf4, comdat($vf4), !type !3 @vt5 = constant void (i8*)* @vf5, !type !4 @@ -62,10 +65,13 @@ define void @vf2(i8*) { ret void } -declare void @vf3(i8*) +; CHECK: define hidden void @"vf3$merged"(i8*) { +define internal void @vf3(i8*) { + ret void +} -; CHECK: define hidden void @"vf4$merged" -define internal void @vf4(i8*) { +; CHECK: define hidden void @"vf4$merged"(i8*) comdat { +define internal void @vf4(i8*) comdat { ret void } |