Skip to content

Commit

Permalink
Jit: fix some sources of x64 chk/rel diffs
Browse files Browse the repository at this point in the history
Break IGs for perfscores the same way in chk and rel. Also, fix the xarch
peephole to work across extended IGs.

Closes dotnet#39845.
  • Loading branch information
AndyAyersMS committed Jul 24, 2020
1 parent 9cc14a8 commit 4c10cae
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 4 deletions.
2 changes: 0 additions & 2 deletions src/coreclr/src/jit/codegenlinear.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -344,7 +344,6 @@ void CodeGen::genCodeForBBlist()
needLabel = true;
}

#if defined(DEBUG) || defined(LATE_DISASM)
// We also want to start a new Instruction group by calling emitAddLabel below,
// when we need accurate bbWeights for this block in the emitter. We force this
// whenever our previous block was a BBJ_COND and it has a different weight than us.
Expand All @@ -356,7 +355,6 @@ void CodeGen::genCodeForBBlist()
{
needLabel = true;
}
#endif // DEBUG || LATE_DISASM

if (needLabel)
{
Expand Down
6 changes: 4 additions & 2 deletions src/coreclr/src/jit/emitxarch.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -163,8 +163,10 @@ bool emitter::IsDstSrcSrcAVXInstruction(instruction ins)

bool emitter::AreUpper32BitsZero(regNumber reg)
{
// Don't look back across IG boundaries (possible control flow)
if (emitCurIGinsCnt == 0)
// If there are no instructions in this IG, we can look back at
// the previous IG's instructions if this IG is an extension.
//
if ((emitCurIGinsCnt == 0) && ((emitCurIG->igFlags & IGF_EXTEND) == 0))
{
return false;
}
Expand Down

0 comments on commit 4c10cae

Please sign in to comment.