- User Since
- Apr 13 2015, 9:48 AM (415 w, 5 d)
Mon, Mar 20
Document the new llvm-profdata option in the Commandline guide.
Tue, Mar 14
Tue, Mar 7
looks good to me (and less confusing ;) ).
Mar 1 2023
Feb 28 2023
Feb 16 2023
Feb 6 2023
There is a related patch by Arthur: https://reviews.llvm.org/D143424. Can that patch solve the problem?
Jan 20 2023
Jan 13 2023
Jan 12 2023
Jan 10 2023
great cleanup overall.
Jan 3 2023
The check looks unnecessary or misplaced.
Dec 29 2022
Is the MIB removal purely for the purpose of reducing memory usage? It seems safe to always keep them.
Dec 21 2022
It might be better to ask for commit access. It is needed for potential follow-ups.
never mind. I misunderstood the usage of this variable. There is no need to adjust.
Dec 20 2022
It seems that the explosion can happen when the always-inline callee has multiple call edges within the nontrivial SCC. Should the check be more refined?
Dec 7 2022
Add a test case for completeness.
Dec 6 2022
Nov 29 2022
thanks for reverting. There is test case available to identify the root cause of regressions.
Nov 28 2022
Nov 22 2022
This looks good. Sotiris may help with a quick benchmarking for the patch.
Nov 21 2022
Nov 18 2022
Nov 6 2022
I see. The DOT CFG graph dump uses the layout order instead of the MBB number. Another way to fix this is to use the following in the node label: BBName[MBBNum][layout-order], but making the MBB num and layout number consistent under an option is fine to me.
Nov 4 2022
or show an example how the mapping is made harder without renumbering.
Does MIR text output show MBB number in the dump?
Nov 2 2022
y = tmp + i + x;
This is essentially forward propagation (with multi-use) and is a generally a good way to reduce dependence height. For instance it can be used to enable reassociation and LICM:
Nov 1 2022
Add a small test case (with small threshold)?
Oct 27 2022
Oct 26 2022
What is the use case for the feature?
Oct 25 2022
For incremental build, are the artifacts (build logs) also cached?
The use case of the feature is still a little fuzzy to me. Why is the mismatch issue not caught and handled at build time?
Oct 24 2022
Oct 20 2022
Naive question -- can this be done as a post-processing step with proper reordering?
Vasileios, Abataev's suggestion seems reasonable. Can you try it?
Oct 13 2022
Oct 11 2022
sounds fine to me.
Oct 7 2022
Oct 5 2022
Is it due to the mixing instrumented shared libraries built with different compiler and profile versions?
Oct 4 2022
- the CommandLine documentation file needs to be updated.
- what is the use case of splitting text and text-encoding?
Sep 28 2022
Sep 27 2022
Perhaps add a TODO in the comment part for the longer term solution suggested by nikic. Otherwise LGTM
Sep 25 2022
Sep 23 2022
Jumpthreading 'avoids' the problem with an earlier guard. Since the fix is in a common path, it is ok to just test simplifyCFG.
Sep 22 2022
Re nikic's comment -- I agree with the statement in general, but I think the infrastructure fix is orthogonal to the bug fix (with the status quo). For what you suggested, we should probably file a bug to track it.
Thanks for the nice graph. It looks like after the simplification, for.cond is used as latch for both the inner and outer loop, but only one MD data is allowed. In this case, I think we should disable the block merge.
Sep 21 2022
Sep 20 2022
Sep 19 2022
This looks like related to infinite loops.
Sep 18 2022
It would be clearer to describe the problem with example CFGs before and after (probably using ascii art) and explain how the meta data is lost during this transformation.
Sep 17 2022
lgtm (The InlineFunction body is getting really big. Probably worth breaking it up in the future).
Why not adding another parameter to InlineFunction method to specify whether attribute Merge is done?
Sep 16 2022
Ok -- my confusion was the naming of the SinkPt variable -- it should actually be named 'SI'. I through the sinkpt is the actual bb after select is expanded into branch.
Sep 15 2022
Sep 13 2022
It is unclear that the more precise life time tracking can make a big difference given the code region (post transformation) is small, so this handling LGTM.
Sep 8 2022
The example provided shows that there is a missing opportunity for CSE (of address computation of Vec[i]). The decision on GEP ordering should probably better be based on more general reassociation analysis for enabling more CSE/LICM.
Sep 6 2022
Sep 1 2022
Can you simplify the test case (e.g. stripping the debug info)?
Aug 31 2022
Aug 29 2022
Aug 26 2022
I did not look at the patch in details. At a high level, it seems that the pass itself does not use profile data to make decisions, so BPI/BFI is really not needed. Instead, directly updating the profile meta data as transformation happens is reasonable (unless BFI provides updating APIs for cases like this, which is not the case).
emit an error for merging profiles of different kind is ok.
Aug 25 2022