Skip to content

Commit

Permalink
JIT: Stop calling morph from CSE (dotnet#106695)
Browse files Browse the repository at this point in the history
CSE cannot tolerate morph removing any defs, which many of morphs
transformations can do. We have been slowly infecting morph with more
and more checks to avoid this, but in reality CSE just should not
reinvoke morph -- the benefits of doing this are minimal.
  • Loading branch information
jakobbotsch authored Oct 15, 2024
1 parent 74857d7 commit 07f15ef
Show file tree
Hide file tree
Showing 5 changed files with 136 additions and 248 deletions.
1 change: 0 additions & 1 deletion src/coreclr/jit/compiler.h
Original file line number Diff line number Diff line change
Expand Up @@ -6944,7 +6944,6 @@ class Compiler
TypeProducerKind gtGetTypeProducerKind(GenTree* tree);
bool gtIsTypeHandleToRuntimeTypeHelper(GenTreeCall* call);
bool gtIsTypeHandleToRuntimeTypeHandleHelper(GenTreeCall* call, CorInfoHelpFunc* pHelper = nullptr);
bool gtIsActiveCSE_Candidate(GenTree* tree);

bool gtTreeContainsOper(GenTree* tree, genTreeOps op);
ExceptionSetFlags gtCollectExceptions(GenTree* tree);
Expand Down
5 changes: 0 additions & 5 deletions src/coreclr/jit/gentree.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -17653,11 +17653,6 @@ bool Compiler::gtIsTypeHandleToRuntimeTypeHandleHelper(GenTreeCall* call, CorInf
return helper != CORINFO_HELP_UNDEF;
}

bool Compiler::gtIsActiveCSE_Candidate(GenTree* tree)
{
return (optValnumCSE_phase && IS_CSE_INDEX(tree->gtCSEnum));
}

//------------------------------------------------------------------------
// gtTreeContainsOper -- check if the tree contains any subtree with the specified oper.
//
Expand Down
Loading

0 comments on commit 07f15ef

Please sign in to comment.