Skip to content

Add a forgotten fgMorphInitBlock to fix jitstress issue.#56893

Merged
sandreenko merged 2 commits intodotnet:mainfrom
sandreenko:promotedStress
Aug 5, 2021
Merged

Add a forgotten fgMorphInitBlock to fix jitstress issue.#56893
sandreenko merged 2 commits intodotnet:mainfrom
sandreenko:promotedStress

Conversation

@sandreenko
Copy link
Contributor

Fixes #49189.

No asm diffs.

With STRESS_PROMOTE_FEWER_STRUCTS we were ending up with:

***** BB01
STMT00005 (IL 0x01D...  ???)
               [000037] IA----------              *  ASG       struct (init)
               [000036] D------N----              +--*  LCL_VAR   struct<JitTest.ValueClass, 4>(P) V04 tmp2
                                                  +--*    ref    V04.arr (offs=0x00) -> V06 tmp4
               [000025] -----+------              \--*  CNS_INT   int    0

------------ BB02 [???..???) (return), preds={BB01} succs={}

***** BB02
STMT00007 (IL   ???...  ???)
               [000031] -----+------              *  RETURN    struct
               [000030] -----+-N----              \--*  LCL_VAR   ref    V06 tmp4

and because V04 was marked as independently promoted we were later deleting the asg and ended with incorrect IR that was triggering an assert.

@sandreenko sandreenko added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label Aug 5, 2021
@sandreenko
Copy link
Contributor Author

/azp run runtime-coreclr jitstress

@sandreenko
Copy link
Contributor Author

cc @dotnet/jit-contrib

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@sandreenko sandreenko merged commit 1fb151f into dotnet:main Aug 5, 2021
@ghost ghost locked as resolved and limited conversation to collaborators Sep 7, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Jit asserts with STRESS_PROMOTE_LESS_STRUCTS

2 participants