summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog129
-rw-r--r--gcc/config/epiphany/epiphany.h4
-rw-r--r--gcc/config/sh/sh.h2
-rw-r--r--gcc/doc/tm.texi5
-rw-r--r--gcc/doc/tm.texi.in5
-rw-r--r--gcc/mode-switching.c2
6 files changed, 77 insertions, 70 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index dc5187f1bdd..9466848b5c6 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,11 @@
+2012-07-19 Uros Bizjak <ubizjak@gmail.com>
+
+ * doc/tm.texi.in (MODE_AFTER): Add entity as the first macro argument.
+ * doc/tm.texi: Regenerate.
+ * mode-switching.c (optimize_mode_switching): Update MODE_AFTER call.
+ * config/sh/sh.h (MODE_AFTER): Update.
+ * config/epiphany/epiphany.h (MODE_AFTER): Update.
+
2012-07-19 Jakub Jelinek <jakub@redhat.com>
PR middle-end/54017
@@ -12,19 +20,17 @@
* config/sh/sh.c (gen_far_branch): Set JUMP_LABEL for return jumps.
2012-07-19 Richard Guenther <rguenther@suse.de>
- Eric Botcazou <ebotcazou@adacore.com>
+ Eric Botcazou <ebotcazou@adacore.com>
* tree-ssa-ccp.c (valid_lattice_transition): Clarify comment
about transition from invariant to known bits.
- (likely_value): Addresses with UNDEFINED components are
- UNDEFINED.
+ (likely_value): Addresses with UNDEFINED components are UNDEFINED.
2012-07-19 Richard Guenther <rguenther@suse.de>
PR tree-optimization/53970
- * tree-vect-data-refs.c (not_size_aligned): Avoid sign-compare
- warning.
-
+ * tree-vect-data-refs.c (not_size_aligned): Avoid sign-compare warning.
+
2012-07-19 Tristan Gingold <gingold@adacore.com>
Richard Henderson <rth@redhat.com>
@@ -44,16 +50,16 @@
Chao-ying Fu <fu@mips.com>
* config/mips/mips.opt (mmcu): New option.
- * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Define
+ * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Define
_mips_mcu when TARGET_MCU.
(ASM_SPEC): Pass mcu options to the assembler.
* doc/invoke.texi (MIPS Options): Document -mmcu and -mno-mcu.
2012-07-18 Ralf Corsépius <ralf.corsepius@rtems.org>
- * config.gcc (v850-*-rtems*): New target.
- * config/v850/rtems.h: New.
- * config/v850/t-rtems: New.
+ * config.gcc (v850-*-rtems*): New target.
+ * config/v850/rtems.h: New.
+ * config/v850/t-rtems: New.
2012-07-18 Bill Schmidt <wschmidt@linux.ibm.com>
@@ -71,8 +77,7 @@
2012-07-18 Jie Zhang <jzhang918@gmail.com>
Julian Brown <julian@codesourcery.com>
- * config/arm/arm.c (arm_rtx_costs_1): Adjust cost for
- CONST_VECTOR.
+ * config/arm/arm.c (arm_rtx_costs_1): Adjust cost for CONST_VECTOR.
(arm_size_rtx_costs): Likewise.
(neon_valid_immediate): Add a case for double 0.0.
@@ -372,7 +377,7 @@
* doc/tm.texi: Regenerate.
* emit-rtl.c (emit_label_before): Do not allow the same label
- to be emitted twice.
+ to be emitted twice.
(emit_label_after): Likewise.
(emit_label): Likewise.
@@ -426,59 +431,59 @@
* stmt.c: Include dumpfile.h.
(emit_case_decision_tree): Re-enable printing expand details only
if TDF_DETAILS.
- * alias.c, auto-inc-dec.c, bb-reorder.c, caller-save.c, cfg.c,
- cfgcleanup.c, cfgexpand.c, cfgloop.c, cfgloopmanip.c, cgraph.c,
- cgraphclones.c, cgraphunit.c, combine.c, combine-stack-adj.c,
- coverage.c, cprop.c, cse.c, cselib.c, dbgcnt.c, dce.c, df-core.c,
- dse.c, dwarf2out.c, emit-rtl.c, except.c, expr.c, final.c,
- function.c, fwprop.c, gcse.c, gimple-fold.c,
- gimple-pretty-print.c, gimple-ssa-strength-reduction.c,
- gimplify.c, graphite-blocking.c, graphite-clast-to-gimple.c,
- graphite-dependences.c, graphite-interchange.c,
- graphite-optimize-isl.c, graphite-poly.c,
- graphite-sese-to-poly.c, haifa-sched.c, hw-doloop.c, ifcvt.c,
- ipa.c, ipa-cp.c, ipa-inline-analysis.c, ipa-inline.c,
- ipa-inline-transform.c, ipa-prop.c, ipa-pure-const.c,
- ipa-reference.c, ipa-split.c, ipa-utils.c, ira.c, ira-emit.c,
- jump.c, loop-doloop.c, loop-init.c, loop-invariant.c, loop-iv.c,
- loop-unroll.c, loop-unswitch.c, lower-subreg.c,
- lto-section-out.c, lto-streamer-in.c, matrix-reorg.c, mcf.c,
- mode-switching.c, modulo-sched.c, omega.c, omp-low.c, passes.c,
- plugin.c, postreload.c, postreload-gcse.c, predict.c, print-rtl.c,
- print-tree.c, profile.c, recog.c, ree.c, regcprop.c, reginfo.c,
- regmove.c, regrename.c, reg-stack.c, reload1.c, reorg.c,
- sched-rgn.c, sched-vis.c, sel-sched.c, sel-sched-ir.c,
- store-motion.c, tracer.c, trans-mem.c, tree-affine.c,
- tree-call-cdce.c, tree-cfgcleanup.c, tree-chrec.c,
+ * alias.c, auto-inc-dec.c, bb-reorder.c, caller-save.c, cfg.c,
+ cfgcleanup.c, cfgexpand.c, cfgloop.c, cfgloopmanip.c, cgraph.c,
+ cgraphclones.c, cgraphunit.c, combine.c, combine-stack-adj.c,
+ coverage.c, cprop.c, cse.c, cselib.c, dbgcnt.c, dce.c, df-core.c,
+ dse.c, dwarf2out.c, emit-rtl.c, except.c, expr.c, final.c,
+ function.c, fwprop.c, gcse.c, gimple-fold.c,
+ gimple-pretty-print.c, gimple-ssa-strength-reduction.c,
+ gimplify.c, graphite-blocking.c, graphite-clast-to-gimple.c,
+ graphite-dependences.c, graphite-interchange.c,
+ graphite-optimize-isl.c, graphite-poly.c,
+ graphite-sese-to-poly.c, haifa-sched.c, hw-doloop.c, ifcvt.c,
+ ipa.c, ipa-cp.c, ipa-inline-analysis.c, ipa-inline.c,
+ ipa-inline-transform.c, ipa-prop.c, ipa-pure-const.c,
+ ipa-reference.c, ipa-split.c, ipa-utils.c, ira.c, ira-emit.c,
+ jump.c, loop-doloop.c, loop-init.c, loop-invariant.c, loop-iv.c,
+ loop-unroll.c, loop-unswitch.c, lower-subreg.c,
+ lto-section-out.c, lto-streamer-in.c, matrix-reorg.c, mcf.c,
+ mode-switching.c, modulo-sched.c, omega.c, omp-low.c, passes.c,
+ plugin.c, postreload.c, postreload-gcse.c, predict.c, print-rtl.c,
+ print-tree.c, profile.c, recog.c, ree.c, regcprop.c, reginfo.c,
+ regmove.c, regrename.c, reg-stack.c, reload1.c, reorg.c,
+ sched-rgn.c, sched-vis.c, sel-sched.c, sel-sched-ir.c,
+ store-motion.c, tracer.c, trans-mem.c, tree-affine.c,
+ tree-call-cdce.c, tree-cfgcleanup.c, tree-chrec.c,
tree-data-ref.c, tree-diagnostic.c, tree-dump.c,
- tree-eh.c, tree-flow-inline.h, tree-if-conv.c, tree-into-ssa.c,
- tree-mudflap.c, tree-nrv.c, tree-object-size.c,
- tree-optimize.c, tree-outof-ssa.c, tree-predcom.c,
- tree-pretty-print.c, tree-profile.c, tree-scalar-evolution.c,
- tree-sra.c, tree-ssa-address.c, tree-ssa-alias.c, tree-ssa.c,
- tree-ssa-ccp.c, tree-ssa-coalesce.c, tree-ssa-copy.c,
- tree-ssa-copyrename.c,, tree-ssa-dce.c, tree-ssa-dom.c,
- tree-ssa-dse.c, tree-ssa-forwprop.c, tree-ssa-ifcombine.c,
- tree-ssa-loop.c, tree-ssa-loop-ch.c, tree-ssa-loop-im.c,
- tree-ssa-loop-ivcanon.c, tree-ssa-loop-ivopts.c,
- tree-ssa-loop-manip.c, tree-ssa-loop-niter.c,
- tree-ssa-loop-prefetch.c, tree-ssa-loop-unswitch.c,
- tree-ssa-math-opts.c, tree-ssa-operands.c, tree-ssa-phiopt.c,
- tree-ssa-phiprop.c, tree-ssa-pre.c, tree-ssa-propagate.c,
- tree-ssa-reassoc.c, tree-ssa-sccvn.c, tree-ssa-sink.c,
- tree-ssa-structalias.c, tree-ssa-tail-merge.c, tree-ssa-ter.c,
- tree-ssa-threadedge.c, tree-ssa-threadupdate.c,
- tree-ssa-uncprop.c, tree-ssa-uninit.c,
- tree-switch-conversion.c, tree-tailcall.c,
- tree-vect-data-refs.c, tree-vect-loop.c,
- tree-vect-loop-manip.c, tree-vectorizer.c,
- tree-vect-patterns.c, tree-vect-slp.c, tree-vect-stmts.c,
+ tree-eh.c, tree-flow-inline.h, tree-if-conv.c, tree-into-ssa.c,
+ tree-mudflap.c, tree-nrv.c, tree-object-size.c,
+ tree-optimize.c, tree-outof-ssa.c, tree-predcom.c,
+ tree-pretty-print.c, tree-profile.c, tree-scalar-evolution.c,
+ tree-sra.c, tree-ssa-address.c, tree-ssa-alias.c, tree-ssa.c,
+ tree-ssa-ccp.c, tree-ssa-coalesce.c, tree-ssa-copy.c,
+ tree-ssa-copyrename.c,, tree-ssa-dce.c, tree-ssa-dom.c,
+ tree-ssa-dse.c, tree-ssa-forwprop.c, tree-ssa-ifcombine.c,
+ tree-ssa-loop.c, tree-ssa-loop-ch.c, tree-ssa-loop-im.c,
+ tree-ssa-loop-ivcanon.c, tree-ssa-loop-ivopts.c,
+ tree-ssa-loop-manip.c, tree-ssa-loop-niter.c,
+ tree-ssa-loop-prefetch.c, tree-ssa-loop-unswitch.c,
+ tree-ssa-math-opts.c, tree-ssa-operands.c, tree-ssa-phiopt.c,
+ tree-ssa-phiprop.c, tree-ssa-pre.c, tree-ssa-propagate.c,
+ tree-ssa-reassoc.c, tree-ssa-sccvn.c, tree-ssa-sink.c,
+ tree-ssa-structalias.c, tree-ssa-tail-merge.c, tree-ssa-ter.c,
+ tree-ssa-threadedge.c, tree-ssa-threadupdate.c,
+ tree-ssa-uncprop.c, tree-ssa-uninit.c,
+ tree-switch-conversion.c, tree-tailcall.c,
+ tree-vect-data-refs.c, tree-vect-loop.c,
+ tree-vect-loop-manip.c, tree-vectorizer.c,
+ tree-vect-patterns.c, tree-vect-slp.c, tree-vect-stmts.c,
tree-vrp.c, value-prof.c, var-tracking.c, web.c: Include tree-pass.h
only if needed. If tree-pass.h is included, do not include timevar.h
and dumpfile.h. If tree-pass.h is not included but dump_file, or
dump_flags, or the TDF_* flags are used, include dumpfile.h.
- If gimple-pretty-print.h is included, don't include tree-pretty-print.h.
- Remove assorted unnecessary includes.
+ If gimple-pretty-print.h is included, don't include
+ tree-pretty-print.h. Remove assorted unnecessary includes.
* config/mn10300/mn10300.c, config/c6x/c6x.c, config/ia64/ia64.c,
config/arm/arm.c, config/bfin/bfin.c, config/frv/frv.c,
@@ -622,7 +627,7 @@
reflect the change to include %2 in expansion. All callers changed.
(qm3): New mode_attr.
("atomic_fetch_<atomic_op_name><mode>"): Use <atomic_op_op_pred>
- as predicate for operand 2.
+ as predicate for operand 2.
("cris_atomic_fetch_<atomic_op_name><mode>_1"): Update FIXME. Use
"<atomic_op_op_pred>" "<atomic_op_op_cnstr>" for predicate and
constraint for operand 2.
diff --git a/gcc/config/epiphany/epiphany.h b/gcc/config/epiphany/epiphany.h
index 92b781f5cea..b1b5e8b956b 100644
--- a/gcc/config/epiphany/epiphany.h
+++ b/gcc/config/epiphany/epiphany.h
@@ -888,8 +888,8 @@ enum epiphany_function_type
#define MODE_ENTRY(ENTITY) (epiphany_mode_entry_exit ((ENTITY), false))
#define MODE_EXIT(ENTITY) (epiphany_mode_entry_exit ((ENTITY), true))
-#define MODE_AFTER(LAST_MODE, INSN) \
- (epiphany_mode_after (e, (LAST_MODE), (INSN)))
+#define MODE_AFTER(ENTITY, LAST_MODE, INSN) \
+ (epiphany_mode_after ((ENTITY), (LAST_MODE), (INSN)))
#define TARGET_INSERT_MODE_SWITCH_USE epiphany_insert_mode_switch_use
diff --git a/gcc/config/sh/sh.h b/gcc/config/sh/sh.h
index 3187f35581a..aa36497fba1 100644
--- a/gcc/config/sh/sh.h
+++ b/gcc/config/sh/sh.h
@@ -2347,7 +2347,7 @@ extern int current_function_interrupt;
? get_attr_fp_mode (INSN) \
: FP_MODE_NONE)
-#define MODE_AFTER(MODE, INSN) \
+#define MODE_AFTER(ENTITY, MODE, INSN) \
(TARGET_HITACHI \
&& recog_memoized (INSN) >= 0 \
&& get_attr_fp_set (INSN) != FP_SET_NONE \
diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi
index fc3345a3b11..9f6b5dd0ff1 100644
--- a/gcc/doc/tm.texi
+++ b/gcc/doc/tm.texi
@@ -9708,8 +9708,9 @@ return an integer value not larger than the corresponding element in
be switched into prior to the execution of @var{insn}.
@end defmac
-@defmac MODE_AFTER (@var{mode}, @var{insn})
-If this macro is defined, it is evaluated for every @var{insn} during
+@defmac MODE_AFTER (@var{entity}, @var{mode}, @var{insn})
+@var{entity} is an integer specifying a mode-switched entity. If
+this macro is defined, it is evaluated for every @var{insn} during
mode switching. It determines the mode that an insn results in (if
different from the incoming mode).
@end defmac
diff --git a/gcc/doc/tm.texi.in b/gcc/doc/tm.texi.in
index 33ccf8260db..df597c2a207 100644
--- a/gcc/doc/tm.texi.in
+++ b/gcc/doc/tm.texi.in
@@ -9587,8 +9587,9 @@ return an integer value not larger than the corresponding element in
be switched into prior to the execution of @var{insn}.
@end defmac
-@defmac MODE_AFTER (@var{mode}, @var{insn})
-If this macro is defined, it is evaluated for every @var{insn} during
+@defmac MODE_AFTER (@var{entity}, @var{mode}, @var{insn})
+@var{entity} is an integer specifying a mode-switched entity. If
+this macro is defined, it is evaluated for every @var{insn} during
mode switching. It determines the mode that an insn results in (if
different from the incoming mode).
@end defmac
diff --git a/gcc/mode-switching.c b/gcc/mode-switching.c
index d6c7379df65..1984a694c89 100644
--- a/gcc/mode-switching.c
+++ b/gcc/mode-switching.c
@@ -533,7 +533,7 @@ optimize_mode_switching (void)
RESET_BIT (transp[bb->index], j);
}
#ifdef MODE_AFTER
- last_mode = MODE_AFTER (last_mode, insn);
+ last_mode = MODE_AFTER (e, last_mode, insn);
#endif
/* Update LIVE_NOW. */
for (link = REG_NOTES (insn); link; link = XEXP (link, 1))