- User Since
- Apr 13 2015, 9:48 AM (209 w, 4 d)
This is not completely NFC as it modifies branch weight update behavior (though correctly), so please do more pgo testings to avoid surprises (e.g, some weird dependencies on old behavior).
Looked at the Instruction::updateProfWeight() --- the part that update branch_weights seems bogus -- there is need need to scale branch weight at all.
Can you clarify? IIRC, we never update the per-call site profile meta data with inline transformations.
It is possible to for an entry with zero count -- as for instance in instrumentation PGO. Should it be fixed in place where the div by zero happens?
Thu, Apr 11
Wed, Apr 10
Fri, Mar 29
Thu, Mar 28
Thu, Mar 21
Look fine in general. Easwaran can help with review of pass pipeline changes
Mar 19 2019
Missing unit tests for the feature.
Mar 12 2019
Mar 11 2019
Mar 7 2019
Mar 6 2019
Mar 5 2019
Mar 4 2019
Mar 2 2019
Feb 28 2019
The secondary map 'ProfileData' is needed occasionally (to use cfg hash). doing sorting with std::map is not needed strictly speaking, but it has the nice property of having fixed order.
The number of functions with name conflicts (and requires) using secondary map is very few, so the performance should not be affected.
Feb 27 2019
thanks. Can you add a few test cases in the patch?
Feb 26 2019
Please add changes to option documentation.
Feb 25 2019
Feb 21 2019
Feb 14 2019
Feb 13 2019
Feb 8 2019
LLVM part looks ok. Do you have plan to hook it up with Clang driver? It is also good to add support in llvm-profdata to support converting the raw mapping+dumping into linker order file format.
Feb 7 2019
Feb 6 2019
Feb 1 2019
Please also add a profile dumping/reading round trip test with isCS flag (there are existing similar test for llvm-profdata)
Jan 31 2019
Jan 30 2019
There is a copy of InstrProfData.inc in compiler-rt, and that one needs to be kept in sync with the one in compiler side.
Have not looked at it in details, but it looks like the support for the new PM is missing. Can that be added?
Jan 27 2019
Thanks for the data. It is certainly a great improvement over the hybrid WPD.
Jan 24 2019
Do you have any benchmarking numbers?
Jan 23 2019
Jan 22 2019
Jan 11 2019
Vtable funcs info should be in the initializers of vtable global variables right?
A very high level meta question: can thinLink phase read symbol table from each module? If yes, why duplicate the symtab information into summary?
Jan 8 2019
Jan 7 2019
why is list-below-cutoff option useful?
Jan 4 2019
Dec 21 2018
Dec 20 2018
Dec 19 2018
Can you write a test case with a shared library that is instrumented and write a main program with dlopen to demonstrate the problem if the fix is not there?
Dec 13 2018
Dec 11 2018
Nov 30 2018
Can you add a summary of this change, i.e., the driver option processing flow for csPGO.
Nov 27 2018
There are more rooms to improve, but can be done independently.
Nov 26 2018
Nov 15 2018
Nov 12 2018
Nov 11 2018
Nov 7 2018
Can you add a simple test case making sure the func entry is properly annotated?
Test cases are missing in the patch.
Nov 6 2018