FixOptRepeat and force repeating#100447
Conversation
|
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch |
|
/azp run runtime-coreclr outerloop, runtime-coreclr jitstress, runtime-coreclr libraries-jitstress |
|
Azure Pipelines successfully started running 3 pipeline(s). |
1. Remove an assertion checking assert that can be invalid under JitOptRepeat, where we might lose information that a constant was ever a handle. 2. Disable JIT/Directed/debugging/debuginfo/tester.csproj under OptRepeat: optimizations mess with its debug info expectations. 3. Enable JitOptRepeat under stress
3347a45 to
dbebcaf
Compare
|
/azp run runtime-coreclr outerloop, runtime-coreclr jitstress, runtime-coreclr libraries-jitstress |
|
Azure Pipelines successfully started running 3 pipeline(s). |
|
Huge code size improvements: 4MB or more. TP measurement is odd: on Linux, -0.20% or so, but no change on Windows? Note that there are a lot more "missing" contexts with OptRepeat. |
|
While I love the size wins 🙂 it's hard to believe that 4 iterations of SSA + VN + assertprop + etc lead to 0.00% TP on most platforms? Perhaps, it's not kicked-in for Release? PS: yeah, looks like JitOptRepeat is Debug/Checked (because of |
|
Ah, ok, the TP non-change makes sense. OptRepeat isn't getting turned on in Release. |
It will need to be enable-able in release for the experiments to work there. |
#94250
and force repeat each function 4x