re PR rtl-optimization/21528 (Boost shared_ptr_test.cpp fails with -O3)

PR rtl-opt/21528
        * rtlanal.c (reg_overlap_mentioned_p) <MEM>: Handle 'E' formats.

From-SVN: r100730
This commit is contained in:
Richard Henderson 2005-06-07 16:45:06 -07:00 committed by Richard Henderson
parent e4cd04f442
commit 3b009185b3
2 changed files with 17 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2005-06-07 Richard Henderson <rth@redhat.com>
PR rtl-opt/21528
* rtlanal.c (reg_overlap_mentioned_p) <MEM>: Handle 'E' formats.
2005-06-07 Dale Johannesen <dalej@apple.com>
* tree-nested.c (finalize_nesting_tree_1): Disable

View File

@ -1309,8 +1309,18 @@ reg_overlap_mentioned_p (rtx x, rtx in)
fmt = GET_RTX_FORMAT (GET_CODE (in));
for (i = GET_RTX_LENGTH (GET_CODE (in)) - 1; i >= 0; i--)
if (fmt[i] == 'e' && reg_overlap_mentioned_p (x, XEXP (in, i)))
return 1;
if (fmt[i] == 'e')
{
if (reg_overlap_mentioned_p (x, XEXP (in, i)))
return 1;
}
else if (fmt[i] == 'E')
{
int j;
for (j = XVECLEN (in, i) - 1; j >= 0; --j)
if (reg_overlap_mentioned_p (x, XVECEXP (in, i, j)))
return 1;
}
return 0;
}