aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-chrec.c
diff options
context:
space:
mode:
authorAndreas Krebbel <krebbel@linux.vnet.ibm.com>2016-03-01 09:19:14 +0000
committerAndreas Krebbel <krebbel@gcc.gnu.org>2016-03-01 09:19:14 +0000
commit772040f7967768f060d5a6c2e528ace2f1439ef3 (patch)
tree40fa4d5a3c60cf562ed26ab6cf2d20746bff3dbb /gcc/tree-chrec.c
parent0f09ab882507915df439054da380d5d646181f7a (diff)
downloadgcc-772040f7967768f060d5a6c2e528ace2f1439ef3.zip
gcc-772040f7967768f060d5a6c2e528ace2f1439ef3.tar.gz
gcc-772040f7967768f060d5a6c2e528ace2f1439ef3.tar.bz2
gensupport: Fix define_subst operand renumbering.
When processing substitutions the operands are renumbered. To find a free operand number the array used_operands_numbers is used. Currently this array is used to assign new numbers before all the RTXes in the vector have been processed. I did run into problems with this for insns where a match_dup occurred in a later (use ...) operand referring to an earlier operand (e.g. s390.md "setmem_long"). The patch splits the loop doing the processing into two in order to have all the operand numbers collected already when assigning new numbers. gcc/ChangeLog: 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com> * gensupport.c (process_substs_on_one_elem): Split loop to complete mark_operands_used_in_match_dup on all expressions in the vector first. (adjust_operands_numbers): Inline into process_substs_on_one_elem and remove function. From-SVN: r233841
Diffstat (limited to 'gcc/tree-chrec.c')
0 files changed, 0 insertions, 0 deletions