Commit Graph

145777 Commits

Author SHA1 Message Date
Joseph Myers
67647f9229 * nl.po: Update.
From-SVN: r235827
2016-05-03 16:07:25 +01:00
Alan Modra
fcc861d975 PR70890, stage2 miscompilation
PR rtl-optimization/70890
	* ira.c (combine_and_move_insns): When moving def_insn, remove
	equivs on use_insn.

From-SVN: r235825
2016-05-04 00:13:35 +09:30
Dominik Vogt
f3d9004571 S/390: Add patterns for r<nox>sbg instructions.
gcc/ChangeLog:

2016-05-03  Dominik Vogt  <vogt@linux.vnet.ibm.com>

	* config/s390/s390.md ("*r<noxa>sbg_<mode>_sll")
	("*r<noxa>sbg_<mode>_srl"): New define_insns.
	("*r<noxa>sbg_<mode>_srl_bitmask"): Rename by adding "_bitmask".
	("*r<noxa>sbg_<mode>_sll_bitmask"): Likewise.

gcc/testsuite/ChangeLog:

2016-05-03  Dominik Vogt  <vogt@linux.vnet.ibm.com>

	* gcc.target/s390/md/rXsbg_mode_sXl.c: New test.
	* gcc.target/s390/s390.exp (check_effective_target_z10_instructions):
	Procedure to check for z10 instruction set.

From-SVN: r235822
2016-05-03 13:30:33 +00:00
Christophe Lyon
1e26cec1ff inline-8.c: Require c99_runtime.
* gcc.dg/ipa/inline-8.c: Require c99_runtime.

From-SVN: r235821
2016-05-03 15:06:40 +02:00
Alan Modra
71aca5a07a [RS6000] Fix ICE caused by rs6000_savres_strategy thinko
rev 235672 (git cffc0b35) changed the condition for SAVE_MULTIPLE/
STORE_MULTIPLE, wrongly allowing a single reg.

gcc/
	* config/rs6000/rs6000.c (rs6000_savres_strategy): Correct condition
	for SAVE_MULTIPLE/STORE_MULTIPLE.
gcc/testsuite/
	* gcc.target/powerpc/savres.c: Add func using a single gpr.

From-SVN: r235820
2016-05-03 22:08:32 +09:30
Jakub Jelinek
2fd70ec11c * config/i386/i386.md (*truncdfsf_mixed, *truncdfsf_i387,
*truncxfsf2_mixed, *truncxfdf2_mixed): Use v constraint instead
	of x.

	* gcc.target/i386/avx512f-cvt-1.c: New test.

From-SVN: r235819
2016-05-03 14:18:57 +02:00
H.J. Lu
e5705cf736 Compile ssa-thread-14.c with -fdump-tree-vrp-details
* gcc.dg/tree-ssa/ssa-thread-14.c: Replace -fdump-tree-vrp with
	-fdump-tree-vrp-details.

