GenTreePtr gtNewIndexRef(var_types typ, GenTreePtr arrayOp, GenTreePtr indexOp);
GenTreeArgList* gtNewArgList(GenTreePtr op);
-
GenTreeArgList* gtNewArgList(GenTreePtr op1, GenTreePtr op2);
+ GenTreeArgList* gtNewArgList(GenTreePtr op1, GenTreePtr op2, GenTreePtr op3);
+
+ GenTreeArgList* gtNewAggregate(GenTree* element);
static fgArgTabEntryPtr gtArgEntryByArgNum(GenTreePtr call, unsigned argNum);
static fgArgTabEntryPtr gtArgEntryByNode(GenTreePtr call, GenTreePtr node);
unsigned gtHashValue(GenTree* tree);
- unsigned gtSetListOrder(GenTree* list, bool regs);
+ unsigned gtSetListOrder(GenTree* list, bool regs, bool isListCallArgs);
void gtWalkOp(GenTree** op1, GenTree** op2, GenTree* adr, bool constOnly);
// If you have already retrieved the struct size then pass it as the optional third argument
//
var_types getReturnTypeForStruct(CORINFO_CLASS_HANDLE clsHnd,
- structPassingKind* wbPassStruct,
+ structPassingKind* wbPassStruct = nullptr,
unsigned structSize = 0);
#ifdef DEBUG
void fgDebugCheckLinks(bool morphTrees = false);
void fgDebugCheckNodeLinks(BasicBlock* block, GenTreePtr stmt);
void fgDebugCheckFlags(GenTreePtr tree);
+ void fgDebugCheckFlagsHelper(GenTreePtr tree, unsigned treeFlags, unsigned chkFlags);
#endif
#ifdef LEGACY_BACKEND