JIT: Switch remainder of lowering to new ABI info#112544
JIT: Switch remainder of lowering to new ABI info#112544jakobbotsch merged 3 commits intodotnet:mainfrom
Conversation
This required introducing some new information in `ABIPassingSegment` for stack-passed segments about whether they own the full stack slot or not. Apple arm64 notoriously has cases where multiple parameters are packed in the same stack slot.
|
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch |
| //--------------------------------------------------------------- | ||
| // CheckIsStruct: Verify that the struct ABI information is consistent with the IR node. | ||
| // | ||
| void CallArg::CheckIsStruct() |
There was a problem hiding this comment.
I decided to remove this; the backend is already be doing similar validation for IR shapes depending on the ABI information.
|
PTAL @dotnet/jit-contrib No diffs. Some MinOpts TP regressions in the 0.1-0.2% range (and some larger outliers in collections with very few MinOpts contexts). Detailed TP diff for MinOpts contexts only looks like: MSVC no longer inlines |
| //----------------------------------------------------------------------------- | ||
| // OnStackWithoutConsumingFullSlot: | ||
| // Create an ABIPassingSegment representing that a segment is passed on the | ||
| // stack, and which does not gets its own full stack slot. |
There was a problem hiding this comment.
| // stack, and which does not gets its own full stack slot. | |
| // stack, and which does not get its own full stack slot. |
There was a problem hiding this comment.
I will fix this as part of a follow up
This required introducing some new information in
ABIPassingSegmentfor stack-passed segments about whether they own the full stack slot or not. Apple arm64 notoriously has cases where multiple parameters are packed in the same stack slot.