From-SVN: r235818
2016-05-03 05:14:37 -07:00
Richard Biener
381cdae497 gimplify.h (get_initialized_tmp_var): Add allow_ssa parameter default true.
2016-05-03  Richard Biener  <rguenther@suse.de>

	* gimplify.h (get_initialized_tmp_var): Add allow_ssa parameter
	default true.
	(gimplify_arg): Likewise.
	* gimplify.c (gimplify_expr): Add overload with allow_ssa parameter,
	re-writing the result to a decl if required.
	(internal_get_tmp_var): Add allow_ssa parameter
	and override into_ssa with it.
	(get_formal_tmp_var): Adjust.
	(get_initialized_tmp_var): Add allow_ssa parameter.
	(gimplify_arg): Add allow_ssa parameter and avoid generating
	SSA names for the result false.
	(gimplify_call_expr): If the call may return twice do not
	gimplify parameters into SSA.
	(prepare_gimple_addressable): Do not allow an SSA name as
	temporary.
	(gimplify_modify_expr): Adjust assert.  For noreturn calls
	with a SSA name LHS adjust its def.
	(gimplify_save_expr): Do not allow an SSA name as save-expr
	result.
	(gimplify_one_sizepos): Do not allow an SSA name as a sizepos.
	(gimplify_body): Init GIMPLE SSA data structures and gimplify
	into-SSA.
	(gimplify_scan_omp_clauses): Make sure OMP_CLAUSE_SIZE is not
	an SSA name.  Likewise for OMP_CLAUSE_REDUCTION operands.
	(gimplify_omp_for): Likewise for OMP_CLAUSE_DECL.  Likewise
	for OMP_FOR_COND,  OMP_FOR_INCR and OMP_CLAUSE_LINEAR_STEP.
	(optimize_target_teams): Do not allow SSA names for clause operands.
	(gimplify_expr): Likewise for where we mark the result addressable.
	* passes.def (pass_init_datastructures): Remove.
	* tree-into-ssa.c (mark_def_sites): Ignore existing SSA names.
	(rewrite_stmt): Likewise.
	* tree-inline.c (initialize_cfun): Properly transfer SSA state.
	(replace_locals_op): Replace SSA names.
	(copy_gimple_seq_and_replace_locals): Init src_cfun.
	* gimple-low.c (lower_builtin_setjmp): Deal with SSA.
	* cgraph.c (release_function_body): Free CFG annotations only
	when we have a CFG.  Simplify.
	* gimple-fold.c (gimplify_and_update_call_from_tree): Use
	force_gimple_operand instead of get_initialized_tmp_var.
	* tree-pass.h (make_pass_init_datastructures): Remove.
	* tree-ssa.c (execute_init_datastructures): Remove.
	(pass_data_init_datastructures): Likewise.
	(class pass_init_datastructures): Likewise.
	(make_pass_init_datastructures): Likewise.
	* omp-low.c (create_omp_child_function): Init SSA data structures.
	(grid_expand_target_grid_body): Likewise.
	* tree-cfg.c (move_block_to_fn): Double-check the DEF is an SSA
	name before adding it to names_to_release.
	(remove_bb): Always release SSA defs.
	* tree-ssa-ccp.c (get_default_value): Check SSA_NAME_VAR
	before dereferencing it.
	* cgraphunit.c (init_lowered_empty_function): Always
	int SSA data structures.
	* tree-ssanames.c (release_defs): Remove assert that we are in
	SSA form.
	* trans-mem.c (diagnose_tm_1): Handle SSA name function.

	c-family/
	* cilk.c (cilk_gimplify_call_params_in_spawned_fn): Do not
	allow call args to gimplify to SSA names.

	* gcc.dg/pr30172-1.c: Adjust.
	* gcc.dg/pr63743.c: Likewise.
	* gcc.dg/tm/pr51696.c: Likewise.
	* c-c++-common/tm/safe-1.c: Likewise.
	* gcc.dg/tree-prof/val-prof-3.c: Likewise.
	* gcc.dg/plugin/self-assign-test-1.c: XFAIL case that needs CSE.
	* g++.dg/plugin/self-assign-test-1.C: Likewise.
	* g++.dg/plugin/self-assign-test-2.C: Likewise.

From-SVN: r235817
2016-05-03 12:06:19 +00:00
Jakub Jelinek
31ed166586 re PR rtl-optimization/70467 (Useless "and [esp],-1" emitted on AND with uint64_t variable)
PR rtl-optimization/70467
	* config/i386/predicates.md (x86_64_hilo_int_operand,
	x86_64_hilo_general_operand): New predicates.
	* config/i386/constraints.md (Wd): New constraint.
	* config/i386/i386.md (mode attr di): Use Wd instead of e.
	(general_hilo_operand): New mode attr.
	(add<mode>3, sub<mode>3): Use <general_hilo_operand>
	instead of <general_operand>.
	(*add<dwi>3_doubleword, *sub<dwi>3_doubleword): Use
	x86_64_hilo_general_operand instead of <general_operand>.

	* gcc.target/i386/pr70467-3.c: New test.
	* gcc.target/i386/pr70467-4.c: New test.

Co-Authored-By: Uros Bizjak <ubizjak@gmail.com>

From-SVN: r235816
2016-05-03 13:45:04 +02:00
Jakub Jelinek
e7437b594f re PR tree-optimization/70916 (gcc ICE at -O3 on valid code on x86_64-linux-gnu in "tree_operand_check")
PR tree-optimization/70916
	* tree-if-conv.c (constant_or_ssa_name): Removed.
	(fold_build_cond_expr): Use is_gimple_val instead of
	constant_or_ssa_name.

