Repository navigation
Fix STRESS_64RSLT_MUL stress mode to avoid creating unnecessary IR - #77871
BruceForstall wants to merge 1 commit into
Conversation
Issue dotnet#77152 is an assert in unoptimized code where the IR constructs an addressing mode from a tree including a GT_MUL with op2 of zero, hence it ignores op1, but then asserts because it only expects a limited set of IR nodes to be in the op1 tree. This fixes this one particular case by avoiding creating the extra nodes in this stress mode. In normal optimized code, the MUL with zero would be folded. Fixes dotnet#77152
|
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch Issue DetailsIssue #77152 is an assert in unoptimized code where the IR constructs an addressing mode from a tree including a GT_MUL with op2 of zero, hence it ignores op1, but then asserts because it only expects a limited set of IR nodes to be in the op1 tree. This fixes this one particular case by avoiding creating the extra nodes in this stress mode. In normal optimized code, the MUL with zero would be folded. Fixes #77152
|
|
I wrote a more general fix at #77872. There should be no diffs from either, but the more general fix will have slightly more throughput impact. Not sure we need the generality. |
|
@EgorBo @dotnet/jit-contrib PTAL |
|
Went with the more general fix. |
Issue #77152 is an assert in unoptimized code where the IR constructs an addressing mode from a tree including a GT_MUL with op2 of zero, hence it ignores op1, but then asserts because it only expects a limited set of IR nodes to be in the op1 tree.
This fixes this one particular case by avoiding creating the extra nodes in this stress mode. In normal optimized code, the MUL with zero would be folded.
Fixes #77152