aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/Makefile.in2
-rw-r--r--gcc/ifcvt.c4
3 files changed, 11 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 41ee139..6dcc99e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2003-07-26 J"orn Rennecke <joern.rennecke@superh.com>
+
+ * Makefile.in (ifcvt.o): Depend on target.h
+ * ifcvt.c (target.h): Include.
+ (if_convert): Don't call mark_loop_exit_edges if we can't
+ modify jumps.
+
2003-07-26 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
* doc/install.texi (Testing): Adjust required versions of DejaGnu.
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
index e3e676c..545e5a45 100644
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -1791,7 +1791,7 @@ regrename.o : regrename.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
insn-config.h $(BASIC_BLOCK_H) $(REGS_H) hard-reg-set.h output.h $(RECOG_H) function.h \
resource.h $(OBSTACK_H) flags.h $(TM_P_H)
ifcvt.o : ifcvt.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
- $(REGS_H) toplev.h flags.h insn-config.h function.h $(RECOG_H) \
+ $(REGS_H) toplev.h flags.h insn-config.h function.h $(RECOG_H) target.h \
$(BASIC_BLOCK_H) $(EXPR_H) output.h except.h $(TM_P_H) real.h $(OPTABS_H) \
cfgloop.h
params.o : params.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(PARAMS_H) toplev.h
diff --git a/gcc/ifcvt.c b/gcc/ifcvt.c
index bb783fb..eec1f36 100644
--- a/gcc/ifcvt.c
+++ b/gcc/ifcvt.c
@@ -39,6 +39,7 @@
#include "toplev.h"
#include "tm_p.h"
#include "cfgloop.h"
+#include "target.h"
#ifndef HAVE_conditional_execution
@@ -3112,7 +3113,8 @@ if_convert (int x_life_data_ok)
num_removed_blocks = 0;
life_data_ok = (x_life_data_ok != 0);
- mark_loop_exit_edges ();
+ if (! (* targetm.cannot_modify_jumps_p) ())
+ mark_loop_exit_edges ();
/* Free up basic_block_for_insn so that we don't have to keep it
up to date, either here or in merge_blocks. */