User Details
- User Since
- Jan 17 2019, 12:43 AM (244 w, 19 h)
Jul 12 2023
May 28 2023
May 4 2023
Apr 26 2023
Feb 28 2023
restrict the change only to x86_64
- only affect x86
- less brittle testcase
Feb 27 2023
Feb 26 2023
RUN to check the added option
Feb 23 2023
Feb 21 2023
@rnk do you have plan to bring this back?
Nov 3 2022
LGTM.
Oct 23 2022
Apr 22 2022
Apr 7 2022
Apr 6 2022
Address Phoebe's comments.
Address Simon's comments.
Address Phoebe's comments.
Apr 5 2022
update the comments.
Apr 4 2022
Apr 1 2022
Address comments from Craig.
Mar 30 2022
Sep 24 2021
Obviously 0.01 there is a pure guesstimate.
To fix one of my local performance regressions, I need to set it to 0.1 at least.
But tuning the value seems to be meaningless. Because:
Without your patch, isReallyTriviallyReMaterializableGeneric return true means that the VR is definitely ReMaterializable.
With your patch, isReallyTriviallyReMaterializableGeneric return true means that the VR is probably ReMaterializable.
I don't think the change is consistent with this function's orignal design goal.
Moreover, your patch conflicts with our target implementation: X86InstrInfo::isReallyTriviallyReMaterializable (llvm/lib/Target/X86/X86InstrInfo.cpp). E.g., for most LEA instructions, our implementation will return false. While your patch will always return true if LEA is using virtual registers. Your patch makes our target implementation useless anymore.
Sep 22 2021
There is some internal benchmark performance regression after the patch landed.
The story is as follows:
There is a virtual register: %5 which lives across many basic blocks (some are inside loops).
Before this patch is landed, its weight is: 2.299834e-03 as below:
Apr 26 2021
The broken antideps number looks good but how about the final impact to runtime performance?
Could you please provide SPEC2017 performance data such as rate (like https://reviews.llvm.org/D85368)?
Apr 8 2021
Mar 11 2021
Can you provide any performance data for SPEC? SPEC2017 is better than SPEC2006.
Jan 6 2021
LGTM. But I suggest you waiting for one or two days to see if @qcolombet or others object.
Jan 3 2021
Nov 16 2020
Sep 11 2019
@RKSimon I'm busy with other stuff and my colleague: LiuChen3 will help finish the work.
Jun 18 2019
Can anyone provide me some small reproducers code for the issue tripped over by Chromium / Skia?
Yes, there is a test to ensure that Darwin defaults to the old behaviour in "test/CodeGen/x86_32-m64.c".
Jun 17 2019
I have created a patch for you: https://reviews.llvm.org/D63473
Is it ok?
Please make sure all Chromium for 32-bit Linux libraries are following System V ABI (i.e., m64 is passed on mmx register). I suspect that there are some hand written assembly code in your libraries which is not following the ABI.
Jun 11 2019
Thanks for the comments!
Updated for landing.
Thanks for the suggestions!
I have updated it.
Jun 6 2019
Thanks for the suggestions!
I have updated the patch accordingly.
Jun 3 2019
Consider other Systems (e.g Darwin, PS4 and FreeBSD) don't want to spend any effort dealing with the ramifications of ABI breaks (as discussed in https://reviews.llvm.org/D60748) at present, I only fix the bug for Linux. If other system wants the fix, the only thing needed is to add a flag (like "IsLinuxABI" ) to enable it.
Jun 1 2019
Hi all,
May 30 2019
Thanks for the information!
We have reverted the patch and will resubmit it when we have a complete fix.
May 28 2019
Ok for merge now?
May 23 2019
No, in most normal operation for x86_32, LLVM does the wrong thing. A simple example to show the ABI bug:
May 14 2019
Hi all,
May 13 2019
Yes, the ABI bug will cause SEGV in Linux where a lot of libraries are built by GCC.
I have restricted the fix to Linux only in the latest revision.
Any other comments?
Apr 27 2019
Ok, I have excluded Darwin and PS4 for the changes.
The fix mainly targets at Linux so that we can compile a project with parts by GCC and parts by LLVM given that they follow the same ABI.
Apr 17 2019
Apr 15 2019
Apr 14 2019
Apr 3 2019
Dear reviewers, any comments?