read-rtl.c (copy_rtx_for_iterators): Continue applying iterators while it has any effect.

* read-rtl.c (copy_rtx_for_iterators): Continue applying iterators
while it has any effect.

From-SVN: r199177
This commit is contained in:
Michael Zolotukhin 2013-05-22 07:48:13 +00:00 committed by Kirill Yukhin
parent f6684c8d90
commit c0602ab82f
2 changed files with 10 additions and 3 deletions

View File

@ -1,3 +1,8 @@
2013-05-22 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
* read-rtl.c (copy_rtx_for_iterators): Continue applying iterators
while it has any effect.
2013-05-21 Easwaran Raman <eraman@google.com> 2013-05-21 Easwaran Raman <eraman@google.com>
PR tree-optimization/57322 PR tree-optimization/57322

View File

@ -380,7 +380,7 @@ apply_iterator_to_string (const char *string)
static rtx static rtx
copy_rtx_for_iterators (rtx original) copy_rtx_for_iterators (rtx original)
{ {
const char *format_ptr; const char *format_ptr, *p;
int i, j; int i, j;
rtx x; rtx x;
@ -397,12 +397,14 @@ copy_rtx_for_iterators (rtx original)
switch (format_ptr[i]) switch (format_ptr[i])
{ {
case 'T': case 'T':
XTMPL (x, i) = apply_iterator_to_string (XTMPL (x, i)); while (XTMPL (x, i) != (p = apply_iterator_to_string (XTMPL (x, i))))
XTMPL (x, i) = p;
break; break;
case 'S': case 'S':
case 's': case 's':
XSTR (x, i) = apply_iterator_to_string (XSTR (x, i)); while (XSTR (x, i) != (p = apply_iterator_to_string (XSTR (x, i))))
XSTR (x, i) = p;
break; break;
case 'e': case 'e':