[PATCH] D71193: [clang] Turn -fno-builtin flag into an IR Attribute

2019-12-12 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson added inline comments. Comment at: clang/test/CodeGen/libcalls-fno-builtin.c:163 -// CHECK: [[ATTR]] = { nobuiltin } +// GLOBAL: #2 = { nobuiltin "no-builtins" } +// INDIVIDUAL: #2 = { nobuiltin "no-builtin-ceil" "no-builtin-copysign" "no-builtin-cos" "no-builtin-fab

[PATCH] D68213: [LTO] Support for embedding bitcode section during LTO

2019-12-12 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson added a comment. In D68213#1781436 , @zapster wrote: > Thanks again for you reviews! Since I do not have commit rights, I would be > grateful if someone could push it for me. The new LTO/X86/embed-bitcode.ll test is failing for me: llvm-lto2:

[PATCH] D68213: [LTO] Support for embedding bitcode section during LTO

2019-12-12 Thread Teresa Johnson via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGc8e0bb3b2c24: [LTO] Support for embedding bitcode section during LTO (authored by tejohnson). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D68213/new/ https

[PATCH] D67923: [TLI] Support for per-Function TLI that overrides available libfuncs

2019-12-13 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson updated this revision to Diff 233841. tejohnson added a comment. Herald added subscribers: cfe-commits, hiraditya. Herald added a project: clang. Update after D71193 committed, converting -fno-builtin* options to attributes. Repository: rG LLVM Gith

[PATCH] D67923: [TLI] Support for per-Function TLI that overrides available libfuncs

2019-12-13 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson added a comment. Please take a look. This is now updated to reflect the commit of D71193 , which translated the options to the new attributes. I also removed some comments that I realized didn't make sense, as we need to keep a baseline availability ar

[PATCH] D69732: [WIP][LTO] Apply SamplePGO pipeline tunes for ThinLTO pre-link to full LTO

2019-12-13 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson added a comment. In D69732#1784511 , @wristow wrote: > >> Given the performance improvements here, I'd like to develop this patch > >> further. > > > > In D69732#1784290 , @ormris wrote: > > //Ping// @t

[PATCH] D67923: [TLI] Support for per-Function TLI that overrides available libfuncs

2019-12-16 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson updated this revision to Diff 234090. tejohnson added a comment. Address comments Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D67923/new/ https://reviews.llvm.org/D67923 Files: clang/lib/CodeGen/BackendUtil.cpp llvm/include/llvm/Ana

[PATCH] D67923: [TLI] Support for per-Function TLI that overrides available libfuncs

2019-12-16 Thread Teresa Johnson via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG878ab6df033d: [TLI] Support for per-Function TLI that overrides available libfuncs (authored by tejohnson). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D679

[PATCH] D71907: [WPD/VFE] Always emit vcall_visibility metadata for -fwhole-program-vtables

2019-12-26 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson created this revision. tejohnson added reviewers: pcc, ostannard, evgeny777, steven_wu. Herald added subscribers: dexonsmith, hiraditya, Prazek, mehdi_amini. Herald added projects: clang, LLVM. First patch to support Safe Whole Program Devirtualization Enablement, see RFC here: http://li

[PATCH] D71907: [WPD/VFE] Always emit vcall_visibility metadata for -fwhole-program-vtables

2019-12-26 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson marked an inline comment as done. tejohnson added inline comments. Comment at: llvm/lib/IR/Metadata.cpp:1505 + // updating. + eraseMetadata(LLVMContext::MD_vcall_visibility); addMetadata(LLVMContext::MD_vcall_visibility, The erasing of old metadata

[PATCH] D71911: [ThinLTO] Summarize vcall_visibility metadata

2019-12-26 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson created this revision. tejohnson added reviewers: pcc, evgeny777, steven_wu. Herald added subscribers: arphaman, dexonsmith, hiraditya, inglorion, Prazek, mehdi_amini. Herald added projects: clang, LLVM. Second patch in series to support Safe Whole Program Devirtualization Enablement, s

[PATCH] D71913: [LTO/WPD] Enable aggressive WPD under LTO option

2019-12-26 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson created this revision. tejohnson added reviewers: pcc, evgeny777, steven_wu. Herald added subscribers: dang, dexonsmith, MaskRay, hiraditya, arichardson, inglorion, Prazek, emaste. Herald added a reviewer: espindola. Herald added projects: clang, LLVM. Third part in series to support Sa

