[PATCH] D115648: [LTO] Ignore unreachable virtual functions in WPD in thin LTO

2021-12-15 Thread Mingming Liu via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG4ab5527c15f0: [ThinLTO] Ignore unreachable virtual functions in WPD in thin LTO. (authored by luna). Repository: rG LLVM Github Monorepo CHANGES

[PATCH] D115648: [LTO] Ignore unreachable virtual functions in WPD in thin LTO

2021-12-15 Thread Mingming Liu via Phabricator via cfe-commits
luna added a comment. In D115648#3196142 , @luna wrote: > Simplify test case by using `-O3` to generate IR. Probably because of the diff from `ThinLTO/X86/devirt_hybrid_after_filtering_unreachable.ll` to `ThinLTO/X86/devirt_after_filtering_unreachable.

[PATCH] D115648: [LTO] Ignore unreachable virtual functions in WPD in thin LTO

2021-12-15 Thread Mingming Liu via Phabricator via cfe-commits
luna updated this revision to Diff 394689. luna marked an inline comment as done. luna added a comment. Simplify test case by using `-O3` to generate IR. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D115648/new/ https://reviews.llvm.org/D115648 Fi

[PATCH] D115648: [LTO] Ignore unreachable virtual functions in WPD in thin LTO

2021-12-14 Thread Mingming Liu via Phabricator via cfe-commits
luna marked an inline comment as done. luna added a comment. thanks for the inputs! Comment at: llvm/test/ThinLTO/X86/devirt_after_filtering_unreachable.ll:16 + +; ENABLESPLITFLAG: gv: (name: "_ZN4BaseD0Ev", {{.*}}, funcFlags: ({{.*}} mustBeUnreachable: 1 + te

[PATCH] D115648: [LTO] Ignore unreachable virtual functions in WPD in thin LTO

2021-12-14 Thread Mingming Liu via Phabricator via cfe-commits
luna updated this revision to Diff 394461. luna added a comment. Simplify filecheck by re-using one prefix to test the unreachable bit. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D115648/new/ https://reviews.llvm.org/D115648 Files: llvm/lib/Tr

[PATCH] D115648: [LTO] Ignore unreachable virtual functions in WPD in thin LTO

2021-12-14 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson added inline comments. Comment at: llvm/test/ThinLTO/X86/devirt_after_filtering_unreachable.ll:16 + +; ENABLESPLITFLAG: gv: (name: "_ZN4BaseD0Ev", {{.*}}, funcFlags: ({{.*}} mustBeUnreachable: 1 + I think it can be shared with the equivalent checks in

[PATCH] D115648: [LTO] Ignore unreachable virtual functions in WPD in thin LTO

2021-12-14 Thread Mingming Liu via Phabricator via cfe-commits
luna added inline comments. Comment at: llvm/test/ThinLTO/X86/devirt_after_filtering_unreachable.ll:11 +; RUN: llvm-dis -o - %t-main.bc.0 | FileCheck %s --check-prefix=ENABLESPLITFLAG +; ENABLESPLITFLAG: gv: (name: "_ZN4BaseD0Ev", {{.*}}, funcFlags: ({{.*}} mustBeUnreachable: 1

[PATCH] D115648: [LTO] Ignore unreachable virtual functions in WPD in thin LTO

2021-12-14 Thread Mingming Liu via Phabricator via cfe-commits
luna updated this revision to Diff 394443. luna marked an inline comment as done. luna added a comment. Simplify test by sharing one pattern across two filecheck lines. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D115648/new/ https://reviews.llvm.

[PATCH] D115648: [LTO] Ignore unreachable virtual functions in WPD in thin LTO

2021-12-14 Thread Mingming Liu via Phabricator via cfe-commits
luna marked an inline comment as done. luna added a comment. thanks for review! Also in the previous reply, I forgot to mention I removed the the line `assert ((VTP.FuncVI) && "VTP.FuncVI must be nullptr` after finding existing references doesn't guarantee that [1], and `mustBeUnreachableFuncti

[PATCH] D115648: [LTO] Ignore unreachable virtual functions in WPD in thin LTO

2021-12-14 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson added inline comments. Comment at: llvm/test/ThinLTO/X86/devirt_after_filtering_unreachable.ll:11 +; RUN: llvm-dis -o - %t-main.bc.0 | FileCheck %s --check-prefix=ENABLESPLITFLAG +; ENABLESPLITFLAG: gv: (name: "_ZN4BaseD0Ev", {{.*}}, funcFlags: ({{.*}} mustBeUnreachabl

[PATCH] D115648: [LTO] Ignore unreachable virtual functions in WPD in thin LTO

2021-12-14 Thread Mingming Liu via Phabricator via cfe-commits
luna updated this revision to Diff 394435. luna added a comment. Simplify test by using non-DAG prefix (for one pattern), and avoid capturing values since they are not used. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D115648/new/ https://reviews

[PATCH] D115648: [LTO] Ignore unreachable virtual functions in WPD in thin LTO

2021-12-14 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson accepted this revision. tejohnson added a comment. This revision is now accepted and ready to land. lgtm with one more test simplification below. Comment at: llvm/test/ThinLTO/X86/devirt_after_filtering_unreachable.ll:11 +; RUN: llvm-dis -o - %t-main.bc.0 | FileCheck

[PATCH] D115648: [LTO] Ignore unreachable virtual functions in WPD in thin LTO

2021-12-14 Thread Mingming Liu via Phabricator via cfe-commits
luna added a comment. thanks for review! Comment at: llvm/test/ThinLTO/X86/devirt_after_filtering_unreachable.ll:64 +; Check that EnableSplitLTOUnit is off, and check the content of summary information. +; RUN: llvm-dis -o - %t3.o | FileCheck %s --check-prefix=NOENABLESPLITFLA

[PATCH] D115648: [LTO] Ignore unreachable virtual functions in WPD in thin LTO

2021-12-14 Thread Mingming Liu via Phabricator via cfe-commits
luna updated this revision to Diff 394429. luna marked 2 inline comments as done. luna added a comment. Change test IR by removing irrelevant lines and using one prefix per FileCheck. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D115648/new/ https:

[PATCH] D115648: [LTO] Ignore unreachable virtual functions in WPD in thin LTO

2021-12-14 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson added inline comments. Comment at: llvm/test/ThinLTO/X86/devirt_after_filtering_unreachable.ll:64 +; Check that EnableSplitLTOUnit is off, and check the content of summary information. +; RUN: llvm-dis -o - %t3.o | FileCheck %s --check-prefix=NOENABLESPLITFLAG +; NOENA

[PATCH] D115648: [LTO] Ignore unreachable virtual functions in WPD in thin LTO

2021-12-14 Thread Mingming Liu via Phabricator via cfe-commits
luna updated this revision to Diff 394389. luna added a comment. Rebase to main Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D115648/new/ https://reviews.llvm.org/D115648 Files: llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp llvm/test/ThinLTO/