tm.texi.in (MODE_AFTER): Add entity as the first macro argument.
* 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. From-SVN: r189665
This commit is contained in:
parent
29476fe162
commit
9786913b86
129
gcc/ChangeLog
129
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>
|
2012-07-19 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
PR middle-end/54017
|
PR middle-end/54017
|
||||||
|
@ -12,19 +20,17 @@
|
||||||
* config/sh/sh.c (gen_far_branch): Set JUMP_LABEL for return jumps.
|
* config/sh/sh.c (gen_far_branch): Set JUMP_LABEL for return jumps.
|
||||||
|
|
||||||
2012-07-19 Richard Guenther <rguenther@suse.de>
|
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
|
* tree-ssa-ccp.c (valid_lattice_transition): Clarify comment
|
||||||
about transition from invariant to known bits.
|
about transition from invariant to known bits.
|
||||||
(likely_value): Addresses with UNDEFINED components are
|
(likely_value): Addresses with UNDEFINED components are UNDEFINED.
|
||||||
UNDEFINED.
|
|
||||||
|
|
||||||
2012-07-19 Richard Guenther <rguenther@suse.de>
|
2012-07-19 Richard Guenther <rguenther@suse.de>
|
||||||
|
|
||||||
PR tree-optimization/53970
|
PR tree-optimization/53970
|
||||||
* tree-vect-data-refs.c (not_size_aligned): Avoid sign-compare
|
* tree-vect-data-refs.c (not_size_aligned): Avoid sign-compare warning.
|
||||||
warning.
|
|
||||||
|
|
||||||
2012-07-19 Tristan Gingold <gingold@adacore.com>
|
2012-07-19 Tristan Gingold <gingold@adacore.com>
|
||||||
Richard Henderson <rth@redhat.com>
|
Richard Henderson <rth@redhat.com>
|
||||||
|
|
||||||
|
@ -44,16 +50,16 @@
|
||||||
Chao-ying Fu <fu@mips.com>
|
Chao-ying Fu <fu@mips.com>
|
||||||
|
|
||||||
* config/mips/mips.opt (mmcu): New option.
|
* 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.
|
_mips_mcu when TARGET_MCU.
|
||||||
(ASM_SPEC): Pass mcu options to the assembler.
|
(ASM_SPEC): Pass mcu options to the assembler.
|
||||||
* doc/invoke.texi (MIPS Options): Document -mmcu and -mno-mcu.
|
* doc/invoke.texi (MIPS Options): Document -mmcu and -mno-mcu.
|
||||||
|
|
||||||
2012-07-18 Ralf Corsépius <ralf.corsepius@rtems.org>
|
2012-07-18 Ralf Corsépius <ralf.corsepius@rtems.org>
|
||||||
|
|
||||||
* config.gcc (v850-*-rtems*): New target.
|
* config.gcc (v850-*-rtems*): New target.
|
||||||
* config/v850/rtems.h: New.
|
* config/v850/rtems.h: New.
|
||||||
* config/v850/t-rtems: New.
|
* config/v850/t-rtems: New.
|
||||||
|
|
||||||
2012-07-18 Bill Schmidt <wschmidt@linux.ibm.com>
|
2012-07-18 Bill Schmidt <wschmidt@linux.ibm.com>
|
||||||
|
|
||||||
|
@ -71,8 +77,7 @@
|
||||||
2012-07-18 Jie Zhang <jzhang918@gmail.com>
|
2012-07-18 Jie Zhang <jzhang918@gmail.com>
|
||||||
Julian Brown <julian@codesourcery.com>
|
Julian Brown <julian@codesourcery.com>
|
||||||
|
|
||||||
* config/arm/arm.c (arm_rtx_costs_1): Adjust cost for
|
* config/arm/arm.c (arm_rtx_costs_1): Adjust cost for CONST_VECTOR.
|
||||||
CONST_VECTOR.
|
|
||||||
(arm_size_rtx_costs): Likewise.
|
(arm_size_rtx_costs): Likewise.
|
||||||
(neon_valid_immediate): Add a case for double 0.0.
|
(neon_valid_immediate): Add a case for double 0.0.
|
||||||
|
|
||||||
|
@ -372,7 +377,7 @@
|
||||||
* doc/tm.texi: Regenerate.
|
* doc/tm.texi: Regenerate.
|
||||||
|
|
||||||
* emit-rtl.c (emit_label_before): Do not allow the same label
|
* 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_after): Likewise.
|
||||||
(emit_label): Likewise.
|
(emit_label): Likewise.
|
||||||
|
|
||||||
|
@ -426,59 +431,59 @@
|
||||||
* stmt.c: Include dumpfile.h.
|
* stmt.c: Include dumpfile.h.
|
||||||
(emit_case_decision_tree): Re-enable printing expand details only
|
(emit_case_decision_tree): Re-enable printing expand details only
|
||||||
if TDF_DETAILS.
|
if TDF_DETAILS.
|
||||||
* alias.c, auto-inc-dec.c, bb-reorder.c, caller-save.c, cfg.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,
|
cfgcleanup.c, cfgexpand.c, cfgloop.c, cfgloopmanip.c, cgraph.c,
|
||||||
cgraphclones.c, cgraphunit.c, combine.c, combine-stack-adj.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,
|
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,
|
dse.c, dwarf2out.c, emit-rtl.c, except.c, expr.c, final.c,
|
||||||
function.c, fwprop.c, gcse.c, gimple-fold.c,
|
function.c, fwprop.c, gcse.c, gimple-fold.c,
|
||||||
gimple-pretty-print.c, gimple-ssa-strength-reduction.c,
|
gimple-pretty-print.c, gimple-ssa-strength-reduction.c,
|
||||||
gimplify.c, graphite-blocking.c, graphite-clast-to-gimple.c,
|
gimplify.c, graphite-blocking.c, graphite-clast-to-gimple.c,
|
||||||
graphite-dependences.c, graphite-interchange.c,
|
graphite-dependences.c, graphite-interchange.c,
|
||||||
graphite-optimize-isl.c, graphite-poly.c,
|
graphite-optimize-isl.c, graphite-poly.c,
|
||||||
graphite-sese-to-poly.c, haifa-sched.c, hw-doloop.c, ifcvt.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.c, ipa-cp.c, ipa-inline-analysis.c, ipa-inline.c,
|
||||||
ipa-inline-transform.c, ipa-prop.c, ipa-pure-const.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,
|
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,
|
jump.c, loop-doloop.c, loop-init.c, loop-invariant.c, loop-iv.c,
|
||||||
loop-unroll.c, loop-unswitch.c, lower-subreg.c,
|
loop-unroll.c, loop-unswitch.c, lower-subreg.c,
|
||||||
lto-section-out.c, lto-streamer-in.c, matrix-reorg.c, mcf.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,
|
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,
|
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,
|
print-tree.c, profile.c, recog.c, ree.c, regcprop.c, reginfo.c,
|
||||||
regmove.c, regrename.c, reg-stack.c, reload1.c, reorg.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,
|
sched-rgn.c, sched-vis.c, sel-sched.c, sel-sched-ir.c,
|
||||||
store-motion.c, tracer.c, trans-mem.c, tree-affine.c,
|
store-motion.c, tracer.c, trans-mem.c, tree-affine.c,
|
||||||
tree-call-cdce.c, tree-cfgcleanup.c, tree-chrec.c,
|
tree-call-cdce.c, tree-cfgcleanup.c, tree-chrec.c,
|
||||||
tree-data-ref.c, tree-diagnostic.c, tree-dump.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-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-mudflap.c, tree-nrv.c, tree-object-size.c,
|
||||||
tree-optimize.c, tree-outof-ssa.c, tree-predcom.c,
|
tree-optimize.c, tree-outof-ssa.c, tree-predcom.c,
|
||||||
tree-pretty-print.c, tree-profile.c, tree-scalar-evolution.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-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-ccp.c, tree-ssa-coalesce.c, tree-ssa-copy.c,
|
||||||
tree-ssa-copyrename.c,, tree-ssa-dce.c, tree-ssa-dom.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-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.c, tree-ssa-loop-ch.c, tree-ssa-loop-im.c,
|
||||||
tree-ssa-loop-ivcanon.c, tree-ssa-loop-ivopts.c,
|
tree-ssa-loop-ivcanon.c, tree-ssa-loop-ivopts.c,
|
||||||
tree-ssa-loop-manip.c, tree-ssa-loop-niter.c,
|
tree-ssa-loop-manip.c, tree-ssa-loop-niter.c,
|
||||||
tree-ssa-loop-prefetch.c, tree-ssa-loop-unswitch.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-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-phiprop.c, tree-ssa-pre.c, tree-ssa-propagate.c,
|
||||||
tree-ssa-reassoc.c, tree-ssa-sccvn.c, tree-ssa-sink.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-structalias.c, tree-ssa-tail-merge.c, tree-ssa-ter.c,
|
||||||
tree-ssa-threadedge.c, tree-ssa-threadupdate.c,
|
tree-ssa-threadedge.c, tree-ssa-threadupdate.c,
|
||||||
tree-ssa-uncprop.c, tree-ssa-uninit.c,
|
tree-ssa-uncprop.c, tree-ssa-uninit.c,
|
||||||
tree-switch-conversion.c, tree-tailcall.c,
|
tree-switch-conversion.c, tree-tailcall.c,
|
||||||
tree-vect-data-refs.c, tree-vect-loop.c,
|
tree-vect-data-refs.c, tree-vect-loop.c,
|
||||||
tree-vect-loop-manip.c, tree-vectorizer.c,
|
tree-vect-loop-manip.c, tree-vectorizer.c,
|
||||||
tree-vect-patterns.c, tree-vect-slp.c, tree-vect-stmts.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
|
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
|
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
|
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.
|
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.
|
If gimple-pretty-print.h is included, don't include
|
||||||
Remove assorted unnecessary includes.
|
tree-pretty-print.h. Remove assorted unnecessary includes.
|
||||||
|
|
||||||
* config/mn10300/mn10300.c, config/c6x/c6x.c, config/ia64/ia64.c,
|
* config/mn10300/mn10300.c, config/c6x/c6x.c, config/ia64/ia64.c,
|
||||||
config/arm/arm.c, config/bfin/bfin.c, config/frv/frv.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.
|
reflect the change to include %2 in expansion. All callers changed.
|
||||||
(qm3): New mode_attr.
|
(qm3): New mode_attr.
|
||||||
("atomic_fetch_<atomic_op_name><mode>"): Use <atomic_op_op_pred>
|
("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
|
("cris_atomic_fetch_<atomic_op_name><mode>_1"): Update FIXME. Use
|
||||||
"<atomic_op_op_pred>" "<atomic_op_op_cnstr>" for predicate and
|
"<atomic_op_op_pred>" "<atomic_op_op_cnstr>" for predicate and
|
||||||
constraint for operand 2.
|
constraint for operand 2.
|
||||||
|
|
|
@ -888,8 +888,8 @@ enum epiphany_function_type
|
||||||
|
|
||||||
#define MODE_ENTRY(ENTITY) (epiphany_mode_entry_exit ((ENTITY), false))
|
#define MODE_ENTRY(ENTITY) (epiphany_mode_entry_exit ((ENTITY), false))
|
||||||
#define MODE_EXIT(ENTITY) (epiphany_mode_entry_exit ((ENTITY), true))
|
#define MODE_EXIT(ENTITY) (epiphany_mode_entry_exit ((ENTITY), true))
|
||||||
#define MODE_AFTER(LAST_MODE, INSN) \
|
#define MODE_AFTER(ENTITY, LAST_MODE, INSN) \
|
||||||
(epiphany_mode_after (e, (LAST_MODE), (INSN)))
|
(epiphany_mode_after ((ENTITY), (LAST_MODE), (INSN)))
|
||||||
|
|
||||||
#define TARGET_INSERT_MODE_SWITCH_USE epiphany_insert_mode_switch_use
|
#define TARGET_INSERT_MODE_SWITCH_USE epiphany_insert_mode_switch_use
|
||||||
|
|
||||||
|
|
|
@ -2347,7 +2347,7 @@ extern int current_function_interrupt;
|
||||||
? get_attr_fp_mode (INSN) \
|
? get_attr_fp_mode (INSN) \
|
||||||
: FP_MODE_NONE)
|
: FP_MODE_NONE)
|
||||||
|
|
||||||
#define MODE_AFTER(MODE, INSN) \
|
#define MODE_AFTER(ENTITY, MODE, INSN) \
|
||||||
(TARGET_HITACHI \
|
(TARGET_HITACHI \
|
||||||
&& recog_memoized (INSN) >= 0 \
|
&& recog_memoized (INSN) >= 0 \
|
||||||
&& get_attr_fp_set (INSN) != FP_SET_NONE \
|
&& get_attr_fp_set (INSN) != FP_SET_NONE \
|
||||||
|
|
|
@ -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}.
|
be switched into prior to the execution of @var{insn}.
|
||||||
@end defmac
|
@end defmac
|
||||||
|
|
||||||
@defmac MODE_AFTER (@var{mode}, @var{insn})
|
@defmac MODE_AFTER (@var{entity}, @var{mode}, @var{insn})
|
||||||
If this macro is defined, it is evaluated for every @var{insn} during
|
@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
|
mode switching. It determines the mode that an insn results in (if
|
||||||
different from the incoming mode).
|
different from the incoming mode).
|
||||||
@end defmac
|
@end defmac
|
||||||
|
|
|
@ -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}.
|
be switched into prior to the execution of @var{insn}.
|
||||||
@end defmac
|
@end defmac
|
||||||
|
|
||||||
@defmac MODE_AFTER (@var{mode}, @var{insn})
|
@defmac MODE_AFTER (@var{entity}, @var{mode}, @var{insn})
|
||||||
If this macro is defined, it is evaluated for every @var{insn} during
|
@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
|
mode switching. It determines the mode that an insn results in (if
|
||||||
different from the incoming mode).
|
different from the incoming mode).
|
||||||
@end defmac
|
@end defmac
|
||||||
|
|
|
@ -533,7 +533,7 @@ optimize_mode_switching (void)
|
||||||
RESET_BIT (transp[bb->index], j);
|
RESET_BIT (transp[bb->index], j);
|
||||||
}
|
}
|
||||||
#ifdef MODE_AFTER
|
#ifdef MODE_AFTER
|
||||||
last_mode = MODE_AFTER (last_mode, insn);
|
last_mode = MODE_AFTER (e, last_mode, insn);
|
||||||
#endif
|
#endif
|
||||||
/* Update LIVE_NOW. */
|
/* Update LIVE_NOW. */
|
||||||
for (link = REG_NOTES (insn); link; link = XEXP (link, 1))
|
for (link = REG_NOTES (insn); link; link = XEXP (link, 1))
|
||||||
|
|
Loading…
Reference in New Issue