Skip to content

Commit 9744bf9

Browse files
authoredMar 31, 2023
Take advantage of simplifications enabled by folding all indirect access to locals (#79722)
* Simplify DefinesLocal * Delete DefinesLocalAddr from VN * Simplify fgPerNodeLocalVarLiveness * Simplify fgRemoveDeadStore * Simplify gtSetEvalOrder * Simplify optComputeLoopSideEffectsOfBlock * Bring back some folding in morph Forward sub can bring in local address nodes and not recognizing them pessimizes things * Delete IsLocalAddrExpr * Delete DefinesLocalAddr * Delete IndirTransform::None
1 parent d0d7154 commit 9744bf9

File tree

10 files changed

+272
-509
lines changed

10 files changed

+272
-509
lines changed
 

Diff for: ‎src/coreclr/jit/compiler.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -3058,7 +3058,7 @@ class Compiler
30583058
// Check if this tree is a typeof()
30593059
bool gtIsTypeof(GenTree* tree, CORINFO_CLASS_HANDLE* handle = nullptr);
30603060

3061-
GenTree* gtCallGetDefinedRetBufLclAddr(GenTreeCall* call);
3061+
GenTreeLclVarCommon* gtCallGetDefinedRetBufLclAddr(GenTreeCall* call);
30623062

30633063
//-------------------------------------------------------------------------
30643064
// Functions to display the trees

Diff for: ‎src/coreclr/jit/gcinfo.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -285,7 +285,7 @@ GCInfo::WriteBarrierForm GCInfo::gcIsWriteBarrierCandidate(GenTreeStoreInd* stor
285285
//
286286
GCInfo::WriteBarrierForm GCInfo::gcWriteBarrierFormFromTargetAddress(GenTree* tgtAddr)
287287
{
288-
if (tgtAddr->IsLocalAddrExpr() != nullptr)
288+
if (tgtAddr->OperIsLocalAddr())
289289
{
290290
// No need for a GC barrier when writing to a local variable.
291291
return GCInfo::WBF_NoBarrier;

0 commit comments

Comments
 (0)
Please sign in to comment.