User Details
- User Since
- Sep 9 2019, 7:00 PM (185 w, 4 d)
Aug 10 2022
Aug 8 2022
change the error report
Aug 7 2022
fix lit fail and handle '-march=native'
Aug 5 2022
Aug 3 2022
Aug 2 2022
Sorry for the late update. I hope you can take the time to continue reviewing, @rjmccall .
I'm not sure if I understand you correctly. Now if the -mextend-small-integers=default is used, compiler will report error.
rebase and address rjmccall's comments
May 16 2022
Thanks, @rjmccall . I'm sorry I don't have much time on this patch recently. I will update it later.
May 6 2022
Use -mextend-small-integers=<arg> instead of boolean option
Apr 27 2022
add one missing comment
Address comments
Apr 26 2022
fix bug
Apr 20 2022
Apr 19 2022
I think you need to add a new ConservativeExtend kind to ABIArgInfo and make X86_64ABIInfo::classifyArgumentType (and classifyReturnType?) use that instead of Extend.
According to our internal tests, the performance of most of the tests is not affected. The most affected test performance dropped by %0.76. Average performance dropped 0.25%. This matches our expectations
Apr 18 2022
If there is no better solution, I hope this patch merge in. This is a bug that needs to be fixed.
rebase
Apr 13 2022
Address Phoebe's comments: remove 32-bit target check.
Apr 11 2022
Ping? This bug will cause correctness issues, we need to fix it. I think it is possible to fix in the backend in the current situation.
Is there any other better method, @jyknight @lebedev.ri
Apr 7 2022
It seems we all agree we should extend the parameter both in caller and in callee. This is also the behavior of gcc.
For now, the front-end doesn't have an accurate attribute that describes what we're expecting right now and doesn't know whether the function is external linked. By default clang will do the extension only in the caller. This forced us to do some workarounds on the backend.
We also thought about setting these attributes correctly in the IPO, but is there any possibility that IPO won't do in some cases?
D112942 introduces a new parameter attribute NoExt might help us. But this still means that by default, we will do extension in both caller and callee. And only in some optimization cases, we will do extension in caller or callee. Still not the ideal method that lebedev.ri expected.
Besides, I think that as an ABI issue, the correctness should be guaranteed first, optimization is not always guaranteed.
@lebedev.ri, is there any better approach to fix this issue?
Address Shenchen's comment
Apr 6 2022
Address Yuanke's comments: do the extension only if the function isn't local linked.
Apr 1 2022
Jan 24 2022
Sep 27 2021
Thanks for you review.
Can you take a review again and +1 if no problem? I missed changing some testcases. Thanks.
Fix check-all fail.
Sep 23 2021
Thanks for you review. The order of operand is changed in final commit: The addend of FMA builtin is moved from the first to the third.
Sep 22 2021
Address comments.
- Remove redundant option checkRemove redundant option check.
- Reformat.
Distinguish 0.0 and -0.0 in FMA.
Sep 17 2021
Adress comments
Adress comments.
Adress comments.
Address comments
Sep 9 2021
Thanks for reviewing this patch!
Aug 23 2021
Address pengfei's comments.