You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In order to enable this, we need to do following:
1. Generate _v instead of _s variants of the sub instructions,
following the same patterns as for the cmp instruction.
2. Remove Flags from reserved registers.
3. Convert from _v to _s variants in Peephole Optimizer if
flags register is not used.
4. Remove identical cmp instructions.
This is the same design that AArch64 is using and that
is to generate fake cmp instructions from sub to leverage
MachineCSE, and to convert fake cmp instructions back to subs
in the PeepholeOptimizer. If we want to use different approach
we would probably need to teach MachineCSE flag setting
counterparts have the same semantic. This could be problematic
since MachineCSE uses lookup table to identify identical
instructions, so we would always need to generate MI
counterparts to check the lookup table and to worry about
deallocation of that MI (a lot of local changes + we would
need to be very careful not to introduce some issues).
PR: #612.
Signed-off-by: Vladimir Radosavljevic <[email protected]>
0 commit comments