@@ -114,6 +114,7 @@ void* operator new[](size_t n, Compiler* context, CompMemKind cmk);
114114
115115// Requires the definitions of "operator new" so including "LoopCloning.h" after the definitions.
116116#include " loopcloning.h"
117+ #include " rangecheckcloning.h"
117118
118119/* ****************************************************************************/
119120
@@ -3809,7 +3810,7 @@ class Compiler
38093810 bool gtStoreDefinesField (
38103811 LclVarDsc* fieldVarDsc, ssize_t offset, unsigned size, ssize_t * pFieldStoreOffset, unsigned * pFieldStoreSize);
38113812
3812- void gtPeelOffsets (GenTree** addr, target_ssize_t * offset, FieldSeq** fldSeq = nullptr );
3813+ void gtPeelOffsets (GenTree** addr, target_ssize_t * offset, FieldSeq** fldSeq = nullptr ) const ;
38133814
38143815 // Return true if call is a recursive call; return false otherwise.
38153816 // Note when inlining, this looks for calls back to the root method.
@@ -6669,12 +6670,12 @@ class Compiler
66696670 void fgInsertStmtAfter (BasicBlock* block, Statement* insertionPoint, Statement* stmt);
66706671 void fgInsertStmtBefore (BasicBlock* block, Statement* insertionPoint, Statement* stmt);
66716672
6672- private:
6673- Statement* fgInsertStmtListAfter (BasicBlock* block, Statement* stmtAfter, Statement* stmtList);
6674-
66756673 // Create a new temporary variable to hold the result of *ppTree,
66766674 // and transform the graph accordingly.
66776675 GenTree* fgInsertCommaFormTemp (GenTree** ppTree);
6676+
6677+ private:
6678+ Statement* fgInsertStmtListAfter (BasicBlock* block, Statement* stmtAfter, Statement* stmtList);
66786679 TempInfo fgMakeTemp (GenTree* value);
66796680 GenTree* fgMakeMultiUse (GenTree** ppTree);
66806681
@@ -7219,6 +7220,7 @@ class Compiler
72197220 bool optCanonicalizeExit (FlowGraphNaturalLoop* loop, BasicBlock* exit);
72207221
72217222 PhaseStatus optCloneLoops ();
7223+ PhaseStatus optRangeCheckCloning ();
72227224 bool optShouldCloneLoop (FlowGraphNaturalLoop* loop, LoopCloneContext* context);
72237225 void optCloneLoop (FlowGraphNaturalLoop* loop, LoopCloneContext* context);
72247226 PhaseStatus optUnrollLoops (); // Unrolls loops (needs to have cost info)
0 commit comments