Repository navigation
Do not create ADDR(HWI/SIMD) in the inliner - #74276
Conversation
|
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch Issue DetailsWhen inserting return expressions in the inliner, we do some IR munging to maintain the invariant that multi-reg nodes are only used by multi-reg stores. This procedure was creating some illegal We're expecting sizeable positive diffs due to unblocking a number of forward substitutions that would otherwise fail on the "multi-reg state must match" checks.
|
f404c3a to
e574525
Compare
|
@dotnet/jit-contrib |
e574525 to
90d6797
Compare
Integer zero works better with ASG parents (they turn into init blks).
90d6797 to
73e70fe
Compare
|
@EgorBo @jakobbotsch can one of you take a look at this? |
|
Let's bounce this one. |
|
Thanks again for your contribution! |
|
Possible improvements: |
When inserting return expressions in the inliner, we do some IR munging to maintain the invariant that multi-reg nodes are only used by multi-reg stores. This procedure was creating some illegal
ADDRs, which only "worked out" because block morphing would later always discard them. This change avoids that by creating simple stores from the beginning.We're expecting sizeable positive diffs due to unblocking a number of forward substitutions that would otherwise fail on the "multi-reg state must match" checks.
Diffs - with some regressions due to the usual consequences of more propagations.