diff options
author | Martin Jambor <mjambor@suse.cz> | 2010-01-14 19:00:34 +0100 |
---|---|---|
committer | Martin Jambor <jamborm@gcc.gnu.org> | 2010-01-14 19:00:34 +0100 |
commit | 2f3cdcf50295a3888012b66a52b709a7f21d2f25 (patch) | |
tree | e67d8e3c3b5b8bd2f68e5f4e63f4b36f8e354636 /gcc/fortran/resolve.c | |
parent | 7767706d58eecfccd3805fd9e59fdb5e3b557611 (diff) | |
download | gcc-2f3cdcf50295a3888012b66a52b709a7f21d2f25.zip gcc-2f3cdcf50295a3888012b66a52b709a7f21d2f25.tar.gz gcc-2f3cdcf50295a3888012b66a52b709a7f21d2f25.tar.bz2 |
re PR tree-optimization/42706 (ICE in gimple_op, at gimple.h:1634, (IPA SRA))
2010-01-14 Martin Jambor <mjambor@suse.cz>
PR tree-optimization/42706
* tree-sra.c (encountered_recursive_call): New variable.
(encountered_unchangable_recursive_call): Likewise.
(sra_initialize): Initialize both new variables.
(callsite_has_enough_arguments_p): New function.
(scan_function): Call decl and flags check only for IPA-SRA, check
whether there is a recursive call and whether it has enough arguments.
(all_callers_have_enough_arguments_p): New function.
(convert_callers): Look for recursive calls only when
encountered_recursive_call is set.
(ipa_early_sra): Bail out either if
!all_callers_have_enough_arguments_p or
encountered_unchangable_recursive_call.
* testsuite/gcc.dg/ipa/pr42706.c: New testcase.
From-SVN: r155911
Diffstat (limited to 'gcc/fortran/resolve.c')
0 files changed, 0 insertions, 0 deletions