Subzero: Avoid explicit references to RegNumT sentinel value. There are many occurrences of if (RegNum == RegNumT::NoRegister). This patch eliminates NoRegister and provides a simpler mechanism for declaring and testing RegNumT values to see if they are undefined. BUG= none R=stichnot@chromium.org Review URL: https://codereview.chromium.org/1691193002 . Patch from Reed Kotler <rkotlerimgtec@gmail.com>.
diff --git a/src/IceTargetLoweringMIPS32.h b/src/IceTargetLoweringMIPS32.h index 7608de1..08897e8 100644 --- a/src/IceTargetLoweringMIPS32.h +++ b/src/IceTargetLoweringMIPS32.h
@@ -220,15 +220,15 @@ }; typedef uint32_t LegalMask; Operand *legalize(Operand *From, LegalMask Allowed = Legal_Default, - RegNumT RegNum = RegNumT::NoRegister); + RegNumT RegNum = RegNumT()); - Variable *legalizeToVar(Operand *From, RegNumT RegNum = RegNumT::NoRegister); + Variable *legalizeToVar(Operand *From, RegNumT RegNum = RegNumT()); - Variable *legalizeToReg(Operand *From, RegNumT RegNum = RegNumT::NoRegister); + Variable *legalizeToReg(Operand *From, RegNumT RegNum = RegNumT()); - Variable *makeReg(Type Ty, RegNumT RegNum = RegNumT::NoRegister); + Variable *makeReg(Type Ty, RegNumT RegNum = RegNumT()); static Type stackSlotType(); - Variable *copyToReg(Operand *Src, RegNumT RegNum = RegNumT::NoRegister); + Variable *copyToReg(Operand *Src, RegNumT RegNum = RegNumT()); void addProlog(CfgNode *Node) override; void addEpilog(CfgNode *Node) override; @@ -240,7 +240,7 @@ Operand *loOperand(Operand *Operand); Operand *hiOperand(Operand *Operand); - Operand *legalizeUndef(Operand *From, RegNumT RegNum = RegNumT::NoRegister); + Operand *legalizeUndef(Operand *From, RegNumT RegNum = RegNumT()); protected: explicit TargetMIPS32(Cfg *Func);