Commit Graph

140233 Commits

Author SHA1 Message Date
Eelis van der Weegen 4c80e54478 shared_mutex (shared_mutex::unlock()): Fix typo.
2015-08-13  Eelis van der Weegen  <eelis@eelis.net>

	* include/std/shared_mutex (shared_mutex::unlock()): Fix typo.

From-SVN: r226862
2015-08-13 14:57:28 +01:00
Richard Biener 34c896978b tree.c (nonnull_arg_p): Move from ...
2015-08-13  Richard Biener  <rguenther@suse.de>

	* tree.c (nonnull_arg_p): Move from ...
	* tree-vrp.c (nonnull_arg_p): ... here.
	* tree.h (nonnull_arg_p): Declare.
	* tree-ssa-sccvn.c (init_scc_vn): Perform all lattice init
	here, register ptr != 0 for nonnull_arg_p pointer arguments.
	Properly initialize static chain and by-reference result pointer.
	(run_scc_vn): Adjust.

From-SVN: r226861
2015-08-13 12:34:36 +00:00
Robert Suchanek 2ef38880ef [MIPS] Enable load/store bonding for I6400
gcc/
	* config/mips/mips.h (ENABLE_LD_ST_PAIRS): Enable load/store pairs for
	I6400.

From-SVN: r226860
2015-08-13 11:45:21 +00:00
Matthew Wahab 54a8e4f651 atomic-inst-cas.c: New.
* gcc.target/aarch64/atomic-inst-cas.c: New.
	* gcc.target/aarch64/atomic-inst-ops.inc: New.

From-SVN: r226859
2015-08-13 11:30:53 +00:00
Matthew Wahab b0770c0f18 * config/aarch64/aarch64-protos.h
(aarch64_gen_atomic_cas): Declare.
	* config/aarch64/aarch64.c (aarch64_expand_compare_and_swap):
	Choose appropriate instruction pattern for the target.
	(aarch64_gen_atomic_cas): New.
	* config/aarch64/atomics.md (UNSPECV_ATOMIC_CAS): New.
	(atomic_compare_and_swap<mode>_1): Rename to
	aarch64_compare_and_swap<mode>.  Fix some indentation.
	(aarch64_compare_and_swap<mode>_lse): New.
	(aarch64_atomic_cas<mode>): New.

From-SVN: r226858
2015-08-13 11:28:42 +00:00
Matthew Wahab 045c2d32d9 aarch64.h (AARCH64_ISA_LSE): New.
* config/aarch64/aarch64.h (AARCH64_ISA_LSE): New.
	(TARGET_LSE): New.

From-SVN: r226857
2015-08-13 11:20:07 +00:00
Andreas Schwab adacb5b14e * gcc.dg/tree-ssa/vrp33.c: Add -fno-tree-fre.
From-SVN: r226856
2015-08-13 10:26:04 +00:00
Paolo Carlini 1841dfbf07 re PR c++/62164 (5.0: ICE: error: Both section and comdat group is set)
2015-08-13  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/62164
	* g++.dg/torture/pr62164.C: New.

From-SVN: r226855
2015-08-13 10:18:47 +00:00
Richard Biener 310d5e7d8c re PR tree-optimization/67191 (ICE: in before_dom_children, at tree-ssa-sccvn.c:4372)
2015-08-13  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/67191
	* tree-ssa-sccvn.c (sccvn_dom_walker::before_dom_children): Remove
	assert we value-numbered last stmts operand because it can validly
	trigger for unreachable code.

	* gcc.dg/torture/pr67191.c: New testcase.
	* g++.dg/torture/pr67191.C: Likewise.

From-SVN: r226854
2015-08-13 09:39:50 +00:00
Kyrylo Tkachov d27555bfee [RTL-ifcvt] Improve conditional select ops on immediates (fix failing x86_64 cmov tests)
PR rtl-optimization/67103
	* ifcvt.c (noce_try_store_flag_constants): Move
	x = (-(test != 0) & (b - a)) + a transformation to...
	(noce_try_cmove): ... Here.  Try it if normal conditional
	move fails.

