comparison gcc/hw-doloop.c @ 145:1830386684a0

gcc-9.2.0
author anatofuz
date Thu, 13 Feb 2020 11:34:05 +0900
parents 84e7813d76e9
children
comparison
equal deleted inserted replaced
131:84e7813d76e9 145:1830386684a0
1 /* Code to analyze doloop loops in order for targets to perform late 1 /* Code to analyze doloop loops in order for targets to perform late
2 optimizations converting doloops to other forms of hardware loops. 2 optimizations converting doloops to other forms of hardware loops.
3 Copyright (C) 2011-2018 Free Software Foundation, Inc. 3 Copyright (C) 2011-2020 Free Software Foundation, Inc.
4 4
5 This file is part of GCC. 5 This file is part of GCC.
6 6
7 GCC is free software; you can redistribute it and/or modify it under 7 GCC is free software; you can redistribute it and/or modify it under
8 the terms of the GNU General Public License as published by the Free 8 the terms of the GNU General Public License as published by the Free
139 139
140 if (insn == loop->loop_end) 140 if (insn == loop->loop_end)
141 CLEAR_HARD_REG_BIT (set_this_insn, REGNO (loop->iter_reg)); 141 CLEAR_HARD_REG_BIT (set_this_insn, REGNO (loop->iter_reg));
142 else if (reg_mentioned_p (loop->iter_reg, PATTERN (insn))) 142 else if (reg_mentioned_p (loop->iter_reg, PATTERN (insn)))
143 loop->iter_reg_used = true; 143 loop->iter_reg_used = true;
144 IOR_HARD_REG_SET (loop->regs_set_in_loop, set_this_insn); 144 loop->regs_set_in_loop |= set_this_insn;
145 } 145 }
146 } 146 }
147 } 147 }
148 148
149 /* Compute the incoming_dest and incoming_src members of LOOP by 149 /* Compute the incoming_dest and incoming_src members of LOOP by
579 579
580 if (!inner->bad && inner_depth < inner->depth) 580 if (!inner->bad && inner_depth < inner->depth)
581 inner_depth = inner->depth; 581 inner_depth = inner->depth;
582 /* The set of registers may be changed while optimizing the inner 582 /* The set of registers may be changed while optimizing the inner
583 loop. */ 583 loop. */
584 IOR_HARD_REG_SET (loop->regs_set_in_loop, inner->regs_set_in_loop); 584 loop->regs_set_in_loop |= inner->regs_set_in_loop;
585 } 585 }
586 586
587 loop->depth = inner_depth + 1; 587 loop->depth = inner_depth + 1;
588 588
589 if (hooks->opt (loop)) 589 if (hooks->opt (loop))