@@ -275,6 +275,14 @@ struct regMaskTP
275275
276276public:
277277
278+ void AddRegNumInMask (regNumber reg);
279+ #ifdef TARGET_ARM
280+ void AddRegNumInMask (regNumber reg, var_types type);
281+ #endif
282+ void AddRegNum (regNumber reg, var_types type);
283+ void RemoveRegNumFromMask (regNumber reg);
284+ bool IsRegNumInMask (regNumber reg);
285+
278286 regMaskTP (regMaskSmall lowMask, RegSet32 highMask)
279287 : low(lowMask)
280288#ifdef HAS_MORE_THAN_64_REGISTERS
@@ -339,9 +347,6 @@ struct regMaskTP
339347 }
340348#endif
341349
342- void RemoveRegNumFromMask (regNumber reg);
343- bool IsRegNumInMask (regNumber reg);
344-
345350 bool IsEmpty () const
346351 {
347352 return low == RBM_NONE;
@@ -935,8 +940,9 @@ inline SingleTypeRegSet genSingleTypeRegMask(regNumber regNum, var_types type)
935940
936941inline regMaskTP genRegMask (regNumber reg)
937942{
938- // TODO: Populate regMaskTP based on reg
939- return genSingleTypeRegMask (reg);
943+ regMaskTP result;
944+ result.AddRegNumInMask (reg);
945+ return result;
940946}
941947
942948/* ****************************************************************************
@@ -970,8 +976,9 @@ inline regMaskTP genRegMaskFloat(regNumber reg ARM_ARG(var_types type /* = TYP_D
970976//
971977inline regMaskTP genRegMask (regNumber regNum, var_types type)
972978{
973- // TODO: Populate regMaskTP based on regNum/type
974- return genSingleTypeRegMask (regNum ARM_ARG (type));
979+ regMaskTP result;
980+ result.AddRegNumInMask (regNum ARM_ARG (type));
981+ return result;
975982}
976983
977984/* ****************************************************************************
0 commit comments