From-SVN: r226853
2015-08-13 09:11:13 +00:00
Richard Biener 89711ff6cb tree-ssa-sccvn.c (vn_nary_op_compute_hash): Also canonicalize comparison operand order and commutative ternary op operand order.
2015-08-12  Richard Biener  <rguenther@suse.de>

	* tree-ssa-sccvn.c (vn_nary_op_compute_hash): Also canonicalize
	comparison operand order and commutative ternary op operand order.
	(sccvn_dom_walker::cond_stack): New state to track temporary
	expressions.
	(sccvn_dom_walker::after_dom_children): Remove tempoary expressions
	no longer valid.
	(sccvn_dom_walker::record_cond): Add a single temporary conditional
	expression.
	(sccvn_dom_walker::record_conds): Add a temporary conditional
	expressions and all related expressions also true/false.
	(sccvn_dom_walker::before_dom_children): Record temporary
	expressions based on the controlling condition of a single
	predecessor.  When trying to simplify a conditional statement
	lookup expressions we might have inserted earlier.

	* testsuite/gcc.dg/tree-ssa/ssa-fre-47.c: New testcase.
	* testsuite/gcc.dg/tree-ssa/ssa-fre-48.c: Likewise.
	* testsuite/gcc.dg/tree-ssa/ssa-fre-49.c: Likewise.
	* testsuite/g++.dg/tree-ssa/pr61034.C: Adjust.
	* testsuite/gcc.dg/fold-compare-2.c: Likewise.
	* testsuite/gcc.dg/pr50763.c: Likewise.
	* testsuite/gcc.dg/predict-3.c: Likewise.
	* testsuite/gcc.dg/tree-ssa/20030709-2.c: Likewise.
	* testsuite/gcc.dg/tree-ssa/pr19831-3.c: Likewise.
	* testsuite/gcc.dg/tree-ssa/pr20657.c: Likewise.
	* testsuite/gcc.dg/tree-ssa/pr21001.c: Likewise.
	* testsuite/gcc.dg/tree-ssa/pr37508.c: Likewise.
	* testsuite/gcc.dg/tree-ssa/vrp04.c: Likewise.
	* testsuite/gcc.dg/tree-ssa/vrp07.c: Likewise.
	* testsuite/gcc.dg/tree-ssa/vrp09.c: Likewise.
	* testsuite/gcc.dg/tree-ssa/vrp16.c: Likewise.
	* testsuite/gcc.dg/tree-ssa/vrp20.c: Likewise.
	* testsuite/gcc.dg/tree-ssa/vrp25.c: Likewise.
	* testsuite/gcc.dg/tree-ssa/vrp87.c: Likewise.

From-SVN: r226852
2015-08-13 07:52:06 +00:00
Robert Suchanek 43eb7f8acd [MIPS] Remove W32 and W64 pseudo-processors.
gcc/
	* config/mips/mips.c (mips_rtx_cost_data): Remove costs for W32 and W64
	pseudo-processors.
	* config/mips/mips.md (processor): Remove w32 and w64.

