Cong Hou
96a4ad0caf
Correct the discription in ChangLog:
...
2014-04-18 Cong Hou <congh@google.com>
* tree-vect-patterns.c (vect_recog_widen_mult_pattern): Enhance
the widen-mult pattern by handling two operands with different
sizes, and operands whose size is smaller than half of the result
type.
From-SVN: r209525
2014-04-18 15:53:14 -04:00
Cong Hou
d367387cf1
tree-vect-patterns.c (vect_recog_widen_mult_pattern): Enhance the widen-mult pattern by handling two operands with different sizes.
...
2014-04-18 Cong Hou <congh@google.com>
* tree-vect-patterns.c (vect_recog_widen_mult_pattern): Enhance
the widen-mult pattern by handling two operands with different
sizes.
* tree-vect-stmts.c (vectorizable_conversion): Allow multi-steps
conversions after widening mult operation.
(supportable_widening_operation): Likewise.
2014-04-18 Cong Hou <congh@google.com>
* gcc.dg/vect/vect-widen-mult-u8-s16-s32.c: New test.
* gcc.dg/vect/vect-widen-mult-u8-u32.c: New test.
From-SVN: r209524
2014-04-18 15:46:49 -04:00
Jan Hubicka
b6d627e472
ipa-inline.h (INLINE_HINT_known_hot): New hint.
...
* ipa-inline.h (INLINE_HINT_known_hot): New hint.
* ipa-inline-analysis.c (dump_inline_hints): Dump it.
(do_estimate_edge_time): Compute it.
* ipa-inline.c (want_inline_small_function_p): Bypass
INLINE_INSNS_AUTO/SINGLE limits for calls that are known
to be hot.
From-SVN: r209523
2014-04-18 19:36:01 +00:00
Jan Hubicka
e86a910ff5
ipa-inline.c (spec_rem): New static variable.
...
* ipa-inline.c (spec_rem): New static variable.
(dump_overall_stats): New function.
(dump_inline_stats): New function.
From-SVN: r209522
2014-04-18 18:30:45 +00:00
Jason Merrill
fc45aeeeec
DR 1571
...
DR 1571
* call.c (reference_binding): Recurse on user-defined conversion.
From-SVN: r209521
2014-04-18 14:13:53 -04:00
Jason Merrill
c663bc6a4f
re PR c++/60872 (Cannot memcpy array of restricted pointers)
...
PR c++/60872
* call.c (standard_conversion): Don't try to apply restrict to void.
From-SVN: r209520
2014-04-18 14:11:22 -04:00
Richard Henderson
8a3a7e67a1
aarch64: Fix build error in aarch64_register_move_cost
...
* config/aarch64/aarch64.c (aarch64_register_move_cost): Pass a mode
to GET_MODE_SIZE, not a reg_class_t.
From-SVN: r209517
2014-04-18 08:52:50 -07:00
Bill Schmidt
ed79f4d002
vsx.md (vsx_xxmrghw_<mode>): Adjust for little-endian.
...
[gcc]
2014-04-18 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* config/rs6000/vsx.md (vsx_xxmrghw_<mode>): Adjust for
little-endian.
(vsx_xxmrglw_<mode>): Likewise.
[gcc/testsuite]
2014-04-18 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gcc.dg/vmx/merge-vsx.c: Add V4SI and V4SF tests.
* gcc.dg/vmx/merge-vsx-be-order.c: Likewise.
From-SVN: r209516
2014-04-18 13:31:57 +00:00
GCC Administrator
f634721cbb
Daily bump.
...
From-SVN: r209513
2014-04-18 00:16:28 +00:00
Ian Lance Taylor
5584c49a11
gofrontend: deduplicate C syscall function declarations
...
A gccgo language extension allows a function to be declared multiple
times. Avoid the use of this extension by dedeplicating declarations
in mksyscall.awk.
From-SVN: r209508
2014-04-17 23:39:23 +00:00
Ian Lance Taylor
e8ad3ca026
runtime: remove use of obsolete map deletion syntax
...
The use of this syntax was eliminated upstream in Go 992248b2adc2,
but this particular use slipped through somehow.
From-SVN: r209506
2014-04-17 23:27:31 +00:00
Ian Lance Taylor
e315e8a5b9
gofrontend: avoid use of unsafe.Sizeof extension
...
Avoid the use of a gccgo language extension which allows unsafe.Sizeof
to accept a type by passing an expression of the relevant type.
From-SVN: r209503
2014-04-17 23:13:39 +00:00
Paolo Carlini
342e787344
re PR c++/59200 (ICE with invalid alias template use)
...
2014-04-17 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/59200
* g++.dg/cpp0x/alias-decl-42.C: New.
From-SVN: r209499
2014-04-17 21:56:46 +00:00
Michael Meissner
fe799eeaff
re PR target/60876 (2014-04-17 change to machmode.h breaks PowerPC)
...
2014-04-17 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/60876
* config/rs6000/rs6000.c (rs6000_setup_reg_addr_masks): Make sure
GET_MODE_SIZE gets passed an enum machine_mode type and not
integer.
(rs6000_init_hard_regno_mode_ok): Likewise.
From-SVN: r209498
2014-04-17 21:50:58 +00:00
Chris Manghane
e85baec793
compiler: Use backend interface for constant expressions.
...
* go-gcc.cc (Gcc_backend::named_constant_expression): New
function.
From-SVN: r209495
2014-04-17 20:42:31 +00:00
Ian Lance Taylor
be7341a882
re PR go/60870 (go interface methods broken on ppc64le (bug296.go))
...
PR go/60870
compiler: Don't convert function type for an interface method.
For an interface method the function type is the type without
the receiver, which is wrong since we are passing a receiver.
The interface method will always have the correct type in this
case, so no type conversion is necessary.
Also don't do the type conversion when calling a named
function, since in that case the type is also always correct.
The type can be wrong, and the conversion required, when the
function type refers to itself recursively.
From-SVN: r209494
2014-04-17 19:27:22 +00:00
Ian Lance Taylor
39be2171e0
compiler: Define immutability for numeric, constant, type info, type conversion, and addressof expressions.
...
From-SVN: r209493
2014-04-17 19:10:27 +00:00
Jan Hubicka
5e750dc69f
ipa-inline.c (inline_small_functions): Account only non-cold functions.
...
* ipa-inline.c (inline_small_functions): Account only non-cold
functions.
* doc/invoke.texi (inline-unit-growth): Update documentation.
From-SVN: r209490
2014-04-17 18:35:54 +00:00
Pat Haugen
32337f1014
rs6000.md (addti3, subti3): New.
...
* config/rs6000/rs6000.md (addti3, subti3): New.
* gcc.target/powerpc/ti_math1.c: New.
* gcc.target/powerpc/ti_math2.c: New.
From-SVN: r209489
2014-04-17 18:26:47 +00:00
H.J. Lu
40ed344a3c
Generate "xor reg, reg" if optimizing for size
...
PR target/60863
* config/i386/i386.c (ix86_expand_clear): Remove outdated
comment. Check optimize_insn_for_size_p instead of
optimize_insn_for_speed_p.
From-SVN: r209488
2014-04-17 08:19:34 -07:00
Martin Jambor
104cb50bd1
gimple-iterator.c (gsi_start_edge): New function.
...
2014-04-17 Martin Jambor <mjambor@suse.cz>
* gimple-iterator.c (gsi_start_edge): New function.
* gimple-iterator.h (gsi_start_edge): Declare.
* tree-sra.c (single_non_eh_succ): New function.
(disqualify_ops_if_throwing_stmt): Renamed to
disqualify_if_bad_bb_terminating_stmt. Allow throwing statements
having one non-EH successor BB.
(sra_modify_expr): If stmt ends bb, use single non-EH successor to
generate loads into replacements.
(sra_modify_assign): Likewise and and also use the simple path for
such statements.
(sra_modify_function_body): Commit statements on edges.
testsuite/
* gnat.dg/opt34.adb: New.
* gnat.dg/opt34_pkg.ads: Likewise.
From-SVN: r209487
2014-04-17 15:53:59 +02:00
Richard Biener
b94970bc41
re PR tree-optimization/60849 (bogus comparison result type)
...
2014-04-17 Richard Biener <rguenther@suse.de>
PR middle-end/60849
* tree-ssa-propagate.c (valid_gimple_rhs_p): Allow vector
comparison results and add clarifying comment.
From-SVN: r209486
2014-04-17 13:50:55 +00:00
Jakub Jelinek
92f0f3ec92
genmodes.c (struct mode_data): Add need_bytesize_adj field.
...
* genmodes.c (struct mode_data): Add need_bytesize_adj field.
(blank_mode): Initialize it.
(emit_mode_size_inline, emit_mode_nunits_inline,
emit_mode_inner_inline): New functions.
(emit_insn_modes_h): Call them and surround their output with
#if GCC_VERSION >= 4001 ... #endif.
* machmode.h (GET_MODE_SIZE, GET_MODE_NUNITS, GET_MODE_INNER):
For GCC_VERSION >= 4001 use mode_*_inline routines instead of
mode_* arrays if the argument is __builtin_constant_p.
* lower-subreg.c (dump_choices): Make sure GET_MODE_SIZE argument
is enum machine_mode.
fortran/
* trans-types.c (gfc_init_kinds): Make sure GET_MODE_BITSIZE
argument is enum machine_mode.
From-SVN: r209484
2014-04-17 14:49:49 +02:00
Trevor Saunders
be55bfe6cf
pass cfun to pass::execute
...
gcc/
* passes.c (opt_pass::execute): Adjust.
(pass_manager::execute_pass_mode_switching): Likewise.
(early_local_passes::execute): Likewise.
(execute_one_pass): Pass cfun to the pass's execute method.
* tree-pass.h (opt_pass::execute): Add function * argument.
* asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c, cfgcleanup.c,
cfgexpand.c, cfgrtl.c, cgraphbuild.c, combine-stack-adj.c, combine.c,
compare-elim.c, config/arc/arc.c, config/epiphany/mode-switch-use.c,
config/epiphany/resolve-sw-modes.c, config/i386/i386.c,
config/mips/mips.c, config/rl78/rl78.c, config/s390/s390.c,
config/sparc/sparc.c, cprop.c, dce.c, df-core.c, dse.c, dwarf2cfi.c,
except.c, final.c, function.c, fwprop.c, gcse.c, gimple-low.c,
gimple-ssa-isolate-paths.c, gimple-ssa-strength-reduction.c,
graphite.c, ifcvt.c, init-regs.c, ipa-cp.c, ipa-devirt.c,
ipa-inline-analysis.c, ipa-inline.c, ipa-profile.c, ipa-pure-const.c,
ipa-reference.c, ipa-split.c, ipa.c, ira.c, jump.c, loop-init.c,
lower-subreg.c, mode-switching.c, omp-low.c, postreload-gcse.c,
postreload.c, predict.c, recog.c, ree.c, reg-stack.c, regcprop.c,
reginfo.c, regrename.c, reorg.c, sched-rgn.c, stack-ptr-mod.c,
store-motion.c, tracer.c, trans-mem.c, tree-call-cdce.c, tree-cfg.c,
tree-cfgcleanup.c, tree-complex.c, tree-eh.c, tree-emutls.c,
tree-if-conv.c, tree-into-ssa.c, tree-loop-distribution.c, tree-nrv.c,
tree-object-size.c, tree-parloops.c, tree-predcom.c, tree-ssa-ccp.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-ch.c, tree-ssa-loop-im.c,
tree-ssa-loop-ivcanon.c, tree-ssa-loop-prefetch.c,
tree-ssa-loop-unswitch.c, tree-ssa-loop.c, tree-ssa-math-opts.c,
tree-ssa-phiopt.c, tree-ssa-phiprop.c, tree-ssa-pre.c,
tree-ssa-reassoc.c, tree-ssa-sink.c, tree-ssa-strlen.c,
tree-ssa-structalias.c, tree-ssa-uncprop.c, tree-ssa-uninit.c,
tree-ssa.c, tree-ssanames.c, tree-stdarg.c, tree-switch-conversion.c,
tree-tailcall.c, tree-vect-generic.c, tree-vectorizer.c, tree-vrp.c,
tree.c, tsan.c, ubsan.c, var-tracking.c, vtable-verify.c, web.c:
Adjust.
From-SVN: r209482
2014-04-17 12:37:34 +00:00
Trevor Saunders
1a3d085cf2
pass current function to opt_pass::gate ()
...
gcc/
* passes.c (opt_pass::gate): Take function * argument.
(gate_all_early_local_passes): Merge into
(early_local_passes::gate): this.
(gate_all_early_optimizations): Merge into
(all_early_optimizations::gate): this.
(gate_all_optimizations): Mege into
(all_optimizations::gate): this.
(gate_all_optimizations_g): Merge into
(all_optimizations_g::gate): this.
(gate_rest_of_compilation): Mege into
(rest_of_compilation::gate): this.
(gate_postreload): Merge into
(postreload::gate): this.
(dump_one_pass): Pass cfun to the pass's gate method.
(execute_ipa_summary_passes): Likewise.
(execute_one_pass): Likewise.
(ipa_write_summaries_2): Likewise.
(ipa_write_optimization_summaries_1): Likewise.
(ipa_read_summaries_1): Likewise.
(ipa_read_optimization_summaries_1): Likewise.
(execute_ipa_stmt_fixups): Likewise.
* tree-pass.h (opt_pass::gate): Add function * argument.
* asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c,
combine-stack-adj.c, combine.c, compare-elim.c,
config/epiphany/resolve-sw-modes.c, config/i386/i386.c,
config/rl78/rl78.c, config/sh/sh_optimize_sett_clrt.cc,
config/sh/sh_treg_combine.cc, config/sparc/sparc.c, cprop.c, cse.c,
dce.c, df-core.c, dse.c, dwarf2cfi.c, except.c, fwprop.c, gcse.c,
gimple-ssa-isolate-paths.c, gimple-ssa-strength-reduction.c,
graphite.c, ifcvt.c, init-regs.c, ipa-cp.c, ipa-devirt.c,
ipa-profile.c, ipa-pure-const.c, ipa-reference.c, ipa-split.c, ipa.c,
loop-init.c, lower-subreg.c, mode-switching.c, modulo-sched.c,
omp-low.c, postreload-gcse.c, postreload.c, predict.c, recog.c, ree.c,
reg-stack.c, regcprop.c, regrename.c, reorg.c, sched-rgn.c,
store-motion.c, tracer.c, trans-mem.c, tree-call-cdce.c, tree-cfg.c,
tree-cfgcleanup.c, tree-complex.c, tree-eh.c, tree-emutls.c,
tree-if-conv.c, tree-into-ssa.c, tree-loop-distribution.c,
tree-nrv.c, tree-parloops.c, tree-predcom.c, tree-profile.c,
tree-sra.c, tree-ssa-ccp.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-ch.c, tree-ssa-loop-im.c,
tree-ssa-loop-ivcanon.c, tree-ssa-loop-prefetch.c,
tree-ssa-loop-unswitch.c, tree-ssa-loop.c, tree-ssa-math-opts.c,
tree-ssa-phiopt.c, tree-ssa-phiprop.c, tree-ssa-pre.c,
tree-ssa-reassoc.c, tree-ssa-sink.c, tree-ssa-strlen.c,
tree-ssa-structalias.c, tree-ssa-uncprop.c, tree-ssa-uninit.c,
tree-ssa.c, tree-stdarg.c, tree-switch-conversion.c, tree-tailcall.c,
tree-vect-generic.c, tree-vectorizer.c, tree-vrp.c, tsan.c, ubsan.c,
var-tracking.c, vtable-verify.c, web.c: Adjust.
gcc/testsuite/
* g++.dg/plugin/dumb_plugin.c, g++.dg/plugin/selfasign.c,
gcc.dg/plugin/one_time_plugin.c, gcc.dg/plugin/selfasign.c: Adjust.
From-SVN: r209481
2014-04-17 12:37:16 +00:00
Trevor Saunders
45887209f8
enable -Woverloaded-virtual when available
...
gcc/
* configure.ac: Check for -Woverloaded-virtual and enable it if found.
* configure: Regenerate.
From-SVN: r209480
2014-04-17 12:37:05 +00:00
Trevor Saunders
0481253d15
remove has_gate
...
gcc/
* passes.c (dump_one_pass): don't check pass->has_gate.
(execute_ipa_summary_passes): Likewise.
(execute_one_pass): Likewise.
(ipa_write_summaries_2): Likewise.
(ipa_write_optimization_summaries_1): Likewise.
(ipa_read_optimization_summaries_1): Likewise.
(execute_ipa_stmt_fixups): Likewise.
* tree-pass.h (pass_data::has_gate): Remove.
* asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c, cfgcleanup.c,
cfgexpand.c, cfgrtl.c, cgraphbuild.c, combine-stack-adj.c, combine.c,
compare-elim.c, config/arc/arc.c, config/epiphany/mode-switch-use.c,
config/epiphany/resolve-sw-modes.c, config/i386/i386.c,
config/mips/mips.c, config/rl78/rl78.c, config/s390/s390.c,
config/sh/sh_optimize_sett_clrt.cc, config/sh/sh_treg_combine.cc,
config/sparc/sparc.c, cprop.c, cse.c, dce.c, df-core.c, dse.c,
dwarf2cfi.c, except.c, final.c, function.c, fwprop.c, gcse.c,
gimple-low.c, gimple-ssa-isolate-paths.c,
gimple-ssa-strength-reduction.c, graphite.c, ifcvt.c, init-regs.c,
ipa-cp.c, ipa-devirt.c, ipa-inline-analysis.c, ipa-inline.c,
ipa-profile.c, ipa-pure-const.c, ipa-reference.c, ipa-split.c, ipa.c,
ira.c, jump.c, loop-init.c, lower-subreg.c, mode-switching.c,
modulo-sched.c, omp-low.c, postreload-gcse.c, postreload.c, predict.c,
recog.c, ree.c, reg-stack.c, regcprop.c, reginfo.c, regrename.c,
reorg.c, sched-rgn.c, stack-ptr-mod.c, store-motion.c, tracer.c,
trans-mem.c, tree-call-cdce.c, tree-cfg.c, tree-cfgcleanup.c,
tree-complex.c, tree-eh.c, tree-emutls.c, tree-if-conv.c,
tree-into-ssa.c, tree-loop-distribution.c, tree-nrv.c,
tree-object-size.c, tree-parloops.c, tree-predcom.c, tree-profile.c,
tree-sra.c, tree-ssa-ccp.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-ch.c, tree-ssa-loop-im.c,
tree-ssa-loop-ivcanon.c, tree-ssa-loop-prefetch.c,
tree-ssa-loop-unswitch.c, tree-ssa-loop.c, tree-ssa-math-opts.c,
tree-ssa-phiopt.c, tree-ssa-phiprop.c, tree-ssa-pre.c,
tree-ssa-reassoc.c, tree-ssa-sink.c, tree-ssa-strlen.c,
tree-ssa-structalias.c, tree-ssa-uncprop.c, tree-ssa-uninit.c,
tree-ssa.c, tree-ssanames.c, tree-stdarg.c, tree-switch-conversion.c,
tree-tailcall.c, tree-vect-generic.c, tree-vectorizer.c, tree-vrp.c,
tree.c, tsan.c, ubsan.c, var-tracking.c, vtable-verify.c, web.c:
Adjust.
gcc/testsuite/
* g++.dg/plugin/dumb_plugin.c, g++.dg/plugin/selfassign.c,
gcc.dg/plugin/one_time_plugin.c, gcc.dg/plugin/selfassign.c: Adjust.
From-SVN: r209479
2014-04-17 12:36:56 +00:00
Trevor Saunders
a23c217d73
merge register_dump_files_1 into register_dump_files and remove more fiddling with properties
...
gcc/
* pass_manager.h (pass_manager::register_dump_files_1): Remove declaration.
* passes.c (pass_manager::register_dump_files_1): Merge into
(pass_manager::register_dump_files): this, and remove its handling of
properties since the pass always has the properties anyway.
(pass_manager::pass_manager): Adjust.
From-SVN: r209478
2014-04-17 12:36:41 +00:00
Trevor Saunders
0cd11b40ce
remove properties stuff from register_dump_files_1
...
gcc/
* pass_manager.h (pass_manager::register_dump_files_1): Adjust.
* passes.c (pass_manager::register_dump_files_1): Remove dead code
dealing with properties.
(pass_manager::register_dump_files): Adjust.
From-SVN: r209477
2014-04-17 12:36:35 +00:00
Jakub Jelinek
4f148bbc73
re PR sanitizer/56781 (boostrap-asan failure: fixincl fails to link (missing -lasan))
...
PR sanitizer/56781
lto-plugin/
* Makefile.am (CFLAGS, LDFLAGS): Filter out -fsanitize=address.
(liblto_plugin_la_LIBADD, liblto_plugin_la_LDFLAGS,
liblto_plugin_la_DEPENDENCIES): Prefer ../libiberty/noasan/libiberty.a
over ../libiberty/pic/libiberty.a if the former exists.
* Makefile.in: Regenerated.
libiberty/
* maint-tool: Also emit rule for noasan/ subdirectory.
* configure.ac (NOASANFLAG): Set and substitute.
* Makefile.in: Regenerated.
(NOASANFLAG): Set.
(all, $(TARGETLIB), mostlyclean): Handle noasan subdir like pic
subdir.
(stamp-noasandir): New goal.
* configure: Regenerated.
From-SVN: r209476
2014-04-17 14:25:25 +02:00
Jakub Jelinek
ffe7f7a75f
re PR sanitizer/56781 (boostrap-asan failure: fixincl fails to link (missing -lasan))
...
PR sanitizer/56781
* libtool-ldflags: Also prefix -static-lib*, -shared-lib*
and -B* options with -Xcompiler.
lto-plugin/
* Makefile.am (LTLDFLAGS, liblto_plugin_la_LINK): New variables.
* Makefile.in: Regenerated.
From-SVN: r209475
2014-04-17 14:23:28 +02:00
Mark Wielaard
79896351cb
dwarf2out: Use normal constant values in bound_info if possible.
...
* dwarf2out.c (add_bound_info): If HOST_WIDE_INT is big enough,
then represent the bound as normal constant value.
From-SVN: r209473
2014-04-17 10:36:21 +00:00
Jakub Jelinek
5a65129e4e
re PR target/60847 (x86 BMI intrinsics not recognized)
...
PR target/60847
Forward port from 4.8 branch
2013-07-19 Kirill Yukhin <kirill.yukhin@intel.com>
* config/i386/bmiintrin.h (_blsi_u32): New.
(_blsi_u64): Ditto.
(_blsr_u32): Ditto.
(_blsr_u64): Ditto.
(_blsmsk_u32): Ditto.
(_blsmsk_u64): Ditto.
(_tzcnt_u32): Ditto.
(_tzcnt_u64): Ditto.
* gcc.target/i386/bmi-1.c: Extend with new instrinsics.
Fix scan patterns.
* gcc.target/i386/bmi-2.c: Ditto.
From-SVN: r209471
2014-04-17 12:02:36 +02:00
Kito Cheng
59b266b1d7
* gcc.c (used_arg): Prevent out of bound access for multilib_options.
...
From-SVN: r209470
2014-04-17 11:01:22 +02:00
Richard Biener
83ad208e2c
re PR tree-optimization/60849 (bogus comparison result type)
...
2014-04-17 Richard Biener <rguenther@suse.de>
PR middle-end/60849
* tree-ssa-propagate.c (valid_gimple_rhs_p): Only allow effective
boolean results for comparisons.
* g++.dg/opt/pr60849.C: New testcase.
From-SVN: r209469
2014-04-17 08:13:53 +00:00
Richard Biener
730e78b045
re PR c++/60836 (invalid PHI argument and ICE in verify_gimple)
...
2014-04-17 Richard Biener <rguenther@suse.de>
PR tree-optimization/60836
* tree-vect-loop.c (vect_create_epilog_for_reduction): Force
initial PHI args to be gimple values.
* g++.dg/vect/pr60836.cc: New testcase.
From-SVN: r209468
2014-04-17 08:12:58 +00:00
Richard Biener
1428105c0d
re PR tree-optimization/60841 (gcc: internal compiler error: Killed (program cc1) out of memory)
...
2014-04-17 Richard Biener <rguenther@suse.de>
PR tree-optimization/60841
* tree-vect-data-refs.c (vect_analyze_data_refs): Count stmts.
* tree-vect-loop.c (vect_analyze_loop_2): Pass down number
of stmts to SLP build.
* tree-vect-slp.c (vect_slp_analyze_bb_1): Likewise.
(vect_analyze_slp): Likewise.
(vect_analyze_slp_instance): Likewise.
(vect_build_slp_tree): Limit overall SLP tree growth.
* tree-vectorizer.h (vect_analyze_data_refs,
vect_analyze_slp): Adjust prototypes.
* gcc.dg/vect/pr60841.c: New testcase.
From-SVN: r209467
2014-04-17 08:09:02 +00:00
Evgeny Stupachenko
170c1776c4
i386.c (x86_add_stmt_cost): Fix vector cost model for Silvermont.
...
gcc/
* config/i386/i386.c (x86_add_stmt_cost): Fix vector cost model for
Silvermont.
From-SVN: r209466
2014-04-17 07:47:37 +00:00
Evgeny Stupachenko
a4ef7f3e57
x86-tune.def (TARGET_SLOW_PSHUFB): New tune definition.
...
gcc/
* config/i386/x86-tune.def (TARGET_SLOW_PSHUFB): New tune definition.
* config/i386/i386.h (TARGET_SLOW_PSHUFB): New tune flag.
* config/i386/i386.c (expand_vec_perm_even_odd_1): Avoid byte shuffles
for TARGET_SLOW_PSHUFB
From-SVN: r209465
2014-04-17 07:46:45 +00:00
Evgeny Stupachenko
cf055f6ef6
i386.c (slm_cost): Adjust vec_to_scalar_cost.
...
gcc/
* config/i386/i386.c (slm_cost): Adjust vec_to_scalar_cost.
* config/i386/i386.c (intel_cost): Ditto.
From-SVN: r209464
2014-04-17 07:45:42 +00:00
Joey Ye
eeee227783
opts.c (OPT_fif_conversion, [...]): Disable for Og.
...
2014-04-17 Joey Ye <joey.ye@arm.com>
* opts.c (OPT_fif_conversion, OPT_fif_conversion2): Disable for Og.
From-SVN: r209463
2014-04-17 07:09:56 +00:00
Jan Hubicka
1c58fe290b
opts.c (common_handle_option): Disable -fipa-reference coorectly with -fuse-profile.
...
* opts.c (common_handle_option): Disable -fipa-reference coorectly
with -fuse-profile.
From-SVN: r209462
2014-04-17 05:59:03 +00:00
Jan Hubicka
2d1644bf5b
ipa-devirt.c (odr_type_d): Add field all_derivations_known.
...
* ipa-devirt.c (odr_type_d): Add field all_derivations_known.
(type_all_derivations_known_p): New predicate.
(type_all_ctors_visible_p): New predicate.
(type_possibly_instantiated_p): New predicate.
(get_odr_type): Compute all_derivations_known.
(dump_odr_type): Dump the flag.
(maybe_record_type): Cleanup.
(record_target_from_binfo): Add bases_to_consider array;
record bases for types w/o instances and skip CXX destructor.
(possible_polymorphic_call_targets_1): Add bases_to_consider
and consider_construction parameters; check if type may
have instance.
(get_polymorphic_call_info): Set maybe_in_construction to true
when we know nothing.
(record_targets_from_bases): Skip CXX destructors; they are
never called for types in construction.
(possible_polymorphic_call_targets): Do not record target when
type may not have instance.
* g++.dg/ipa/devirt-31.C: New testcase.
From-SVN: r209461
2014-04-17 02:43:53 +00:00
Jan Hubicka
7c1b1692e1
re PR lto/60820 (ice in ctor_for_folding, at varpool.c:291)
...
PR lto/60820
* gcc.dg/lto/pr60820_0.c: New testcase.
* gcc.dg/lto/pr60820_1.c: New testcase.
From-SVN: r209460
2014-04-17 02:32:26 +00:00
Jan Hubicka
789c274118
re PR ipa/60854 (inline constructor of extern template)
...
PR ipa/60854
* ipa.c (symtab_remove_unreachable_nodes): Mark targets of
external aliases alive, too.
* g++.dg/torture/pr60854.C: New testcase.
From-SVN: r209459
2014-04-17 02:22:57 +00:00
Andrew Pinski
9950a4f212
host-linux.c (TRY_EMPTY_VM_SPACE): Change aarch64 ilp32 definition.
...
2014-04-16 Andrew Pinski <apinski@cavium.com>
* config/host-linux.c (TRY_EMPTY_VM_SPACE): Change aarch64 ilp32
definition.
From-SVN: r209457
2014-04-16 17:18:29 -07:00
GCC Administrator
25924c6153
Daily bump.
...
From-SVN: r209456
2014-04-17 00:17:05 +00:00
Eric Botcazou
82b9c0158b
final.c (compute_alignments): Do not apply loop alignment to a block falling through to the exit.
...
* final.c (compute_alignments): Do not apply loop alignment to a block
falling through to the exit.
From-SVN: r209451
2014-04-16 23:31:30 +00:00
Catherine Moore
d2dfaca3b8
mips.md (*mov<mode>_internal, [...]): Adjust constraints for microMIPS store patterns.
...
2014-04-16 Catherine Moore <clm@codesourcery.com>
gcc/
* mips.md (*mov<mode>_internal, *movhi_internal, *movqi_internal):
Adjust constraints for microMIPS store patterns.
testsuite/
* gcc.target/mips/umips-store16-2.c: New test.
From-SVN: r209450
2014-04-16 17:09:30 -04:00
Marc Glisse
fcde53d03f
decl.c (reshape_init_r): Handle a single element of vector type.
...
2014-04-16 Marc Glisse <marc.glisse@inria.fr>
gcc/cp/
* decl.c (reshape_init_r): Handle a single element of vector type.
gcc/testsuite/
* g++.dg/cpp0x/initlist-vect.C: New file.
From-SVN: r209449
2014-04-16 20:46:47 +00:00