Checks for implicit defs that are unused within a pattern and mark them as dead.
This is done directly at the TableGen level forr efficiency.
The instructions are directly created with the "dead" operand and no further analysis is needed later.
Differential D157273
[GlobalISel] Add dead flags to implicit defs in ISel Pierre-vh on Aug 7 2023, 4:00 AM. Authored by
Details Checks for implicit defs that are unused within a pattern and mark them as dead. This is done directly at the TableGen level forr efficiency.
Diff Detail
Event TimelineComment Actions A couple of things to note:
Comment Actions The only codegen change I spotted was in mul-scalar.ll (X86) Comment Actions It's not really a correctness fix, it's just avoiding regressing > 30 globalisel tests when my fix for that is applied. Most of the cases we're compensating for missing constant folding in GlobalISel
Comment Actions Probably can ignore this
It doesn't matter, dead flags shouldn't be set on reserved registers but also shouldn't matter Comment Actions I guess if we want to be 100% correct we could check for the presence of RegState::Dead in the flags, and check if we're dealing with a reserved register.
|