Skip to content

Commit

Permalink
Jit: fix some sources of x64 chk/rel diffs (dotnet#39888)
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 authored and Jacksondr5 committed Aug 10, 2020
1 parent 0e3b1de commit 043f0c8
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 043f0c8

Please sign in to comment.