From-SVN: r226851
2015-08-13 07:41:45 +00:00
Richard Biener 9fe4f60adb re PR tree-optimization/66502 (SCCVN can't handle PHIs optimistically optimally)
2015-08-13  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/66502
	PR tree-optimization/67167
	* tree-ssa-sccvn.c (vn_phi_compute_hash): Do not include
	backedge arguments.
	(vn_phi_lookup): Adjust.
	(vn_phi_insert): Likewise.
	(visit_phi): Prefer to value-number to another PHI node
	over value-numbering to a PHI argument.
	(init_scc_vn): Mark DFS back edges.

	* gcc.dg/tree-ssa/ssa-fre-46.c: New testcase.

From-SVN: r226850
2015-08-13 07:06:10 +00:00
Richard Biener 003b40ae57 gimple.h (gcall::code_): New constant static member.
2015-08-13  Richard Biener  <rguenther@suse.de>

	* gimple.h (gcall::code_): New constant static member.
	(gcond::code_): Likewise.
	* gimple.c (gcall::code_): Define.
	(gcond::code_): Likewise.
	(is_a_helper <const gcond *>): Add.
	(gimple_call_lhs): Use GIMPLE_CHECK2 in the gimple overload
	and forward to a new gcall overload with less checking and a
	cheaper way to access the operand.
	(gimple_call_lhs_ptr): Likewise.
	(gimple_call_set_lhs): Likewise.
	(gimple_call_internal_p): Likewise.
	(gimple_call_with_bounds_p): Likewise.
	(gimple_call_set_with_bounds): Likewise.
	(gimple_call_internal_fn): Likewise.
	(gimple_call_set_ctrl_altering): Likewise.
	(gimple_call_ctrl_altering_p): Likewise.
	(gimple_call_fntype): Likewise.
	(gimple_call_fn): Likewise.
	(gimple_call_fn_ptr): Likewise.
	(gimple_call_set_fndecl): Likewise.
	(gimple_call_fndecl): Likewise.
	(gimple_call_chain): Likewise.
	(gimple_call_num_args): Likewise.
	(gimple_call_arg): Likewise.
	(gimple_call_arg_ptr): Likewise.
	(gimple_call_set_arg): Likewise.
	(gimple_call_noreturn_p): Likewise.
	(gimple_cond_code): Likewise.
	(gimple_cond_lhs): Likewise.
	(gimple_cond_rhs): Likewise.
	(gimple_has_lhs): Reduce checking.

From-SVN: r226849
2015-08-13 06:59:25 +00:00
Naveen H.S 95765f369f re PR middle-end/25529 ((unsigned * 2)/2 is not changed into unsigned &0x7FFFFFFF)
2015-08-13  Naveen H.S  <Naveen.Hurugalawadi@caviumnetworks.com>

	PR middle-end/25529
	* match.pd (div (mult @0 @1) @1) : New simplifier.

From-SVN: r226847
2015-08-13 04:37:22 +00:00
Ian Lance Taylor b02520e940 compiler: Flatten erroneous subtrees into errors.
Between the lowering and flattening passes of the compiler, there are
    several passes that modify the lowered Go parse tree and as errors are
    discovered, several nodes transform into error nodes.  However, for a
    higher level node such as a construction expression, the erroneous
    nodes in the subtrees might not propagate their error.  The flatten
    phase for a node now looks for errors in the subtree and flattens the
    node into an error node if any are found.
    
    Fixes golang/go#11559, golang/go#11536, golang/go#11558.
    
    Reviewed-on: https://go-review.googlesource.com/13097

From-SVN: r226845
2015-08-13 01:04:42 +00:00
GCC Administrator 2f4fdc09b0 Daily bump.
From-SVN: r226844
2015-08-13 00:16:12 +00:00
Paolo Carlini a8109f4cb2 re PR c++/53330 (new() operator can return NULL on a zero-length allocation)
2015-08-12  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/53330
	* g++.dg/init/new42.C: New.

From-SVN: r226840
2015-08-12 22:38:04 +00:00
Michael Meissner 683be46fa6 re PR target/67071 (GCC misses an optimization to load vector constants)
[gcc]
2015-08-12  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/67071
	* config/rs6000/predicates.md (easy_vector_constant_vsldoi): New
	predicate to allow construction of vector constants using the
	VSLDOI vector shift instruction.

	* config/rs6000/rs6000-protos.h (vspltis_shifted): Add
	declaration.

	* config/rs6000/rs6000.c (vspltis_shifted): New function to return
	the number of bytes to be shifted left and filled in with either
	all zero or all one bits.
	(gen_easy_altivec_constant): Call vsplitis_shifted if no other
	methods exist.
	(output_vec_const_move): On power8, generate XXLORC to generate
	a vector constant with all 1's. Do a split if we need to use a
	VSLDOI instruction.

	* config/rs6000/rs6000.h (EASY_VECTOR_MSB): Use mode mask to
	properly test for the MSB.

	* config/rs6000/altivec.md (VSLDOI splitter): Add splitter for
	vector constants that can be created with VSLDOI.

[gcc/testsuite]
2015-08-12  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/67071
	* gcc.target/powerpc/pr67071-1.c: New file to test PR 67071 new
	vector constants.
	* gcc.target/powerpc/pr67071-2.c: Likewise.
	* gcc.target/powerpc/pr67071-3.c: Likewise.

From-SVN: r226836
2015-08-12 21:54:23 +00:00
Trevor Saunders 17795822b2 Revert "replace several uses of the anon namespace with GCC_FINAL"
This reverts commit daa5a8a3cf9b04cd9af5544c61e12e6dca14f870.

From-SVN: r226834
2015-08-12 20:09:33 +00:00
Jason Merrill bd07e167b0 re PR c++/67104 (Constant expression factory function initializes std::array with static storage duration strangely)
PR c++/67104
	* constexpr.c (cxx_eval_array_reference): Fix typo.

From-SVN: r226833
2015-08-12 14:08:45 -04:00
Jason Merrill 3b9997bbaf re PR c++/67104 (Constant expression factory function initializes std::array with static storage duration strangely)
PR c++/67104
	* constexpr.c (cxx_eval_array_reference): Handle sparse
	CONSTRUCTORs.

From-SVN: r226830
2015-08-12 14:02:43 -04:00
Jason Merrill e5e58dbe28 re PR c++/67108 (ICE: in cxx_eval_call_expression, at cp/constexpr.c:1345 when dumping)
PR c++/67108
	* decl2.c (c_parse_final_cleanups): Set at_eof to 2 at end.
	* error.c (dump_template_bindings): Don't tsubst in that case.

From-SVN: r226829
2015-08-12 14:02:35 -04:00
Max Filippov a024f5143d xtensa: add -mauto-litpools option
With support from assembler this option allows compiling huge functions,
where single literal pool at the beginning of a function may not be
reachable by L32R instructions at its end.

Currently assembler --auto-litpools option cannot deal with literals
used from multiple locations separated by more than 256 KBytes of code.
Don't turn constants into literals, instead use MOVI instruction to load
them into registers and let the assembler turn them into literals as
necessary.

2015-08-12  Max Filippov  <jcmvbkbc@gmail.com>
gcc/
	* config/xtensa/constraints.md (define_constraint "Y"): New
	constraint.
	* config/xtensa/elf.h (ASM_SPEC): Add m(no-)auto-litpools.
	* config/xtensa/linux.h (ASM_SPEC): Likewise.
	* config/xtensa/predicates.md (move_operand): Match constants
	and symbols in the presence of TARGET_AUTO_LITPOOLS.
	* config/xtensa/xtensa.c (xtensa_valid_move): Don't allow
	immediate references to TLS data.
	(xtensa_emit_move_sequence): Don't force constants to memory in
	the presence of TARGET_AUTO_LITPOOLS.
	(print_operand): Add 'y' format, same as default, but capable of
	printing SF mode constants as well.
	* config/xtensa/xtensa.md (movsi_internal, movhi_internal)
	(movsf_internal): Add movi pattern that loads literal.
	(movsf, movdf): Don't force constants to memory in the presence
	of TARGET_AUTO_LITPOOLS.
	(movdf_internal): Add 'Y' constraint.
	* config/xtensa/xtensa.opt (mauto-litpools): New option.
	* doc/invoke.text (Xtensa options): Document -mauto-litpools.

From-SVN: r226828
2015-08-12 17:36:45 +00:00
Jason Merrill 4757fa7f0b re PR c++/67161 (ICE with a static_assert using our internal __not/__or/__and traits)
PR c++/67161
	* error.c (dump_decl) [TEMPLATE_ID_EXPR]: Pass
	TFF_NO_OMIT_DEFAULT_TEMPLATE_ARGUMENTS.

From-SVN: r226827
2015-08-12 13:33:39 -04:00
Marek Polacek b893e37509 re PR c++/55095 (Wshift-overflow)
PR c++/55095
	* c-common.c (maybe_warn_shift_overflow): Properly handle
	left-shifting 1 into the sign bit.

	* c-c++-common/Wshift-overflow-6.c: New test.
	* c-c++-common/Wshift-overflow-7.c: New test.
	* g++.dg/cpp1y/left-shift-2.C: New test.

From-SVN: r226826
2015-08-12 17:25:23 +00:00
Ian Lance Taylor bb2978b8fd compiler: Don't make gc symbol for bad array type.
When parsing a malformed array type, i.e. invalid length, gccgo
    would loop indefinitely based off of a uninitialized length variable.
    
    Fixes golang/go#11539.
    
    Reviewed-on: https://go-review.googlesource.com/13066

From-SVN: r226825
2015-08-12 17:21:11 +00:00
Paolo Carlini c3d3b30a9a re PR c++/52742 (Initializing an array using brace initializer and template parameters)
2015-08-12  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/52742
	* g++.dg/cpp0x/pr52742.C: New.

From-SVN: r226824
2015-08-12 17:18:14 +00:00
Matthew Wahab cafd2e4587 arm-fpus.def: Replace booleans with feature flags.
* config/arm/arm-fpus.def: Replace booleans with feature flags.
	Update comment.
	* config/arm/arm.c (ARM_FPU): Update macro.
	* config/arm/arm.h (TARGET_NEON_FP16): Update feature test.
	(TARGET_FP16): Likewise.
	(TARGET_CRYPTO): Likewise.
	(TARGET_NEON): Likewise.
	(struct arm_fpu_desc): Remove fields neon, fp16 and crypto.  Add
	field features.

From-SVN: r226821
2015-08-12 15:42:31 +00:00
Caroline Tice 441fb2cdb7 Fix warnings when bootstrapping on darwin with vtable verification enabled.
libstdc++-v3/ChangeLog:

2015-08-11  Caroline Tice <cmtice@google.com>

        PR 66521, Contributed by Eric Gallager
        * acinclude.m4 (VTV_CXXLINKFLAGS): Make this variable OS-specific, and
        fix the rpath flag to work properly for darwin.
        * configure: Regenerated.

From-SVN: r226820
2015-08-12 08:40:11 -07:00
Tom de Vries 5dc85f7ec7 Remove --with-host-libstdcxx
2015-08-12  Tom de Vries  <tom@codesourcery.com>

	PR other/67092
	PR other/67098
	* configure.ac: Remove --with_host_libstdcxx support.
	* configure: Regenerate.

	* doc/install.texi: Remove --with_host_libstdcxx item.  Update
	--with-stage1-libs, --with-boot-ldflags and --with-boot-libs items
	accordingly.  Mention default for --with-stage1-ldflags.

From-SVN: r226819
2015-08-12 15:13:35 +00:00
Matthew Wahab b813c04090 arm.h (arm_fpu_feature_set): New.
* config/arm/arm.h (arm_fpu_feature_set): New.
	(ARM_FPU_FSET_HAS): New.
	(FPU_FL_NONE): New.
	(FPU_FL_NEON): New.
	(FPU_FL_FP16): New.
	(FPU_FL_CRYPTO): New.

From-SVN: r226818
2015-08-12 15:03:29 +00:00
H.J. Lu 51c728b17d Add Knights Landing support to __builtin_cpu_is
This patch adds Knights Landing support to __builtin_cpu_is.

gcc/testsuite/

	* gcc.target/i386/builtin_target.c (check_intel_cpu_model):
	Check Knights Landing support.

libgcc/

	* config/i386/cpuinfo.c (processor_types): Add INTEL_KNL.
	(get_intel_cpu): Add Knights Landing support.

From-SVN: r226817
2015-08-12 07:52:22 -07:00
Paolo Carlini 026af5602f re PR c++/47461 (warn_unused_result attribute ignored for templates)
2015-08-12  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/47461
	* g++.dg/warn/Wunused-result-1.C: New.

From-SVN: r226816
2015-08-12 14:47:58 +00:00
Kyrylo Tkachov 1c6527817f [AArch64] Do not ICE after apologising for -mcmodel=large -fPIC
* config/aarch64/aarch64.c (initialize_aarch64_code_model): Break
	after -mcmodel=large -fPIC sorry.

From-SVN: r226815
2015-08-12 14:36:35 +00:00
Richard Biener 7fd9012e47 tree-ssa-sccvn.c (vn_nary_op_compute_hash): Also canonicalize comparison operand order and commutative ternary op operand order.
2015-08-12  Richard Biener  <rguenther@suse.de>

	* tree-ssa-sccvn.c (vn_nary_op_compute_hash): Also canonicalize
	comparison operand order and commutative ternary op operand order.
	(sccvn_dom_walker::cond_stack): New state to track temporary
	expressions.
	(sccvn_dom_walker::after_dom_children): Remove tempoary expressions
	no longer valid.
	(sccvn_dom_walker::record_cond): Add a single temporary conditional
	expression.
	(sccvn_dom_walker::record_conds): Add a temporary conditional
	expressions and all related expressions also true/false.
	(sccvn_dom_walker::before_dom_children): Record temporary
	expressions based on the controlling condition of a single
	predecessor.  When trying to simplify a conditional statement
	lookup expressions we might have inserted earlier.

	* gcc.dg/tree-ssa/ssa-fre-47.c: New testcase.
	* gcc.dg/tree-ssa/ssa-fre-48.c: Likewise.
	* gcc.dg/tree-ssa/ssa-fre-49.c: Likewise.
	* g++.dg/tree-ssa/pr61034.C: Adjust.
	* gcc.dg/fold-compare-2.c: Likewise.
	* gcc.dg/pr50763.c: Likewise.
	* gcc.dg/predict-3.c: Likewise.
	* gcc.dg/tree-ssa/20030709-2.c: Likewise.
	* gcc.dg/tree-ssa/pr19831-3.c: Likewise.
	* gcc.dg/tree-ssa/pr20657.c: Likewise.
	* gcc.dg/tree-ssa/pr21001.c: Likewise.
	* gcc.dg/tree-ssa/pr37508.c: Likewise.
	* gcc.dg/tree-ssa/vrp04.c: Likewise.
	* gcc.dg/tree-ssa/vrp07.c: Likewise.
	* gcc.dg/tree-ssa/vrp09.c: Likewise.
	* gcc.dg/tree-ssa/vrp16.c: Likewise.
	* gcc.dg/tree-ssa/vrp20.c: Likewise.
	* gcc.dg/tree-ssa/vrp25.c: Likewise.
	* gcc.dg/tree-ssa/vrp87.c: Likewise.

From-SVN: r226814
2015-08-12 14:27:40 +00:00
Yvan Roux c0ba5a8b0c re PR target/67127 ([ARM] Avoiding odd-number ldrd/strd in movdi introduced a regression on armeb-linux-gnueabihf)
2015-08-12  Yvan Roux  <yvan.roux@linaro.org>

	PR target/67127
	* config/arm/arm.md (movdi): Restrict illegitimate ldrd/strd checking
	to ARM core registers.

From-SVN: r226811
2015-08-12 13:27:41 +00:00
Nathan Sidwell da7db2ced2 tree-vrp.c (simplify_min_or_max_using_ranges): New.
* tree-vrp.c (simplify_min_or_max_using_ranges): New.
	(simplify_stmt_using_ranges): Simplify MIN and MAX exprs.

	testsuite/
	* gcc.dg/vrp-min-max-1.c: New.
	* gcc.dg/vrp-min-max-2.c: New.

From-SVN: r226809
2015-08-12 13:08:23 +00:00
Marek Polacek 191a6b94e6 c-decl.c (grokdeclarator): Call error_at instead of error and pass LOC to it.
* c-decl.c (grokdeclarator): Call error_at instead of error and pass
	LOC to it.

From-SVN: r226807
2015-08-12 11:26:39 +00:00
Jonathan Wakely 93666a7b00 appendix_contributing.xml: Update patch email policy.
* doc/xml/manual/appendix_contributing.xml: Update patch email policy.
	* doc/xml/manual/status_cxx2017.xml: Update status table.
	* doc/html/manual/*: Regenerate.

From-SVN: r226806
2015-08-12 11:47:30 +01:00
Simon Dardis 585d372b05 [MIPS] Scheduler fix for the 74k & 24k.
2015-08-12  Simon Dardis  <simon.dardis@imgtec.com>

gcc/
	* config/mips/mips.c (mips_store_data_bypass_p): Bring code into
	line with comments.
	* config/mips/sb1.md: Update usage of mips_store_data_bypass_p.

From-SVN: r226805
2015-08-12 10:44:56 +00:00
Richard Biener bde351d539 gimple.h (remove_pointer): New trait.
2015-08-12  Richard Biener  <rguenther@suse.de>

	* gimple.h (remove_pointer): New trait.
	(GIMPLE_CHECK2): New inline template function.
	(gassign::code_): New constant static member.
	(is_a_helper<const gassign *>): Add.
	(gimple_assign_lhs): Use GIMPLE_CHECK2 in the gimple overload
	and forward to a new gassign overload with less checking and a
	cheaper way to access the operand.
	(gimple_assign_lhs_ptr): Likewise.
	(gimple_assign_set_lhs): Likewise.
	(gimple_assign_rhs1, gimple_assign_rhs1_ptr, gimple_assign_set_rhs1):
	Likewise.
	(gimple_assign_rhs2, gimple_assign_rhs2_ptr, gimple_assign_set_rhs2):
	Likewise.
	(gimple_assign_rhs3, gimple_assign_rhs3_ptr, gimple_assign_set_rhs3):
	Likewise.
	(gimple_assign_rhs_code): Likewise.
	* gimple.c (gassign::code_): Define.

From-SVN: r226802
2015-08-12 07:42:31 +00:00
Richard Biener d27139850b tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Eliminate edges marked as not executable by SCCVN.
2015-08-12  Richard Biener  <rguenther@suse.de>

	* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
	Eliminate edges marked as not executable by SCCVN.
	* tree-ssa-sccvn.c: Include gimple-iterator.h.
	(cond_dom_walker): Rename to sccvn_dom_walker.
	(sccvn_dom_walker::before_dom_children): Value-number defs
	of all stmts.
	(run_scc_vn): Remove loop value-numbering all SSA names.
	Drop not visited SSA names to varying.

	* gcc.dg/tree-ssa/ssa-fre-43.c: Adjust.

From-SVN: r226801
2015-08-12 07:34:07 +00:00
Tom de Vries 51d3809e63 Fix vect/trapv-vect-reduc-4.c for sparc
2015-08-12  Tom de Vries  <tom@codesourcery.com>

	PR testsuite/67175
	* gcc.dg/vect/trapv-vect-reduc-4.c: Add reduction detection scan.
	Handle absence of vector min/max for sparc.

From-SVN: r226800
2015-08-12 05:50:55 +00:00
GCC Administrator ab644b9bc2 Daily bump.
From-SVN: r226798
2015-08-12 00:16:10 +00:00
Ian Lance Taylor 7a8dfe707b compiler: Check for EOF in malformed signatures.
When parsing a malformed function declaration with invalid parameters,
    gccgo would infinitely loop looking for the end of the function
    declaration.
    
    Fixes golang/go#11530, golang/go#11531.
    
    Reviewed-on: https://go-review.googlesource.com/13065

From-SVN: r226795
2015-08-11 23:11:36 +00:00
Ian Lance Taylor 5d44e40bb5 compiler: Handle newlines in general comments.
On comments, the specification says
    (http://golang.org/ref/spec#Comments): General comments start with the
    character sequence /* and continue through the character sequence */.
    A general comment containing one or more newlines acts like a newline,
    otherwise it acts like a space.
    
    Fixes golang/go#11528.
    
    Reviewed-on: https://go-review.googlesource.com/13064

From-SVN: r226794
2015-08-11 22:45:32 +00:00
Trevor Saunders 63ab94b6d5 replace several uses of the anon namespace with GCC_FINAL
gcc/ChangeLog:

2015-08-11  Trevor Saunders  <tbsaunde@tbsaunde.org>

	* compare-elim.c, dce.c, dse.c, gimple-ssa-isolate-paths.c,
	gimple-ssa-strength-reduction.c, graphite.c, init-regs.c,
	ipa-pure-const.c, ipa-visibility.c, ipa.c, mode-switching.c,
	omp-low.c, reorg.c, sanopt.c, trans-mem.c, tree-eh.c,
	tree-if-conv.c, tree-ssa-copyrename.c, tree-ssa-dce.c,
	tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
	tree-ssa-sink.c, tree-ssanames.c, tree-stdarg.c, tree-tailcall.c,
	tree-vect-generic.c, tree.c, ubsan.c, var-tracking.c,
	vtable-verify.c, web.c: Use GCC_FINAL instead of the anonymous
namespace.

From-SVN: r226793
2015-08-11 22:39:37 +00:00
Trevor Saunders 96d4df8b2e add GCC_FINAL to ansidecl.h
include/ChangeLog:

2015-08-11  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* ansidecl.h (GCC_FINAL): New macro.

From-SVN: r226792
2015-08-11 22:39:31 +00:00
Ian Lance Taylor 2abb463fab compiler: Don't make void-typed temporaries.
Fixes golang/go#11568.
    
    Reviewed-on: https://go-review.googlesource.com/12653

From-SVN: r226788
2015-08-11 21:37:26 +00:00