[PATCH] D75655: [Docs] Document -lto-whole-program-visibility

2020-03-05 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson updated this revision to Diff 248582. tejohnson marked an inline comment as done. tejohnson added a comment. Fix gold plugin option Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D75655/new/ https://reviews.llvm.org/D75655 Files: clang/d

[PATCH] D75655: [Docs] Document -lto-whole-program-visibility

2020-03-05 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson marked 3 inline comments as done. tejohnson added a subscriber: evgeny777. tejohnson added inline comments. Comment at: clang/docs/LTOVisibility.rst:40 +to hidden LTO visibility when the ``-lto-whole-program-visibility`` lld linker +option is applied (``-plugin-opt=whol

[PATCH] D75655: [Docs] Document -lto-whole-program-visibility

2020-03-11 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson added a comment. ping Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D75655/new/ https://reviews.llvm.org/D75655 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/c

[PATCH] D75655: [Docs] Document -lto-whole-program-visibility

2020-03-17 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson added a comment. In D75655#1920036 , @evgeny777 wrote: > @pcc > > > That case seems somewhat questionable to me. If the symbols are being > > exported, it is presumably for the purpose of allowing the symbols to be > > used outside of the defin

[PATCH] D71913: [LTO/WPD] Enable aggressive WPD under LTO option

2020-03-17 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson marked an inline comment as done. tejohnson added inline comments. Comment at: clang/test/CodeGenCXX/lto-visibility-inference.cpp:73 c1->f(); - // ITANIUM-NOT: type.test{{.*}}!"_ZTS2C2" + // ITANIUM: type.test{{.*}}!"_ZTS2C2" // MS: type.test{{.*}}!"?AUC2@@" ---

[PATCH] D73242: [WPD/LowerTypeTests] Delay lowering/removal of type tests until after ICP

2020-02-03 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson marked 3 inline comments as done. tejohnson added inline comments. Comment at: llvm/include/llvm/IR/ModuleSummaryIndex.h:830 enum Kind { +Unknown, ///< Unknown (analysis not performed, don't lower) Unsat, ///< Unsatisfiable type (i.e. no global has thi

[PATCH] D73242: [WPD/LowerTypeTests] Delay lowering/removal of type tests until after ICP

2020-02-04 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson marked an inline comment as done. tejohnson added inline comments. Comment at: llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp:1678 +// breaks any uses on assumes. +if (TypeIdMap.count(TypeId)) + continue; evgeny777 wrote: > tejohnson wrote:

[PATCH] D73242: [WPD/LowerTypeTests] Delay lowering/removal of type tests until after ICP

2020-02-04 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson marked an inline comment as done. tejohnson added inline comments. Comment at: llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp:1678 +// breaks any uses on assumes. +if (TypeIdMap.count(TypeId)) + continue; evgeny777 wrote: > tejohnson wrote:

[PATCH] D73242: [WPD/LowerTypeTests] Delay lowering/removal of type tests until after ICP

2020-02-04 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson updated this revision to Diff 242493. tejohnson added a comment. Rebase and implement suggestion (move Unknown to end and bump index version) Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D73242/new/ https://reviews.llvm.org/D73242 Files:

[PATCH] D73242: [WPD/LowerTypeTests] Delay lowering/removal of type tests until after ICP

2020-02-05 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson marked an inline comment as done. tejohnson added inline comments. Comment at: llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp:1678 +// breaks any uses on assumes. +if (TypeIdMap.count(TypeId)) + continue; evgeny777 wrote: > tejohnson wrote:

[PATCH] D73242: [WPD/LowerTypeTests] Delay lowering/removal of type tests until after ICP

2020-02-05 Thread Teresa Johnson via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG748bb5a0f196: [WPD/LowerTypeTests] Delay lowering/removal of type tests until after ICP (authored by tejohnson). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org

[PATCH] D73242: [WPD/LowerTypeTests] Delay lowering/removal of type tests until after ICP

2020-02-05 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson added a comment. In D73242#186 , @thakis wrote: > This makes lld crash when linking chromium's base_unittests and probably does > the same for most other binaries that use both thinlto and cfi: > https://bugs.chromium.org/p/chromium/issues/

[PATCH] D73242: [WPD/LowerTypeTests] Delay lowering/removal of type tests until after ICP

2020-02-11 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson marked an inline comment as done. tejohnson added a comment. In D73242#1861125 , @tejohnson wrote: > In D73242#186 , @thakis wrote: > > > This makes lld crash when linking chromium's base_unittests and

[PATCH] D74591: [Driver] Rename AddGoldPlugin to addLTOOptions. NFC

2020-02-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 Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D74591/new/ https://reviews.llvm.org/D74591 _

[PATCH] D71911: [ThinLTO] Summarize vcall_visibility metadata

2020-01-16 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson added a comment. In D71911#1823497 , @evgeny777 wrote: > I think this has to be rebased - I see multiple failures when trying to apply I'll rebase it today. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.ll

[PATCH] D71913: [LTO/WPD] Enable aggressive WPD under LTO option

2020-01-16 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson marked 2 inline comments as done. tejohnson added inline comments. Comment at: llvm/test/Transforms/WholeProgramDevirt/import-indir.ll:2 ; Test that we correctly import an indir resolution for type identifier "typeid1". -; RUN: opt -S -wholeprogramdevirt -wholeprogram

[PATCH] D71907: [WPD/VFE] Always emit vcall_visibility metadata for -fwhole-program-vtables

2020-01-16 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson updated this revision to Diff 238561. tejohnson added a comment. Rebase Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D71907/new/ https://reviews.llvm.org/D71907 Files: clang/lib/CodeGen/CGVTables.cpp clang/lib/CodeGen/CodeGenModule.c

[PATCH] D71911: [ThinLTO] Summarize vcall_visibility metadata

2020-01-16 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson updated this revision to Diff 238565. tejohnson added a comment. Rebase Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D71911/new/ https://reviews.llvm.org/D71911 Files: clang/test/CodeGenCXX/vcall-visibility-metadata.cpp llvm/include/

[PATCH] D71913: [LTO/WPD] Enable aggressive WPD under LTO option

2020-01-16 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson updated this revision to Diff 238569. tejohnson added a comment. Rebase Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D71913/new/ https://reviews.llvm.org/D71913 Files: clang/lib/CodeGen/BackendUtil.cpp clang/lib/CodeGen/CGClass.cpp

[PATCH] D71913: [LTO/WPD] Enable aggressive WPD under LTO option

2020-01-20 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson marked 4 inline comments as done. tejohnson added inline comments. Comment at: llvm/test/Transforms/WholeProgramDevirt/import-indir.ll:2 ; Test that we correctly import an indir resolution for type identifier "typeid1". -; RUN: opt -S -wholeprogramdevirt -wholeprogram

[PATCH] D71913: [LTO/WPD] Enable aggressive WPD under LTO option

2020-01-20 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson updated this revision to Diff 239214. tejohnson marked 2 inline comments as done. tejohnson added a comment. Address comments Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D71913/new/ https://reviews.llvm.org/D71913 Files: clang/lib/Cod

[PATCH] D71907: [WPD/VFE] Always emit vcall_visibility metadata for -fwhole-program-vtables

2020-01-21 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson marked an inline comment as done. tejohnson added inline comments. Comment at: clang/lib/CodeGen/ItaniumCXXABI.cpp:676 + bool ShouldEmitWPDInfo = CGM.getCodeGenOpts().WholeProgramVTables && + CGM.HasHiddenLTOVisibility(RD); llvm::Value *Vir

[PATCH] D71907: [WPD/VFE] Always emit vcall_visibility metadata for -fwhole-program-vtables

2020-01-21 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson updated this revision to Diff 239406. tejohnson added a comment. Remove stale change that didn't belong here. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D71907/new/ https://reviews.llvm.org/D71907 Files: clang/lib/CodeGen/CGVTables.c

[PATCH] D71911: [ThinLTO] Summarize vcall_visibility metadata

2020-01-21 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson updated this revision to Diff 239412. tejohnson added a comment. Address comment and rebase Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D71911/new/ https://reviews.llvm.org/D71911 Files: clang/test/CodeGenCXX/vcall-visibility-metadata

[PATCH] D71913: [LTO/WPD] Enable aggressive WPD under LTO option

2020-01-21 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson marked 5 inline comments as done. tejohnson added inline comments. Comment at: clang/test/CodeGenCXX/lto-visibility-inference.cpp:73 c1->f(); - // ITANIUM-NOT: type.test{{.*}}!"_ZTS2C2" + // ITANIUM: type.test{{.*}}!"_ZTS2C2" // MS: type.test{{.*}}!"?AUC2@@" ---

[PATCH] D71913: [LTO/WPD] Enable aggressive WPD under LTO option

2020-01-21 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson updated this revision to Diff 239428. tejohnson marked 2 inline comments as done. tejohnson added a comment. Address comments and rebase. Also apply modified change to ItaniumCXXABI.cpp and a change to an associated test (cfi-mfcall.cpp) here as discussed in child revision D71907

[PATCH] D71913: [LTO/WPD] Enable aggressive WPD under LTO option

2020-01-22 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson marked an inline comment as done. tejohnson added inline comments. Comment at: clang/test/CodeGenCXX/lto-visibility-inference.cpp:73 c1->f(); - // ITANIUM-NOT: type.test{{.*}}!"_ZTS2C2" + // ITANIUM: type.test{{.*}}!"_ZTS2C2" // MS: type.test{{.*}}!"?AUC2@@" ---

[PATCH] D71913: [LTO/WPD] Enable aggressive WPD under LTO option

2020-01-22 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson updated this revision to Diff 239646. tejohnson added a comment. Address remaining comment by blocking type test insertion for public std visibility Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D71913/new/ https://reviews.llvm.org/D71913

[PATCH] D73242: [WPD/LowerTypeTests] Delay lowering/removal of type tests until after ICP

2020-01-22 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson created this revision. tejohnson added reviewers: pcc, evgeny777. Herald added subscribers: arphaman, dexonsmith, steven_wu, hiraditya, Prazek, mehdi_amini. Herald added projects: clang, LLVM. Currently type test assume sequences inserted for devirtualization are removed during WPD. Thi

[PATCH] D73242: [WPD/LowerTypeTests] Delay lowering/removal of type tests until after ICP

2020-01-22 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson marked an inline comment as done. tejohnson added inline comments. Comment at: llvm/test/Transforms/WholeProgramDevirt/uniform-retval.ll:28 %result = call i32 %fptr_casted(i8* %obj) - ; CHECK-NOT: call + ; CHECK-NOT: call i32 % ; CHECK: ret i32 123 -

[PATCH] D71907: [WPD/VFE] Always emit vcall_visibility metadata for -fwhole-program-vtables

2020-01-23 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson marked 2 inline comments as done. tejohnson added inline comments. Comment at: llvm/lib/Transforms/IPO/GlobalSplit.cpp:116 +if (GV.hasMetadata(LLVMContext::MD_vcall_visibility)) + SplitGV->setVCallVisibilityMetadata(GV.getVCallVisibility()); } --

[PATCH] D71907: [WPD/VFE] Always emit vcall_visibility metadata for -fwhole-program-vtables

2020-01-23 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson updated this revision to Diff 239888. tejohnson marked an inline comment as done. tejohnson added a comment. Test GlobalSplit handling of vcall_visibility metadata Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D71907/new/ https://reviews.l

[PATCH] D71913: [LTO/WPD] Enable aggressive WPD under LTO option

2020-01-23 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson updated this revision to Diff 239890. tejohnson added a comment. Implement suggestion Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D71913/new/ https://reviews.llvm.org/D71913 Files: clang/lib/CodeGen/BackendUtil.cpp clang/lib/CodeGen

[PATCH] D71907: [WPD/VFE] Always emit vcall_visibility metadata for -fwhole-program-vtables

2020-01-23 Thread Teresa Johnson via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG458676db6e41: [WPD/VFE] Always emit vcall_visibility metadata for -fwhole-program-vtables (authored by tejohnson). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.o

[PATCH] D71911: [ThinLTO] Summarize vcall_visibility metadata

2020-01-23 Thread Teresa Johnson via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG9c2eb220edd5: [ThinLTO] Summarize vcall_visibility metadata (authored by tejohnson). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D71911/new/ https://review

[PATCH] D71913: [LTO/WPD] Enable aggressive WPD under LTO option

2020-01-23 Thread Teresa Johnson via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG59733525d37c: [LTO/WPD] Enable aggressive WPD under LTO option (authored by tejohnson). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D71913/new/ https://rev

[PATCH] D71913: [LTO/WPD] Enable aggressive WPD under LTO option

2020-01-23 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson added a comment. FYI I reverted this in rG90e630a95ecc due to a cfi test failure in a windows sanitizer bot. Not sure what is happening, I'll need to try to debug it somehow tomorrow. Repository: rG LLVM Github

[PATCH] D73418: [WPD] Emit vcall_visibility metadata for MicrosoftCXXABI

2020-01-25 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson created this revision. tejohnson added a reviewer: evgeny777. Herald added a subscriber: Prazek. Herald added a project: clang. The MicrosoftCXXABI uses a separate mechanism for emitting vtable type metadata, and thus didn't pick up the change from D71907

[PATCH] D73418: [WPD] Emit vcall_visibility metadata for MicrosoftCXXABI

2020-01-25 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson added a comment. I fixed the test matching as I found that the names generated for the anonymous namespace comdats depend on the module identifier in some way. I changed the matching to look at the struct type embedded in the initializer, which is also more intuitive. I also moved the

[PATCH] D73418: [WPD] Emit vcall_visibility metadata for MicrosoftCXXABI

2020-01-25 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson updated this revision to Diff 240395. tejohnson added a comment. Improve test Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D73418/new/ https://reviews.llvm.org/D73418 Files: clang/lib/CodeGen/MicrosoftCXXABI.cpp clang/test/CodeGenCXX

[PATCH] D73418: [WPD] Emit vcall_visibility metadata for MicrosoftCXXABI

2020-01-27 Thread Teresa Johnson via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGaf954e441a51: [WPD] Emit vcall_visibility metadata for MicrosoftCXXABI (authored by tejohnson). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D73418/new/ htt

[PATCH] D71913: [LTO/WPD] Enable aggressive WPD under LTO option

2020-01-27 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson added a comment. In D71913#1837872 , @tejohnson wrote: > FYI I reverted this in rG90e630a95ecc > due to > a cfi test failure in a windows sanitizer bot. Not sure what is happ

[PATCH] D73242: [WPD/LowerTypeTests] Delay lowering/removal of type tests until after ICP

2020-01-30 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson marked an inline comment as done. tejohnson added a comment. In D73242#1847051 , @evgeny777 wrote: > > This is an enabler for upcoming enhancements to indirect call promotion, > > for example streamlined promotion guard sequences that compare ag

[PATCH] D73242: [WPD/LowerTypeTests] Delay lowering/removal of type tests until after ICP

2020-01-30 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson added a comment. In D73242#1849484 , @tejohnson wrote: > Both of these approaches need the type tests to determine the correct address > point offset (the offset in the type test) to use in the compare sequence. I typed this too fast - the off

[PATCH] D45217: [ThinLTO] Pass -save-temps to LTO backend for distributed ThinLTO builds

2018-04-03 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson created this revision. tejohnson added a reviewer: pcc. Herald added subscribers: eraman, inglorion, mehdi_amini. The clang driver option -save-temps was not passed to the LTO config, so when invoking the ThinLTO backends via clang during distributed builds there was no way to get LTO to

[PATCH] D39923: [ThinLTO] Handle -fdebug-pass-manager for backend invocations via clang

2017-11-10 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson created this revision. Herald added subscribers: eraman, inglorion, mehdi_amini. The LTO Config field wasn't being set when invoking a ThinLTO backend via clang (i.e. for distributed builds). https://reviews.llvm.org/D39923 Files: lib/CodeGen/BackendUtil.cpp test/CodeGen/thinlto-d

[PATCH] D39923: [ThinLTO] Handle -fdebug-pass-manager for backend invocations via clang

2017-11-10 Thread Teresa Johnson via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL317951: [ThinLTO] Handle -fdebug-pass-manager for backend invocations via clang (authored by tejohnson). Repository: rL LLVM https://reviews.llvm.org/D39923 Files: cfe/trunk/lib/CodeGen/BackendUtil.

[PATCH] D145403: [Pipeline] Don't run EarlyFPM in LTO post link

2023-03-21 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 Comment at: llvm/lib/Passes/PassBuilderPipelines.cpp:957 + // pipeline already cleaned up the frontend output. + if (Phase != ThinOrFullLTOPhase::ThinLTOPostLink

[PATCH] D131306: [llvm][misexpect] Track provenance of branch weights

2023-03-04 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson added a comment. Sorry for the slow response. Looks pretty good, just a few minor suggestions and questions. Comment at: llvm/include/llvm/IR/MDBuilder.h:61 /// Return metadata containing two branch weights. + MDNode *createBranchWeights(uint32_t TrueWeight, ui

[PATCH] D145644: [memprof] Add scripts to automate testdata regeneration.

2023-03-09 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson added a comment. Generally lgtm, but why did the raw profiles change size from what is currently committed? Comment at: llvm/test/Transforms/PGOProfile/Inputs/update_memprof_inputs.sh:63 + delete[] f; + + // Loop ensures the two calls to recurse have stack contexts

[PATCH] D145644: [memprof] Add scripts to automate testdata regeneration.

2023-03-09 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 Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D145644/new/ https://reviews.llvm.org/D145644 _

[PATCH] D145190: [memprof] Record BuildIDs in the raw profile.

2023-03-11 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson accepted this revision. tejohnson added a comment. lgtm Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D145190/new/ https://reviews.llvm.org/D145190 ___ cfe-commits mailing list cfe-commits@lists

[PATCH] D53891: [LTO] Add option to enable LTOUnit splitting, and disable unless needed

2023-03-11 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson added a comment. In D53891#4186892 , @nikic wrote: > In D53891#2116541 , @hans wrote: > >> Would be possible to add some documentation for this flag? From a quick >> search it's not clear to me what it do

[PATCH] D145951: [docs] Add more complete documentation for -f[no]split-lto-unit

2023-03-13 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson created this revision. tejohnson added reviewers: nikic, hans. Herald added subscribers: StephenFan, inglorion. Herald added a project: All. tejohnson requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. Option was added in D53891

[PATCH] D53891: [LTO] Add option to enable LTOUnit splitting, and disable unless needed

2023-03-13 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson added a comment. In D53891#4186894 , @tejohnson wrote: > In D53891#4186892 , @nikic wrote: > >> In D53891#2116541 , @hans wrote: >> >>> Would be possible to add som

[PATCH] D145951: [docs] Add more complete documentation for -f[no]split-lto-unit

2023-03-13 Thread Teresa Johnson 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 rGfb3b392264a0: [docs] Add more complete documentation for -f[no]split-lto-unit (authored by tejohnson). Repository: rG LLVM Github Monorepo CHANGE

[PATCH] D145190: [memprof] Record BuildIDs in the raw profile.

2023-03-13 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson accepted this revision. tejohnson added a comment. lgtm Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D145190/new/ https://reviews.llvm.org/D145190 ___ cfe-commits mailing list cfe-commits@lists

[PATCH] D152741: [WPD] implement -fskip-vtable-filepaths

2023-06-21 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson added a comment. In D152741#4422462 , @modimo wrote: > In D152741#4421067 , @tejohnson > wrote: > >> In D152741#4419366 , @modimo wrote: >> >>> In D152741#44193

[PATCH] D153468: [clang][LTO] Add flag to run verifier after every pass

2023-06-22 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson added inline comments. Comment at: clang/test/CodeGen/verify-each.c:5 +// RUN: %clang_cc1 -O2 -o /dev/null -triple x86_64-unknown-linux-gnu -emit-llvm-bc %s -fdebug-pass-manager 2>&1 | FileCheck %s --check-prefix=NO +// NO-NOT: Verifying + Huh, really

[PATCH] D153468: [clang][LTO] Add flag to run verifier after every pass

2023-06-22 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 Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D153468/new/ https://reviews.llvm.org/D153468 _

[PATCH] D152741: [WPD] implement -funknown-vtable-visibility-filepaths

2023-06-23 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 Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D152741/new/ https://reviews.llvm.org/D152741 _

[PATCH] D151593: [MemProf] Clean up MemProf instrumentation pass invocation

2023-05-26 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson created this revision. tejohnson added a reviewer: snehasish. Herald added subscribers: ormris, hiraditya. Herald added a project: All. tejohnson requested review of this revision. Herald added projects: clang, LLVM. First, removes the invocation of the memprof instrumentation passes fro

[PATCH] D151593: [MemProf] Clean up MemProf instrumentation pass invocation

2023-05-26 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson added inline comments. Comment at: clang/lib/CodeGen/BackendUtil.cpp:995 +// TODO: Consider passing the MemoryProfileOutput to the pass builder via +// the PGOOptions, and set this up there. vitalybuka wrote: > if this is registerOptimizerLast

[PATCH] D151593: [MemProf] Clean up MemProf instrumentation pass invocation

2023-05-26 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson added inline comments. Comment at: clang/lib/CodeGen/BackendUtil.cpp:995 +// TODO: Consider passing the MemoryProfileOutput to the pass builder via +// the PGOOptions, and set this up there. vitalybuka wrote: > tejohnson wrote: > > vitalybuka

[PATCH] D151593: [MemProf] Clean up MemProf instrumentation pass invocation

2023-05-26 Thread Teresa Johnson 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 rGf354e971b09c: [MemProf] Clean up MemProf instrumentation pass invocation (authored by tejohnson). Repository: rG LLVM Github Monorepo CHANGES SIN

[PATCH] D144482: [clang][docs] Document ThinLTO options for ld64.lld

2023-02-21 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 additional stale comment fix needed. Comment at: clang/docs/ThinLTO.rst:157 pruning. Cache pruning is supported with gold, ld64 and ELF and COFF lld, but

[PATCH] D149215: [MemProf] Control availability of hot/cold operator new from LTO link

2023-05-08 Thread Teresa Johnson 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 rG176889868024: [MemProf] Control availability of hot/cold operator new from LTO link (authored by tejohnson). Changed prior to commit: https://revi

[PATCH] D150295: [MemProf] Update hot/cold information after importing

2023-05-10 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson created this revision. tejohnson added a reviewer: davidxl. Herald added subscribers: ormris, steven_wu, hiraditya. Herald added a project: All. tejohnson requested review of this revision. Herald added projects: clang, LLVM. Herald added a subscriber: cfe-commits. The support added by D

[PATCH] D150295: [MemProf] Update hot/cold information after importing

2023-05-10 Thread Teresa Johnson 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 rG9e280c47588b: [MemProf] Update hot/cold information after importing (authored by tejohnson). Repository: rG LLVM Github Monorepo CHANGES SINCE LA

[PATCH] D150326: [WPD] Update llvm.public.type.test after importing functions

2023-05-10 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson created this revision. tejohnson added a reviewer: aeubanks. Herald added subscribers: ormris, steven_wu, hiraditya, emaste. Herald added a project: All. tejohnson requested review of this revision. Herald added subscribers: cfe-commits, MaskRay. Herald added projects: clang, LLVM. I not

[PATCH] D150326: [WPD] Update llvm.public.type.test after importing functions

2023-05-11 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson marked an inline comment as done. tejohnson added inline comments. Comment at: llvm/test/ThinLTO/X86/public-type-test.ll:31 ; HIDDEN-NOT: call {{.*}}@llvm.public.type.test ; HIDDEN: call {{.*}}@llvm.type.test aeubanks wrote: > should this be checked

[PATCH] D150326: [WPD] Update llvm.public.type.test after importing functions

2023-05-11 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson updated this revision to Diff 521340. tejohnson marked an inline comment as done. tejohnson added a comment. Address comment Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D150326/new/ https://reviews.llvm.org/D150326 Files: clang/test/C

[PATCH] D150326: [WPD] Update llvm.public.type.test after importing functions

2023-05-11 Thread Teresa Johnson 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 rGa40b0c3e77a2: [WPD] Update llvm.public.type.test after importing functions (authored by tejohnson). Repository: rG LLVM Github Monorepo CHANGES S

[PATCH] D72538: [ThinLTO] Add additional ThinLTO pipeline testing with new PM

2023-04-25 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson added a comment. In D72538#4291552 , @nikic wrote: > Would it be possible to cut down the Clang side tests to only check parts > that Clang controls in some way, e.g. that SLPVectorizer is enabled? This > test is something of a PITA because it

[PATCH] D72538: [ThinLTO] Add additional ThinLTO pipeline testing with new PM

2023-04-25 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson added a comment. In D72538#4296277 , @nikic wrote: > In D72538#4296119 , @tejohnson wrote: > >> In D72538#4291552 , @nikic wrote: >> >>> Would it be possible to cut

[PATCH] D149215: [MemProf] Control availability of hot/cold operator new from LTO link

2023-04-25 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson created this revision. tejohnson added a reviewer: snehasish. Herald added subscribers: hoy, ormris, arphaman, steven_wu, hiraditya, inglorion. Herald added a project: All. tejohnson requested review of this revision. Herald added projects: clang, LLVM. Herald added a subscriber: cfe-com

[PATCH] D149215: [MemProf] Control availability of hot/cold operator new from LTO link

2023-04-25 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson added a comment. This was refactored out of patch 3 (the applyImport stuff that I refactored into patch 4 in D149117 ). Previously I was controlling this behavior via the MemProfContextDisambiguation pass itself, but in refactoring I realized that it

[PATCH] D149215: [MemProf] Control availability of hot/cold operator new from LTO link

2023-04-25 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson updated this revision to Diff 517043. tejohnson added a comment. Rebase onto latest D149117 to remove extraneous test diffs Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D149215/new/ https://reviews.llvm

[PATCH] D149215: [MemProf] Control availability of hot/cold operator new from LTO link

2023-04-25 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson updated this revision to Diff 517044. tejohnson added a comment. Remove extraneous call Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D149215/new/ https://reviews.llvm.org/D149215 Files: clang/test/CodeGen/thinlto-distributed-supports-h

[PATCH] D149215: [MemProf] Control availability of hot/cold operator new from LTO link

2023-04-27 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson updated this revision to Diff 517678. tejohnson added a comment. Expand command and patch description for mechanism used by distributed ThinLTO Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D149215/new/ https://reviews.llvm.org/D149215 Fi

[PATCH] D149215: [MemProf] Control availability of hot/cold operator new from LTO link

2023-04-27 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson added a comment. In D149215#4303149 , @pcc wrote: >> Adds an LTO option > > Usual question: does it need to be an option? Could the allocator expose a > symbol such as `__malloc_hot_cold` that the linker could check for in the > symbol table?

[PATCH] D149600: [MemProf] Recognize hot/cold operator new as replaceable allocations

2023-05-01 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson created this revision. tejohnson added reviewers: rsmith, snehasish. Herald added a project: All. tejohnson requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. Follow up to LLVM-side change to allow conversion to hot/cold hinted opera

[PATCH] D149600: [MemProf] Recognize hot/cold operator new as replaceable allocations

2023-05-01 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson added inline comments. Comment at: clang/test/CodeGenCXX/new_hot_cold.cpp:16 + +enum class __hot_cold_t : uint8_t; +namespace malloc_namespace { snehasish wrote: > Can we skip the typedef and just say `enum class __hot_cold_t : unsigned > char;`? > >

[PATCH] D149600: [MemProf] Recognize hot/cold operator new as replaceable allocations

2023-05-01 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson updated this revision to Diff 518526. tejohnson added a comment. Address comment Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D149600/new/ https://reviews.llvm.org/D149600 Files: clang/lib/AST/Decl.cpp clang/test/CodeGenCXX/new_hot_c

[PATCH] D149600: [MemProf] Recognize hot/cold operator new as replaceable allocations

2023-05-01 Thread Teresa Johnson 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 rG2cc0c0de8021: [MemProf] Recognize hot/cold operator new as replaceable allocations (authored by tejohnson). Repository: rG LLVM Github Monorepo C

[PATCH] D149215: [MemProf] Control availability of hot/cold operator new from LTO link

2023-05-02 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson updated this revision to Diff 518721. tejohnson added a comment. Address comment (add TODO about automatically detecting support) Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D149215/new/ https://reviews.llvm.org/D149215 Files: clang/t

[PATCH] D149800: [WIP][PGO] Add ability to mark cold functions as optsize/minsize/optnone

2023-05-03 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson added a subscriber: yamauchi. tejohnson added a comment. Previously @yamauchi did a bunch of work related to this called PGSO (Profile Guided Size Optimization). See the functions in https://github.com/llvm-mirror/llvm/blob/master/lib/Transforms/Utils/SizeOpts.cpp, which are used to g

[PATCH] D152741: [WPD] implement -fskip-vtable-filepaths

2023-06-13 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson added a comment. I think I understand the motivation, but not sure I agree this is the right approach - can you simply not pass -flto-unit and -fwhole-program-vtables for these files? Also, isn't this hiding possibly necessary info from WPD that might be needed for correct class hier

<    1   2   3   4   5   6   7   >