From-SVN: r235815
2016-05-03 13:43:06 +02:00
Jakub Jelinek
dea60b590c re PR tree-optimization/70916 (gcc ICE at -O3 on valid code on x86_64-linux-gnu in "tree_operand_check")
PR tree-optimization/70916
	* tree-vect-patterns.c (vect_recog_mask_conversion_pattern): Give up
	if COND_EXPR rhs1 is neither SSA_NAME nor COMPARISON_CLASS_P.

	* gcc.c-torture/compile/pr70916.c: New test.

From-SVN: r235814
2016-05-03 13:38:38 +02:00
Jakub Jelinek
adedd5c173 re PR target/49244 (__sync or __atomic builtins will not emit 'lock bts/btr/btc')
PR target/49244
	* tree-ssa-ccp.c: Include stor-layout.h and optabs-query.h.
	(optimize_atomic_bit_test_and): New function.
	(pass_fold_builtins::execute): Use it.
	* optabs.def (atomic_bit_test_and_set_optab,
	atomic_bit_test_and_complement_optab,
	atomic_bit_test_and_reset_optab): New optabs.
	* internal-fn.def (ATOMIC_BIT_TEST_AND_SET,
	ATOMIC_BIT_TEST_AND_COMPLEMENT, ATOMIC_BIT_TEST_AND_RESET): New ifns.
	* builtins.h (expand_ifn_atomic_bit_test_and): New prototype.
	* builtins.c (expand_ifn_atomic_bit_test_and): New function.
	* internal-fn.c (expand_ATOMIC_BIT_TEST_AND_SET,
	expand_ATOMIC_BIT_TEST_AND_COMPLEMENT,
	expand_ATOMIC_BIT_TEST_AND_RESET): New functions.
	* doc/md.texi (atomic_bit_test_and_set@var{mode},
	atomic_bit_test_and_complement@var{mode},
	atomic_bit_test_and_reset@var{mode}): Document.
	* config/i386/sync.md (atomic_bit_test_and_set<mode>,
	atomic_bit_test_and_complement<mode>,
	atomic_bit_test_and_reset<mode>): New expanders.
	(atomic_bit_test_and_set<mode>_1,
	atomic_bit_test_and_complement<mode>_1,
	atomic_bit_test_and_reset<mode>_1): New insns.

	* gcc.target/i386/pr49244-1.c: New test.
	* gcc.target/i386/pr49244-2.c: New test.

From-SVN: r235813
2016-05-03 13:37:25 +02:00
Richard Sandiford
50891606a9 PR 70687: Use wide_int in combine.c:change_zero_ext
PR 70687 reports a case where combine.c mishandles integer modes
wider than unsigned HOST_WIDE_INT.  I don't have a testcase since
the PR is just pointing out the hole.

Also, I think a ZERO_EXTEND of a vector mode could in principle satisfy
the subreg condition but wouldn't be equivalent to an AND.  E.g.:

      (zero_extend:V4DI (subreg:V4SI (reg:V4DI R) 0))

Tested on x86_64-linux-gnu.

gcc/
	PR rtl-optimization/70687
	* combine.c (change_zero_ext): Check for scalar modes.  Use wide_int
	instead of unsigned HOST_WIDE_INT.

From-SVN: r235811
2016-05-03 10:29:55 +00:00
Bernd Schmidt
f80041efb9 Fix PR44281, bad RA with global regs.
PR rtl-optimization/44281
	* hard-reg-set.h (struct target_hard_regs): New field
	x_fixed_nonglobal_reg_set.
	(fixed_nonglobal_reg_set): New macro.
	* reginfo.c (init_reg_sets_1): Initialize it.
	* ira.c (setup_alloc_regs): Use fixed_nonglobal_reg_set instead
	of fixed_reg_set.
	* df-scan.c (df_insn_refs_collect): Asms may reference global regs.

testsuite/
	PR rtl-optimization/44281
	* gcc.target/i386/pr44281.c: New test.

