This fold, helps recover from the rest of the D62266 ARM regressions.
https://rise4fun.com/Alive/TvpC
Note that while the fold is quite flexible, i'we restricted it
to the single interesting pattern at the moment.
Paths
| Differential D62450
[DAGCombine][ARM] x ==/!= c -> (x - c) ==/!= 0 iff '-c' can be folded into the x node. AbandonedPublic Authored by lebedev.ri on May 25 2019, 10:23 AM.
Details Summary This fold, helps recover from the rest of the D62266 ARM regressions. Note that while the fold is quite flexible, i'we restricted it
Diff Detail
Event Timelinelebedev.ri retitled this revision from [DAGCombine] x ==/!= c -> (x - c) ==/!= 0 iff '-c' can be folded into the x node. to [DAGCombine][ARM] x ==/!= c -> (x - c) ==/!= 0 iff '-c' can be folded into the x node..May 25 2019, 11:49 AM lebedev.ri removed a child revision: D62294: [DAGCombine] (x - C) - y -> (x - y) - C fold.May 28 2019, 10:21 AM Comment Actions Can you add test coverage for some other target, maybe x86? Can you add test coverage for a few more variations? Maybe something with SUBCARRY? Comment Actions
I don't know how to add standalone test coverage here. Comment Actions It's indeed not clear if what you have is the result of the legalizer. In this case just proceed. This revision is now accepted and ready to land.Oct 22 2019, 8:21 AM Comment Actions
Okay :( Closed by commit rG4334892e7b07: [DAGCombine][ARM] x ==/!= c -> (x - c) ==/!= 0 iff '-c' can be folded into… (authored by lebedev.ri). · Explain WhyOct 22 2019, 12:58 PM This revision was automatically updated to reflect the committed changes. Comment Actions This broke building of Qt, ffmpeg/libav and libgcrypt for mingw-i686, with failed asserts `BitWidth == RHS.BitWidth && "Bit widths must be the same"', see https://bugs.llvm.org/show_bug.cgi?id=43769 for reproduction sample. Comment Actions
It also broke Chromium, see https://bugs.chromium.org/p/chromium/issues/detail?id=1016949#c1 for our reproducer. I've reverted in 684ebc6. Comment Actions
Thanks, this one is different from the first report. This revision is now accepted and ready to land.Oct 23 2019, 11:09 AM
Revision Contents
Diff 226077 llvm/include/llvm/CodeGen/TargetLowering.h
llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
llvm/test/CodeGen/ARM/addsubcarry-promotion.ll
|