@@ -277,21 +277,18 @@ class MachineRegisterInfo {
277277 // / reg_begin/reg_end - Provide iteration support to walk over all definitions
278278 // / and uses of a register within the MachineFunction that corresponds to this
279279 // / MachineRegisterInfo object.
280- template <bool Uses, bool Defs, bool SkipDebug,
281- bool ByOperand, bool ByInstr, bool ByBundle>
280+ template <bool Uses, bool Defs, bool SkipDebug, bool ByOperand, bool ByInstr>
282281 class defusechain_iterator ;
283282 template <bool Uses, bool Defs, bool SkipDebug, bool ByInstr>
284283 class defusechain_instr_iterator ;
285284
286285 // Make it a friend so it can access getNextOperandForReg().
287- template <bool , bool , bool , bool , bool , bool >
288- friend class defusechain_iterator ;
286+ template <bool , bool , bool , bool , bool > friend class defusechain_iterator ;
289287 template <bool , bool , bool , bool > friend class defusechain_instr_iterator ;
290288
291289 // / reg_iterator/reg_begin/reg_end - Walk all defs and uses of the specified
292290 // / register.
293- using reg_iterator =
294- defusechain_iterator<true , true , false , true , false , false >;
291+ using reg_iterator = defusechain_iterator<true , true , false , true , false >;
295292 reg_iterator reg_begin (Register RegNo) const {
296293 return reg_iterator (getRegUseDefListHead (RegNo));
297294 }
@@ -339,7 +336,7 @@ class MachineRegisterInfo {
339336 // / reg_nodbg_iterator/reg_nodbg_begin/reg_nodbg_end - Walk all defs and uses
340337 // / of the specified register, skipping those marked as Debug.
341338 using reg_nodbg_iterator =
342- defusechain_iterator<true , true , true , true , false , false >;
339+ defusechain_iterator<true , true , true , true , false >;
343340 reg_nodbg_iterator reg_nodbg_begin (Register RegNo) const {
344341 return reg_nodbg_iterator (getRegUseDefListHead (RegNo));
345342 }
@@ -393,8 +390,7 @@ class MachineRegisterInfo {
393390 }
394391
395392 // / def_iterator/def_begin/def_end - Walk all defs of the specified register.
396- using def_iterator =
397- defusechain_iterator<false , true , false , true , false , false >;
393+ using def_iterator = defusechain_iterator<false , true , false , true , false >;
398394 def_iterator def_begin (Register RegNo) const {
399395 return def_iterator (getRegUseDefListHead (RegNo));
400396 }
@@ -473,8 +469,7 @@ class MachineRegisterInfo {
473469 }
474470
475471 // / use_iterator/use_begin/use_end - Walk all uses of the specified register.
476- using use_iterator =
477- defusechain_iterator<true , false , false , true , false , false >;
472+ using use_iterator = defusechain_iterator<true , false , false , true , false >;
478473 use_iterator use_begin (Register RegNo) const {
479474 return use_iterator (getRegUseDefListHead (RegNo));
480475 }
@@ -528,7 +523,7 @@ class MachineRegisterInfo {
528523 // / use_nodbg_iterator/use_nodbg_begin/use_nodbg_end - Walk all uses of the
529524 // / specified register, skipping those marked as Debug.
530525 using use_nodbg_iterator =
531- defusechain_iterator<true , false , true , true , false , false >;
526+ defusechain_iterator<true , false , true , true , false >;
532527 use_nodbg_iterator use_nodbg_begin (Register RegNo) const {
533528 return use_nodbg_iterator (getRegUseDefListHead (RegNo));
534529 }
@@ -1045,9 +1040,11 @@ class MachineRegisterInfo {
10451040 // / returns end(). If SkipDebug is true it skips uses marked Debug
10461041 // / when incrementing.
10471042 template <bool ReturnUses, bool ReturnDefs, bool SkipDebug, bool ByOperand,
1048- bool ByInstr, bool ByBundle >
1043+ bool ByInstr>
10491044 class defusechain_iterator {
10501045 friend class MachineRegisterInfo ;
1046+ static_assert (!ByOperand || !ByInstr,
1047+ " ByOperand and ByInstr are mutually exclusive" );
10511048
10521049 public:
10531050 using iterator_category = std::forward_iterator_tag;
@@ -1110,7 +1107,7 @@ class MachineRegisterInfo {
11101107 do {
11111108 advance ();
11121109 } while (Op && Op->getParent () == P);
1113- } else if (ByBundle) {
1110+ } else {
11141111 MachineBasicBlock::instr_iterator P =
11151112 getBundleStart (Op->getParent ()->getIterator ());
11161113 do {
0 commit comments