From-SVN: r235809
2016-05-03 09:35:42 +00:00
Bin Cheng
1cfcd39eee re PR tree-optimization/56541 (vectorizaton fails in conditional assignment of a constant)
PR tree-optimization/56541
	* doc/invoke.texi (@item max-tree-if-conversion-phi-args): New item.
	* params.def (PARAM_MAX_TREE_IF_CONVERSION_PHI_ARGS): new param.
	* tree-if-conv.c (MAX_PHI_ARG_NUM): new macro.
	(any_complicated_phi): new static variable.
	(aggressive_if_conv): delete.
	(if_convertible_phi_p): support phis with more than two arguments.
	(if_convertible_bb_p): remvoe check on aggressive_if_conv and
	critical pred edges.
	(ifcvt_split_critical_edges): support phis with more than two
	arguments by checking new parameter.  only split critical edges
	if needed.
	(tree_if_conversion): handle simd pragma marked loop using new
	local variable aggressive_if_conv.  check any_complicated_phi.

	gcc/testsuite
	PR tree-optimization/56541
	* gcc.dg/tree-ssa/ifc-pr56541.c: new test.
	* gcc.dg/vect/pr56541.c: new test.

From-SVN: r235808
2016-05-03 09:04:46 +00:00
Bin Cheng
15526589cf tree-ssa-loop-ivopts.c (get_computation_cost_at): Check depends_on before using it.
* tree-ssa-loop-ivopts.c (get_computation_cost_at): Check depends_on
	before using it.

From-SVN: r235807
2016-05-03 08:54:49 +00:00
Bin Cheng
e0db140205 tree-ssa-loop-ivopts.c (get_computation_cost_at): Don't clobber cbase.
* tree-ssa-loop-ivopts.c (get_computation_cost_at): Don't clobber
	cbase.

From-SVN: r235805
2016-05-03 08:38:18 +00:00
Richard Biener
fb2647aaf5 Make-lang.in (cc1-checksum.c): For stage-final re-use the checksum from the previous stage.
2016-05-03  Richard Biener  <rguenther@suse.de>

	c/
	* Make-lang.in (cc1-checksum.c): For stage-final re-use
	the checksum from the previous stage.

	cp/
	* Make-lang.in (cc1plus-checksum.c): For stage-final re-use
	the checksum from the previous stage.

