re PR middle-end/22626 (ICE with optimization turned on while trying to exand complex multiply)

PR 22626
        * tree-complex.c (gate_no_optimization): True if errors.
        * Makefile.in (tree-complex.o): Update dependencies.

From-SVN: r102373
This commit is contained in:
Richard Henderson 2005-07-25 16:04:33 -07:00 committed by Richard Henderson
parent 7f50ddeef6
commit 5306ec31f5
3 changed files with 13 additions and 6 deletions

View File

@ -1,3 +1,9 @@
2005-07-25 Richard Henderson <rth@redhat.com>
PR 22626
* tree-complex.c (gate_no_optimization): True if errors.
* Makefile.in (tree-complex.o): Update dependencies.
2005-07-25 Aldy Hernandez <aldyh@redhat.com>
* config/frv/predicates.md (integer_register_operand): Use

View File

@ -2217,11 +2217,9 @@ tree-sra.o : tree-sra.c $(CONFIG_H) $(SYSTEM_H) $(TREE_H) $(RTL_H) \
$(TIMEVAR_H) $(TM_H) coretypes.h $(TREE_DUMP_H) $(TREE_GIMPLE_H) \
langhooks.h tree-pass.h $(FLAGS_H) $(EXPR_H) $(BASIC_BLOCK_H) \
bitmap.h $(GGC_H) hard-reg-set.h $(OBSTACK_H) $(PARAMS_H) $(TARGET_H)
tree-complex.o : tree-complex.c $(CONFIG_H) $(SYSTEM_H) $(TREE_H) \
$(TM_H) $(TREE_FLOW_H) $(TREE_GIMPLE_H) tree-iterator.h tree-pass.h \
$(FLAGS_H) $(OPTABS_H) $(RTL_H) $(MACHMODE_H) $(EXPR_H) \
langhooks.h $(FLAGS_H) $(DIAGNOSTIC_H) $(GGC_H) \
coretypes.h insn-codes.h
tree-complex.o : tree-complex.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TREE_H) \
$(TM_H) $(RTL_H) real.h $(FLAGS_H) $(TREE_FLOW_H) $(TREE_GIMPLE_H) \
tree-iterator.h tree-pass.h tree-ssa-propagate.h $(DIAGNOSTIC_H)
tree-vect-generic.o : tree-vect-generic.c $(CONFIG_H) $(SYSTEM_H) $(TREE_H) \
$(TM_H) $(TREE_FLOW_H) $(TREE_GIMPLE_H) tree-iterator.h tree-pass.h \
$(FLAGS_H) $(OPTABS_H) $(RTL_H) $(MACHMODE_H) $(EXPR_H) \

View File

@ -31,6 +31,7 @@ Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
#include "tree-iterator.h"
#include "tree-pass.h"
#include "tree-ssa-propagate.h"
#include "diagnostic.h"
/* For each complex ssa name, a lattice value. We're interested in finding
@ -1566,7 +1567,9 @@ tree_lower_complex_O0 (void)
static bool
gate_no_optimization (void)
{
return optimize == 0;
/* With errors, normal optimization passes are not run. If we don't
lower complex operations at all, rtl expansion will abort. */
return optimize == 0 || sorrycount || errorcount;
}
struct tree_opt_pass pass_lower_complex_O0 =