@@ -2536,6 +2536,7 @@ class Compiler
2536
2536
void * compileTimeHandle);
2537
2537
2538
2538
GenTreeLclVar* gtNewLclvNode (unsigned lnum, var_types type DEBUGARG (IL_OFFSET offs = BAD_IL_OFFSET));
2539
+ GenTreeLclVar* gtNewLclVarNode (unsigned lclNum, var_types type = TYP_UNDEF);
2539
2540
GenTreeLclVar* gtNewLclLNode (unsigned lnum, var_types type DEBUGARG (IL_OFFSET offs = BAD_IL_OFFSET));
2540
2541
2541
2542
GenTreeLclFld* gtNewLclVarAddrNode (unsigned lclNum, var_types type = TYP_I_IMPL);
@@ -2838,6 +2839,12 @@ class Compiler
2838
2839
2839
2840
GenTreeIndir* gtNewIndir (var_types typ, GenTree* addr, GenTreeFlags indirFlags = GTF_EMPTY);
2840
2841
2842
+ GenTreeBlk* gtNewStoreBlkNode (
2843
+ ClassLayout* layout, GenTree* addr, GenTree* data, GenTreeFlags indirFlags = GTF_EMPTY);
2844
+
2845
+ GenTreeStoreInd* gtNewStoreIndNode (
2846
+ var_types type, GenTree* addr, GenTree* data, GenTreeFlags indirFlags = GTF_EMPTY);
2847
+
2841
2848
GenTree* gtNewLoadValueNode (
2842
2849
var_types type, ClassLayout* layout, GenTree* addr, GenTreeFlags indirFlags = GTF_EMPTY);
2843
2850
@@ -2851,6 +2858,14 @@ class Compiler
2851
2858
return gtNewLoadValueNode (type, nullptr , addr, indirFlags);
2852
2859
}
2853
2860
2861
+ GenTree* gtNewStoreValueNode (
2862
+ var_types type, ClassLayout* layout, GenTree* addr, GenTree* data, GenTreeFlags indirFlags = GTF_EMPTY);
2863
+
2864
+ GenTree* gtNewStoreValueNode (ClassLayout* layout, GenTree* addr, GenTree* data, GenTreeFlags indirFlags = GTF_EMPTY)
2865
+ {
2866
+ return gtNewStoreValueNode (layout->GetType (), layout, addr, data, indirFlags);
2867
+ }
2868
+
2854
2869
GenTree* gtNewNullCheck (GenTree* addr, BasicBlock* basicBlock);
2855
2870
2856
2871
var_types gtTypeForNullCheck (GenTree* tree);
@@ -2962,6 +2977,9 @@ class Compiler
2962
2977
2963
2978
void gtPrepareCost (GenTree* tree);
2964
2979
bool gtIsLikelyRegVar (GenTree* tree);
2980
+ void gtGetLclVarNodeCost (GenTreeLclVar* node, int * pCostEx, int * pCostSz, bool isLikelyRegVar);
2981
+ void gtGetLclFldNodeCost (GenTreeLclFld* node, int * pCostEx, int * pCostSz);
2982
+ bool gtGetIndNodeCost (GenTreeIndir* node, int * pCostEx, int * pCostSz);
2965
2983
2966
2984
// Returns true iff the secondNode can be swapped with firstNode.
2967
2985
bool gtCanSwapOrder (GenTree* firstNode, GenTree* secondNode);
0 commit comments