From-SVN: r235804
2016-05-03 08:14:27 +00:00
Oleg Endo
d0ce23266b sh.md (udivsi3, [...]): Simplify.
gcc/
	* config/sh/sh.md (udivsi3, divsi3, mulsi3): Simplify.
	(mulhisi3, umulhisi3, (smulsi3_highpart, umulsi3_highpart): Convert to
	define_insn_and_split.
	(mulsi3_i): New define_insn_and_split.
	(mulsi3_call): Convert to define_insn.
	(mulsidi3, mulsidi3_compact, umulsidi3, umulsidi3_compact):
	Remove constraints.

From-SVN: r235803
2016-05-03 06:47:34 +00:00
Marek Polacek
1d793c3444 * c-common.h (enum c_omp_region_type): Remove stray comma.
From-SVN: r235802
2016-05-03 06:40:46 +00:00
GCC Administrator
1e2867df4e Daily bump.
From-SVN: r235800
2016-05-03 00:16:22 +00:00
Michael Meissner
4304ccfd01 machmode.h (mode_complex): Add support to give the complex mode for a given mode.
[gcc]
2016-05-02  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* machmode.h (mode_complex): Add support to give the complex mode
	for a given mode.
	(GET_MODE_COMPLEX_MODE): Likewise.
	* stor-layout.c (layout_type): For COMPLEX_TYPE, use the mode
	stored by build_complex_type and gfc_build_complex_type instead of
	trying to figure out the appropriate mode based on the size. Raise
	an assertion error, if the type was not set.
	* genmodes.c (struct mode_data): Add field for the complex type of
	the given type.
	(blank_mode): Likewise.
	(make_complex_modes): Remember the complex mode created in the
	base type.
	(emit_mode_complex): Write out the mode_complex array to map a
	type mode to the complex version.
	(emit_insn_modes_c): Likewise.
	* tree.c (build_complex_type): Set the complex type to use before
	calling layout_type.
	* config/rs6000/rs6000.c (rs6000_hard_regno_nregs_internal): Add
	support for __float128 complex datatypes.
	(rs6000_hard_regno_mode_ok): Likewise.
	(rs6000_setup_reg_addr_masks): Likewise.
	(rs6000_complex_function_value): Likewise.
	* config/rs6000/rs6000.h (FLOAT128_IEEE_P): Likewise.
	__float128 and __ibm128 complex.
	(FLOAT128_IBM_P): Likewise.
	(ALTIVEC_ARG_MAX_RETURN): Likewise.
	* doc/extend.texi (Additional Floating Types): Document that
	-mfloat128 must be used to enable __float128.  Document complex
	__float128 and __ibm128 support.

[gcc/fortran]
2016-05-02  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* trans-types.c (gfc_build_complex_type):

[gcc/testsuite]
2016-05-02  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* gcc.target/powerpc/float128-complex-1.c: New tests for complex
	__float128.
	* gcc.target/powerpc/float128-complex-2.c: Likewise.

From-SVN: r235794
2016-05-02 23:23:45 +00:00
Jakub Jelinek
fd39794afa re PR target/49244 (__sync or __atomic builtins will not emit 'lock bts/btr/btc')
PR target/49244
	* gimple.c (gimple_builtin_call_types_compatible_p): Allow
	char/short arguments promoted to int because of promote_prototypes.

From-SVN: r235792
2016-05-03 00:12:54 +02:00
H.J. Lu
50d94c29c0 backport: Since x86 psABIs require the function incoming stack must align at 16 bytes...
Backport r265322 from llvm upstream

Since x86 psABIs require the function incoming stack must align at 16
bytes, child process stack passed to clone should be aligned at 16
bytes.

	PR testsuite/70520
	* c-c++-common/asan/clone-test-1.c (main): Align child process
	stack to 16 bytes.

From-SVN: r235790
2016-05-02 14:45:34 -07:00
David Malcolm
bc1aee87f6 PR c++/62314: C++: add fixit hint to misspelled member names
When we emit a hint about a misspelled member name, it will slightly
aid readability if we use a fixit-hint to show the proposed
name in context within the source code (and in the future this
might support some kind of auto-apply in an IDE).

This patch adds such a hint to the C++ frontend, taking us from:

test.cc:10:15: error: 'struct foo' has no member named 'colour'; did you mean 'color'?
   return ptr->colour;
               ^~~~~~

to:

test.cc:10:15: error: 'struct foo' has no member named 'colour'; did you mean 'color'?
   return ptr->colour;
               ^~~~~~
               color

gcc/cp/ChangeLog:
	PR c++/62314
	* typeck.c (finish_class_member_access_expr): When
	giving a hint about a possibly-misspelled member name,
	add a fix-it replacement hint.

gcc/testsuite/ChangeLog:
	PR c++/62314
	* g++.dg/spellcheck-fields-2.C: New test case.

From-SVN: r235785
2016-05-02 19:09:30 +00:00
Uros Bizjak
7caed52069 * ChangeLog: Add missing entry.
From-SVN: r235783
2016-05-02 20:58:18 +02:00
Uros Bizjak
c8802daf94 predicates.md (register_ssemem_operand): New predicate.
* config/i386/predicates.md (register_ssemem_operand): New predicate.
	* config/i386/i386.md (*cmpi<FPCMP:unord><MODEF:mode>): Merge from
	*cmpi<FPCMP:unord><MODEF:mode>_mixed and
	*cmpi<FPCMP:unord><X87MODEF:mode>_i387.  Disable unsupported
	alternatives using "enabled" attribute.  Use register_ssemem_operand
	as operand 1 predicate.
	(*cmpi<unord>xf_i387): Split XFmode pattern from
	*cmpi<FPCMP:unord><X87MODEF:mode>_i387.
	(*absneg<mode>2): Merge from *absneg<mode>2_mixed and
	*absneg<mode>2_i387.  Disable unsupported alternatives using
	"enabled" attribute.

From-SVN: r235782
2016-05-02 20:52:33 +02:00
Cesar Philippidis
778864283e c-common.h (enum c_omp_region_type): Define.
gcc/c-family/
	* c-common.h (enum c_omp_region_type): Define.

	gcc/c/
	* c-parser.c (c_parser_oacc_all_clauses): Update call to
	c_finish_omp_clauses.
	(c_parser_omp_all_clauses): Likewise.
	(c_parser_oacc_cache): Likewise.
	(c_parser_oacc_loop): Likewise.
	(omp_split_clauses): Likewise.
	(c_parser_omp_declare_target): Likewise.
	(c_parser_cilk_all_clauses): Likewise.
	(c_parser_cilk_for): Likewise.
	* c-typeck.c (c_finish_omp_clauses): Replace bool arguments
	is_omp, declare_simd, and is_cilk with enum c_omp_region_type ort.

	gcc/cp/
	* cp-tree.h (finish_omp_clauses): Update prototype.
	* parser.c (cp_parser_oacc_all_clauses): Update call to
	finish_omp_clauses.
	(cp_parser_omp_all_clauses): Likewise.
	(cp_parser_omp_for_loop): Likewise.
	(cp_omp_split_clauses): Likewise.
	(cp_parser_oacc_cache): Likewise.
	(cp_parser_oacc_loop): Likewise.
	(cp_parser_omp_declare_target):
	(cp_parser_cilk_simd_all_clauses): Likewise.
	(cp_parser_cilk_for): Likewise.
	* pt.c (tsubst_omp_clauses): Replace allow_fields and declare_simd
	arguments with enum c_omp_region_type ort.
	(tsubst_omp_clauses): Update calls to finish_omp_clauses.
	(tsubst_omp_attribute): Update calls to tsubst_omp_clauses.
	(tsubst_omp_for_iterator): Update calls to finish_omp_clauses.
	(tsubst_expr): Update calls to tsubst_omp_clauses.
	* semantics.c (finish_omp_clauses): Replace bool arguments
	allow_fields, declare_simd, and is_cilk with bitmask ort.
	(finish_omp_for): Update call to finish_omp_clauses.

From-SVN: r235780
2016-05-02 11:49:15 -07:00
David Malcolm
474e0129ac PR c++/62314: add fixit hint for missing "template <> " in explicit specialization
gcc/cp/ChangeLog:
	PR c++/62314
	* parser.c (cp_parser_class_head): Capture the start location;
	use it to emit a fix-it insertion hint when complaining
	about missing "template <> " in explicit specializations.

gcc/testsuite/ChangeLog:
	PR c++/62314
	* g++.dg/pr62314.C: New test case.

From-SVN: r235777
2016-05-02 18:36:40 +00:00
Nathan Sidwell
4877b5a4ac omp-low.c (lower_oacc_head_tail): Assert there is at least one marker.
* omp-low.c (lower_oacc_head_tail): Assert there is at least one
	marker.
	(oacc_loop_process): Check mask for loop termination.

From-SVN: r235775
2016-05-02 18:27:40 +00:00
Rainer Orth
4344d7fa74 Don't install libvtv without --enable-vtable-verify
* Makefile.am (toolexeclib_LTLIBRARIES): Only set if
	ENABLE_VTABLE_VERIFY.
	Simplify.
	* Makefile.in: Regenerate.

From-SVN: r235772
2016-05-02 18:10:17 +00:00
Jan Hubicka
201da53f66 ipa-inline-analsysis.c (evaluate_conditions_for_known_args): Revert accidental change.
* ipa-inline-analsysis.c (evaluate_conditions_for_known_args): Revert
	accidental change.

From-SVN: r235771
2016-05-02 17:38:53 +00:00
Jan Hubicka
fd5fac4c8c * cif-code.def (CIF_THUNK): Add.
From-SVN: r235770
2016-05-02 17:34:32 +00:00
Joseph Myers
ed3c0c8e0c * sv.po, zh_CN.po: Update.
From-SVN: r235768
2016-05-02 18:27:36 +01:00
Marcel Böhme
bfbc839a0b Demangler integer overflow fixes from Marcel Böhme.
PR c++/70498
	* cp-demangle.c: Parse numbers as integer instead of long to avoid
	overflow after sanity checks. Include <limits.h> if available.
	(INT_MAX): Define if necessary.
	(d_make_template_param): Takes integer argument instead of long.
	(d_make_function_param): Likewise.
	(d_append_num): Likewise.
	(d_identifier): Likewise.
	(d_number): Parse as and return integer.
	(d_compact_number): Handle overflow.
	(d_source_name): Change variable type to integer for parsed number.
	(d_java_resource): Likewise.
	(d_special_name): Likewise.
	(d_discriminator): Likewise.
	(d_unnamed_type): Likewise.
	* testsuite/demangle-expected: Add regression test cases.

From-SVN: r235767
2016-05-02 17:06:40 +00:00
Jan Hubicka
818b88a7a1 ipa-inline-analysis.c (reset_inline_summary): Clear fp_expressions
* ipa-inline-analysis.c (reset_inline_summary): Clear fp_expressions
	(dump_inline_summary): Dump it.
	(fp_expression_p): New predicate.
	(estimate_function_body_sizes): Use it.
	(inline_merge_summary): Merge fp_expressions.
	(inline_read_section): Read fp_expressions.
	(inline_write_summary): Write fp_expressions.
	* ipa-inline.c (can_inline_edge_p): Permit inlining across fp math
	codegen boundary if either caller or callee is !fp_expressions.
	* ipa-inline.h (inline_summary): Add fp_expressions.
	* ipa-inline-transform.c (inline_call): When inlining !fp_expressions
	to fp_expressions be sure the fp generation flags are updated.

	* gcc.dg/ipa/inline-8.c: New testcase.

From-SVN: r235766
2016-05-02 16:55:56 +00:00
Jakub Jelinek
dd77684f05 re PR rtl-optimization/70467 (Useless "and [esp],-1" emitted on AND with uint64_t variable)
PR rtl-optimization/70467
	* cse.c (cse_insn): Handle no-op MEM moves after folding.

	* gcc.target/i386/pr70467-1.c: New test.

From-SVN: r235765
2016-05-02 18:46:10 +02:00
Jakub Jelinek
d40790c8ac re PR rtl-optimization/70467 (Useless "and [esp],-1" emitted on AND with uint64_t variable)
PR rtl-optimization/70467
	* ipa-pure-const.c (check_call): Handle internal calls even in
	ipa mode like in local mode.

From-SVN: r235764
2016-05-02 18:17:02 +02:00
Bernd Edlinger
00f357941d configure.ac (mpfr): Remove pre-3.1.0 mpfr compatibility code.
2016-05-02  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * configure.ac (mpfr): Remove pre-3.1.0 mpfr compatibility code.
        * configure: Regenerated.
        * Makefile.def (gmp): Explicitly disable assembler.
        (mpfr): Adjust lib_path.
        (mpc): Likewise.
        * Makefile.in: Regenerated.

gcc/
2016-05-02  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * doc/install.texi: Document supported in-tree gmp/mpfr/mpc versions.

contrib/
2016-05-02  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * download_prerequisites: Adjust gmp/mpfr/mpc versions.

From-SVN: r235763
2016-05-02 15:23:20 +00:00
Bernd Edlinger
72407e00fd spec-options.c: Run the test on all targets.
2016-05-02  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * gcc.dg/spec-options.c: Run the test on all targets.
        * gcc.dg/foo.specs: Use cpp_unique_options.

From-SVN: r235762
2016-05-02 14:41:25 +00:00
Marc Glisse
dd53d197a2 Canonicalize X u< X to UNORDERED_EXPR
2016-05-02  Marc Glisse  <marc.glisse@inria.fr>

gcc/
	* match.pd (X u< X, X u> X): New transformations.

gcc/testsuite/
	* gcc.dg/tree-ssa/unord.c: New testcase.

From-SVN: r235761
2016-05-02 14:32:53 +00:00
Marc Glisse
a8b85ce9e2 Move "X +- C1 CMP C2 to X CMP C2 -+ C1" to match.pd
2016-05-02  Marc Glisse  <marc.glisse@inria.fr>

gcc/
	* flag-types.h (enum warn_strict_overflow_code): Move ...
	* coretypes.h: ... here.
	* fold-const.h (fold_overflow_warning): Declare.
	* fold-const.c (fold_overflow_warning): Make non-static.
	(fold_comparison): Move the transformation of X +- C1 CMP C2
	into X CMP C2 -+ C1 ...
	* match.pd: ... here.
	* gimple-fold.c (fold_stmt_1): Protect with
	fold_defer_overflow_warnings.

gcc/testsuite/
	* gcc.dg/tree-ssa/20040305-1.c: Adjust.

From-SVN: r235760
2016-05-02 14:09:07 +00:00
Nathan Sidwell
5b37e8664b omp-low.c (struct oacc_loop): Add 'inner' field.
gcc/
	* omp-low.c (struct oacc_loop): Add 'inner' field.
	(new_oacc_loop_raw): Initialize it to zero.
	(oacc_loop_fixed_partitions): Initialize it.
	(oacc_loop_auto_partitions): Partition outermost loop to outermost
	available partitioning.

	gcc/testsuite/
	* c-c++-common/goacc/loop-auto-1.c: Adjust expected warnings.

	libgomp/
	* testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
	expected partitioning.

From-SVN: r235756
2016-05-02 13:16:22 +00:00
Rainer Orth
87cdf04b1a Fix make install-gcc-specs with empty GCC_SPEC_FILES
* gcc-interface/Makefile.in (install-gcc-specs): Use foreach.
	Honor DESTDIR.

From-SVN: r235754
2016-05-02 13:08:59 +00:00
Marek Polacek
7176a4a096 re PR c/70851 (internal compiler error: in create_tmp_var, at gimple-expr.c:473)
PR c/70851
	* c-decl.c (grokdeclarator): Diagnose when array's size has an
	incomplete type.

	* gcc.dg/enum-incomplete-3.c: New test.

From-SVN: r235750
2016-05-02 11:35:59 +00:00
Claudiu Zissulescu
b5a5ade831 [ARC] Various instruction pattern fixes
gcc/
2016-05-02  Claudiu Zissulescu  <claziss@synopsys.com>

	* config/arc/arc.md (mulsidi3): Change operand 0 predicate to
	register_operand.
	(umulsidi3): Likewise.
	(indirect_jump): Fix jump instruction assembly patterns.

From-SVN: r235749
2016-05-02 13:26:57 +02:00
Thomas Schwinge
e91cacaedb [PR target/70860] [nvptx] Handle NULL cfun in nvptx_libcall_value
gcc/
	PR target/70860
	* config/nvptx/nvptx.c (nvptx_libcall_value): Handle NULL cfun.
	(nvptx_function_value): Assert non-NULL cfun.

From-SVN: r235748
2016-05-02 13:25:17 +02:00
Arnaud Charlet
c408fb34f9 Minor reformatting.
From-SVN: r235747
2016-05-02 12:37:34 +02:00
Arnaud Charlet
a56886e9df [multiple changes]
2016-05-02  Tristan Gingold  <gingold@adacore.com>

	* fname.adb (Is_Predefined_File_Name): Also consider non-krunched
	i-* names.

2016-05-02  Ed Schonberg  <schonberg@adacore.com>

	* sem_util.adb (Aggregate_Constraint_Checks): Separate
	accessibility checks and non-null checks for aggregate components,
	to prevent spurious accessibility errors.

2016-05-02  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch3.adb (OK_For_Limited_Init): A type conversion is not
	always legal in the in-place initialization of a limited entity
	(e.g. an allocator).
	* sem_res.adb (Resolve_Allocator): Improve error message with RM
	reference  when allocator expression is illegal.

From-SVN: r235746
2016-05-02 12:36:45 +02:00
Arnaud Charlet
fc3819c9b4 [multiple changes]
2016-05-02  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch6.adb (Expand_Call): When inlining a call to a function
	declared in a package instance, locate the instance node of the
	package after the actual package declaration. skipping over
	pragmas that may have been introduced when the generic unit
	carries aspects that are transformed into pragmas.

2016-05-02  Bob Duff  <duff@adacore.com>

	* s-memory.adb (Alloc, Realloc): Move checks
	for Size = 0 or size_t'Last into the Result = System.Null_Address
	path for efficiency. Improve comments (based on actual C language
	requirements for malloc).
	* exp_util.adb (Build_Allocate_Deallocate_Proc): Optimize the
	case where we are using the default Global_Pool_Object, and we
	don't need the heavy finalization machinery.

From-SVN: r235745
2016-05-02 12:34:16 +02:00