1. 10 Jun, 2015 15 commits
    • mangle-regparm.C (dg-optiond): Add -save-temps. · 5c8302fa
      	* g++.dg/abi/mangle-regparm.C (dg-optiond): Add -save-temps.
      
      From-SVN: r224341
      Uros Bizjak committed
    • re PR target/66473 (ICE: in extract_insn, at recog.c:2343 (unrecognizable insn) with -mavx512f) · ea0cf502
      	PR target/66473
      	* config/i386/i386.c (ix86_expand_vector_set): Use gen_int_mode
      	to prepare mask operand for AVX512 modes.
      
      testsuite/ChangeLog:
      
      	PR target/66473
      	* gcc.target/i386/pr66473.c: New test.
      
      From-SVN: r224340
      Uros Bizjak committed
    • re PR target/66474 (Document the use of %x in powerpc asm statements) · 6a116f14
      2015-06-10  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	PR target/66474
      	* doc/md.texi (Machine Constraints): Document that on the PowerPC
      	if you use a constraint that targets a VSX register, you must use
      	%x<n> in the template.
      
      From-SVN: r224332
      Michael Meissner committed
    • re PR c++/66289 ("error: ambiguous template instantiation" with partial… · 1a4cd2cd
      re PR c++/66289 ("error: ambiguous template instantiation" with partial specialization defined in terms of alias template)
      
      	PR c++/66289
      	* cp-tree.h (TEMPLATE_DECL_COMPLEX_ALIAS_P): New.
      	* pt.c (push_template_decl_real): Set it.
      	(dependent_alias_template_spec_p): Use it.
      	(dependent_type_p_r): Use dependent_alias_template_spec_p.
      	(uses_all_template_parms_data, uses_all_template_parms_r)
      	(complex_alias_template_p): New.
      	(get_template_parm_index): Handle BOUND_TEMPLATE_TEMPLATE_PARM.
      
      From-SVN: r224331
      Jason Merrill committed
    • xtensa: implement trap pattern · 768b6664
      2015-06-10  Max Filippov  <jcmvbkbc@gmail.com>
      gcc/
      	* config/xtensa/xtensa.h (TARGET_DEBUG): New definition.
      	* config/xtensa/xtensa.md (define_attr "type"): New type "trap".
      	(define_insn "trap"): New definition.
      
      From-SVN: r224330
      Max Filippov committed
    • tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Split out from ... · b266b968
      2015-06-10  Richard Biener  <rguenther@suse.de>
      
      	* tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Split
      	out from ...
      	(vect_supported_load_permutation_p): ... here.  Handle
      	supportable permutations in reductions.
      	* tree-vect-stmts.c (vectorizable_load): Handle SLP permutations
      	for vectorizing strided group loads.
      
      From-SVN: r224324
      Richard Biener committed
    • re PR target/66470 (TLS ICE due to ix86_split_long_move) · 8ffd51d2
      	PR target/66470
      	* config/i386/i386.c (ix86_split_long_move): For collisions
      	involving direct tls segment refs, move the UNSPEC_TP possibly
      	wrapped in ZERO_EXTEND out of the address for lea, to each of
      	the memory loads.
      
      	* gcc.dg/tls/pr66470.c: New test.
      	* gcc.target/i386/pr66470.c: New test.
      
      From-SVN: r224319
      Jakub Jelinek committed
    • Use dmb ish instead of dmb sy for ARM. · b2095240
      2015-06-10  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
      
      	* config/arm/sync.md (*memory_barrier): Use dmb ish instead of
      	dmb sy. Adjust tabs.
      
      From-SVN: r224317
      Ramana Radhakrishnan committed
    • Fix build for ENABLE_OFFLOADING in expand_omp_target · 68706112
      2015-06-10  Tom de Vries  <tom@codesourcery.com>
      
      	* omp-low.c (expand_omp_target): Remove duplicate declaration of node.
      
      From-SVN: r224316
      Tom de Vries committed
    • Fix BITMAP identifier clash. · 643e0a30
      	PR bootstrap/66471
      	* mem-stats-traits.h (enum mem_alloc_origin): Add _ORIGIN suffix for
      	all enum values in mem_alloc_origin.
      	* alloc-pool.c (dump_alloc_pool_statistics): Use newly changed enum
      	name.
      	* alloc-pool.h (pool_allocator::pool_allocator): Likewise.
      	* bitmap.c (bitmap_register): Likewise.
      	(dump_bitmap_statistics): Likewise.
      	* ggc-common.c (dump_ggc_loc_statistics): Likewise.
      	(ggc_record_overhead): Likewise.
      	* hash-map.h: Likewise.
      	* hash-set.h: Likewise.
      	* hash-table.c (void dump_hash_table_loc_statistics): Likewise.
      	* hash-table.h: Likewise.
      	* vec.c (vec_prefix::register_overhead): Likewise.
      	(vec_prefix::release_overhead): Likewise.
      	(dump_vec_loc_statistics): Likewise.
      
      From-SVN: r224315
      Martin Liska committed
    • Add ARM/thumb attribute target · d5524d52
      	PR target/52144
      
      	* config/arm/arm.opt (THUMB, arm_restrict_it, inline_asm_unified): Save.
      	* config/arm/arm-protos.h (arm_valid_target_attribute_tree): Declare.
      	(arm_reset_previous_fndecl, arm_change_mode_p): Likewise.
      	* config/arm/arm.h (SWITCHABLE_TARGET): Define.
      	* config/arm/arm.c (arm_reset_previous_fndecl): New functions.
      	(arm_valid_target_attribute_tree, arm_change_mode_p): Likewise.
      	(arm_valid_target_attribute_p): Likewise.
      	(arm_set_current_function, arm_can_inline_p): Likewise.
      	(arm_valid_target_attribute_rec): Likewise.
      	(arm_previous_fndecl): New variable.
      	(TARGET_SET_CURRENT_FUNCTION, TARGET_OPTION_VALID_ATTRIBUTE_P): Define.
      	(TARGET_CAN_INLINE_P): Define.
      	(arm_asm_trampoline_template): Emit mode.
      	(arm_file_start): Don't set unified syntax.
      	(arm_declare_function_name): Set unified syntax and mode.
      	(arm_option_override): Init target_option_default_node.
      	and target_option_current_node.
      	* config/arm/arm.md (*call_value_symbol): Set mode when possible.
      	(*call_symbol): Likewise.
      	* doc/extend.texi: Document ARM/Thumb target attribute.
      	* doc/invoke.texi: Likewise.
      
      	* gcc.target/arm/attr_arm.c: New test
      	* gcc.target/arm/attr_arm-err.c: New test
      	* gcc.target/arm/attr_thumb.c: New test
      	* gcc.target/arm/attr_thumb-static.c: New test
      
      From-SVN: r224314
      Christian Bruel committed
    • Handle aarch64_guard1.C test · eb071c6b
      Sorry about missing this hunk in the original submission, was in my tree but I hadn't spotted this as I was playing between the original AArch64 TARGET_RELAXED_ORDER and this patch.
      
      Applied as obvious.
      
      2015-06-09  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
      
      	PR target/66200
      	PR target/66428
      	PR c++/66192
      	* g++.dg/abi/aarch64_guard1.C: Adjust test.
      
      From-SVN: r224313
      Ramana Radhakrishnan committed
    • [Patch testsuite obvious] gcc.target/arm/pr65710.c should not unconditionally set -mfloat-abi=soft · 6bc4f75c
      gcc/testsuite/
      
      	* gcc.target/arm/pr65710.c: Do not override -mfloat-abi directives
      	passed by the testsuite driver.
      
      From-SVN: r224312
      James Greenhalgh committed
    • Revert "[PR64164] Drop copyrename, use coalescible partition as base when optimizing." · 0f9f9784
      This reverts commit c66acc7cedd89bfd22124caec44b8427c9082dac.
      
      Conflicts:
      	gcc/ChangeLog
      	gcc/testsuite/ChangeLog
      
      From-SVN: r224310
      Alexandre Oliva committed
    • Daily bump. · a79b6a30
      From-SVN: r224309
      GCC Administrator committed
  2. 09 Jun, 2015 25 commits
    • Make-lang.in (jit.install-common): Install headers using INSTALL_DATA. · 83c1b80e
      2015-06-09  Matthias Klose  <doko@ubuntu.com>
      
              * Make-lang.in (jit.install-common): Install headers using INSTALL_DATA.
      
      From-SVN: r224305
      Matthias Klose committed
    • Mark offloaded functions as parallelized · c2f57691
      2015-06-09  Tom de Vries  <tom@codesourcery.com>
      
      	PR tree-optimization/65460
      	* omp-low.c (expand_omp_target): Set parallelized_function on
      	cgraph_node for child_fn.
      
      From-SVN: r224303
      Tom de Vries committed
    • Mark function parallelized_function before add_new_function · edafad14
      2015-06-09  Tom de Vries  <tom@codesourcery.com>
      
      	* omp-low.c (finalize_task_copyfn, expand_omp_taskreg): Mark function
      	parallelized_function before add_new_function.
      
      From-SVN: r224302
      Tom de Vries committed
    • gcc-plugin.h: Move decls to plugin.h and include it. · e677a9d4
      
      	* gcc-plugin.h: Move decls to plugin.h and include it.
      	* plugin.h: Relocate decls from gcc-plugin.h
      	* ggc-page.c: Include required header files.
      	* passes.c: Likewise.
      	* cgraphunit.c: Likewise.
      
      From-SVN: r224293
      Andrew MacLeod committed
    • DR 1467 PR c++/51747 · 34f42d7b
      	DR 1467
      	PR c++/51747
      	* typeck2.c (digest_init_r): Replace previous change with
      	gcc_unreachable.
      
      From-SVN: r224289
      Jason Merrill committed
    • Handle location in expand_ifn_va_arg_1 · 86b76c20
      2015-06-09  Tom de Vries  <tom@codesourcery.com>
      
      	* tree-stdarg.c (expand_ifn_va_arg_1): Handle location.
      
      	* gcc.target/i386/vararg-loc.c: New test.
      
      From-SVN: r224288
      Tom de Vries committed
    • re PR c++/66387 (ICE in make_decl_rtl with lambda) · 5af874fb
      	PR c++/66387
      	* semantics.c (process_outer_var_ref): Make sure the value is
      	actually constant before returning it.
      	* typeck.c (cp_build_array_ref): Allow subscripting non-lvalue
      	array.
      
      From-SVN: r224287
      Jason Merrill committed
    • re PR c++/65815 (brace elision doesn't work in NSDMI) · ebcf592c
      /cp
      2015-06-09  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/65815
      	* typeck2.c (digest_nsdmi_init): On aggregates use reshape_init.
      	* init.c (expand_default_init): Likewise.
      
      /testsuite
      2015-06-09  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/65815
      	* g++.dg/cpp0x/nsdmi-aggr1.C: New.
      	* g++.dg/cpp0x/mem-init-aggr1.C: Likewise.
      
      From-SVN: r224286
      Paolo Carlini committed
    • re PR bootstrap/66448 (Bootstrap fails on darwin after r224161) · a0e4b207
      	PR bootstrap/66448
      	* toplev.c (check_global_declaration): Don't warn about a clone.
      
      From-SVN: r224285
      Jason Merrill committed
    • re PR tree-optimization/66299 (more optimize opportunity) · f2e609c3
      	PR tree-optimization/66299
      	* match.pd ((CST1 << A) == CST2 -> A == ctz (CST2) - ctz (CST1)
      	((CST1 << A) != CST2 -> A != ctz (CST2) - ctz (CST1)): New
      	patterns.
      
      	* gcc.dg/pr66299-1.c: New test.
      	* gcc.dg/pr66299-2.c: New test.
      	* gcc.dg/pr66299-3.c: New test.
      
      From-SVN: r224283
      Marek Polacek committed
    • re PR c++/66383 (ICE in gimplify_expr on this passed in inline initialization) · 6a9263f7
      	PR c++/66383
      	* tree.c (replace_placeholders_r): Handle placeholders for an
      	outer object.
      	* typeck2.c (store_init_value): Only replace_placeholders for
      	objects of class type.
      
      From-SVN: r224282
      Jason Merrill committed
    • tree-vect-slp.c (vect_build_slp_tree_1): Remove bailout on gaps. · fe2bef71
      2015-06-09  Richard Biener  <rguenther@suse.de>
      
      	* tree-vect-slp.c (vect_build_slp_tree_1): Remove bailout on gaps.
      	(vect_analyze_slp_instance): Instead do not falsely drop
      	load permutations.
      
      From-SVN: r224281
      Richard Biener committed
    • [Patch testsuite obvious] g++.dg/ext/pr57735.C should not run if the · 12d03fc7
       testsuite is explicitly passing -mfloat-abi=hard
      
      gcc/testsuite/
      
      2015-06-09  James Greenhalgh  <james.greenhalgh@arm.com>
      
      	* g++.dg/ext/pr57735.C: Do not override -mfloat-abi directives
      	passed by the testsuite driver.
      
      From-SVN: r224280
      James Greenhalgh committed
    • re PR tree-optimization/66423 (a % (1 << b) no longer gets folded to a & (1 << b) for unsigned a) · 4ab1e111
      2015-06-09  Richard Biener  <rguenther@suse.de>
      
      	PR middle-end/66423
      	* match.pd: Handle A % (unsigned)(1 << B).
      
      	* gcc.dg/fold-modpow2.c: New testcase.
      
      From-SVN: r224279
      Richard Biener committed
    • varasm.c (output_object_block_htab): Remove. · 9aa5f7ec
      	* varasm.c (output_object_block_htab): Remove.
      	(output_object_block_compare): New.
      	(output_object_blocks): Sort named object_blocks before outputting
      	them.
      
      From-SVN: r224274
      Aldy Hernandez committed
    • re PR libstdc++/66030 ([5.1.0] std::codecvt_byname missing from libstdc++ DLL) · 8602ca0a
      	PR libstdc++/66030
      	* config/abi/pre/gnu.ver: Export codecvt_byname and codecvt symbols
      	for mingw32.
      
      From-SVN: r224273
      Jonathan Wakely committed
    • misc.c: Remove duplicate include directives. · ed51d0c5
      	* gcc-interface/misc.c: Remove duplicate include directives.
      	* gcc-interface/trans.c: Likewise.
      	* gcc-interface/utils.c: Likewise.
      
      From-SVN: r224272
      Eric Botcazou committed
    • re PR tree-optimization/66419 (FAIL: gcc.target/aarch64/aapcs64/va_arg-6.c execution, -O3 -g) · 5b5826c4
      2015-06-09  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/66419
      	* tree-vect-slp.c (vect_supported_load_permutation_p): Properly
      	consider GROUP_GAP when detecting a perfect subchain.
      
      	* gcc.dg/vect/bb-slp-37.c: New testcase.
      
      From-SVN: r224271
      Richard Biener committed
    • rl78.c (rl78_select_section): When -mes0 is active place read only data in the .frodata section. · 0a210a19
      	* config/rl78/rl78.c (rl78_select_section): When -mes0 is active
      	place read only data in the .frodata section.
      
      From-SVN: r224270
      Nick Clifton committed
    • [GCC, ARM] armv8 linux toolchain asan testcase fail due to stl missing conditional code · 99e9cec8
      On behalf of Shiva Chen
      
      2015-06-09  Shiva Chen  <shiva0217@gmail.com>
      
      	* sync.md (atomic_load<mode>): Add conditional code for lda/ldr
      	(atomic_store<mode>): Likewise.
      
      2015-06-09  Shiva Chen  <shiva0217@gmail.com>
      
      	* gcc.target/arm/stl-cond.c: New test.
      
      From-SVN: r224269
      Shiva Chen committed
    • cfgloop.c (get_loop_body_in_bfs_order): Fix assert. · d9c16ed2
      2015-06-09  Richard Biener  <rguenther@suse.de>
      
      	* cfgloop.c (get_loop_body_in_bfs_order): Fix assert.
      
      From-SVN: r224268
      Richard Biener committed
    • re PR tree-optimization/66413 (ICE at -Os and above with -g enabled on x86_64-linux-gnu) · 2bdb7f56
      2015-06-09  Richard Biener  <rguenther@suse.de>
      
      	PR middle-end/66413
      	* tree-inline.c (insert_init_debug_bind): Unshare value.
      
      	* gcc.dg/torture/pr66413.c: New testcase.
      
      From-SVN: r224267
      Richard Biener committed
    • re PR tree-optimization/66396 (FAIL: gcc.dg/graphite/run-id-pr47593.c execution test) · d819fedb
      2015-06-09  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/66396
      	* graphite-isl-ast-to-gimple.c (graphite_regenerate_ast_isl):
      	Rename virtual operands.
      
      From-SVN: r224266
      Richard Biener committed
    • Fix gimple_seq_nondebug_singleton_p · e92e61a7
      2015-06-09  Tom de Vries  <tom@codesourcery.com>
      
      	* gimple-iterator.h (gimple_seq_nondebug_singleton_p): Don't
      	always return false.
      
      From-SVN: r224263
      Tom de Vries committed
    • [PR64164] Drop copyrename, use coalescible partition as base when optimizing. · 7b337d20
      for  gcc/ChangeLog
      
      	PR rtl-optimization/64164
      	* Makefile.in (OBJS): Drop tree-ssa-copyrename.o.
      	* tree-ssa-copyrename.c: Removed.
      	* opts.c (default_options_table): Drop -ftree-copyrename.  Add
      	-ftree-coalesce-vars.
      	* passes.def: Drop all occurrences of pass_rename_ssa_copies.
      	* common.opt (ftree-copyrename): Ignore.
      	(ftree-coalesce-inlined-vars): Likewise.
      	* doc/invoke.texi: Remove the ignored options above.
      	* gimple-expr.h (gimple_can_coalesce_p): Move declaration
      	* tree-ssa-coalesce.h: ... here.
      	* tree-ssa-uncprop.c: Include tree-ssa-coalesce.h and other
      	headers required by it.
      	* gimple-expr.c (gimple_can_coalesce_p): Allow coalescing
      	across variables when flag_tree_coalesce_vars.  Check register
      	use and promoted modes to allow coalescing.  Moved to
      	tree-ssa-coalesce.c.
      	* tree-ssa-live.c (struct tree_int_map_hasher): Move along
      	with its member functions to tree-ssa-coalesce.c.
      	(var_map_base_init): Likewise.  Renamed to
      	compute_samebase_partition_bases.
      	(partition_view_normal): Drop want_bases parameter.
      	(partition_view_bitmap): Likewise.
      	* tree-ssa-live.h: Adjust declarations.
      	* tree-ssa-coalesce.c: Include explow.h.
      	(build_ssa_conflict_graph): Process PARM_ and RESULT_DECLs's
      	default defs at the entry point.
      	(dump_part_var_map): New.
      	(compute_optimized_partition_bases): New, called by...
      	(coalesce_ssa_name): ... when flag_tree_coalesce_vars, instead
      	of compute_samebase_partition_bases.  Adjust.
      	* alias.c (nonoverlapping_memrefs_p): Disregard gimple-regs.
      	* cfgexpand.c (leader_merge): New.
      	(get_rtl_for_parm_ssa_default_def): New.
      	(set_rtl): Merge exprs and attrs, even for MEMs and non-SSA
      	vars.  Update DECL_RTL for PARM_DECLs and RESULT_DECLs too.
      	(expand_one_stack_var_at): Handle anonymous SSA_NAMEs.  Drop
      	redundant MEM attr setting.
      	(expand_one_stack_var_1): Handle anonymous SSA_NAMEs.  Renamed
      	from...
      	(expand_one_stack_var): ... this.  New wrapper to check and
      	skip already expanded SSA partitions.
      	(record_alignment_for_reg_var): New, factored out of...
      	(expand_one_var): ... this.
      	(expand_one_ssa_partition): New.
      	(adjust_one_expanded_partition_var): New.
      	(expand_one_register_var): Check and skip already expanded SSA
      	partitions.
      	(expand_used_vars): Don't create DECLs for anonymous SSA
      	names.  Expand all SSA partitions, then adjust all SSA names.
      	(pass::execute): Replace the loops that set
      	SA.partition_to_pseudo from partition leaders and cleared
      	DECL_RTL for multi-location variables, and that which used to
      	rename vars and set attrs, with one that clears DECL_RTL and
      	checks that PARMs and RESULTs default_defs match DECL_RTL.
      	* cfgexpand.h (get_rtl_for_parm_ssa_default_def): Declare.
      	* emit-rtl.c (set_reg_attrs_for_parm): Handle NULL decl.
      	* explow.c (promote_ssa_mode): New.
      	* explow.h (promote_ssa_mode): Declare.
      	* expr.c (expand_expr_real_1): Handle anonymous SSA_NAMEs.
      	* function.c: Include cfgexpand.h.
      	(use_register_for_decl): Handle SSA_NAMEs, anonymous or not.
      	(use_register_for_parm_decl): Wrapper for the above to
      	special-case the result_ptr.
      	(rtl_for_parm): Ditto for get_rtl_for_parm_ssa_default_def.
      	(maybe_reset_rtl_for_parm): Reset DECL_RTL of parms with
      	multiple locations.
      	(assign_parm_adjust_stack_rtl): Add all and parm arguments,
      	for rtl_for_parm.  For SSA-assigned parms, zero stack_parm.
      	(assign_parm_setup_block): Prefer SSA-assigned location.
      	(assign_parm_setup_reg): Likewise.  Use entry_parm for equiv
      	if stack_parm is NULL.
      	(assign_parm_setup_stack): Prefer SSA-assigned location.
      	(assign_parms): Maybe reset DECL_RTL of params.  Adjust stack
      	rtl before testing for pointer bounds.  Special-case result_ptr.
      	(expand_function_start): Maybe reset DECL_RTL of result.
      	Prefer SSA-assigned location for result and static chain.
      	Factor out DECL_RESULT and SET_DECL_RTL.
      	* tree-outof-ssa.c (insert_value_copy_on_edge): Handle
      	anonymous SSA names.  Use promote_ssa_mode.
      	(get_temp_reg): Likewise.
      	(remove_ssa_form): Adjust.
      	* var-tracking.c (dataflow_set_clear_at_call): Take call_insn
      	and get its reg_usage for reg invalidation.
      	(compute_bb_dataflow): Pass it insn.
      	(emit_notes_in_bb): Likewise.
      	* tree-ssa-loop-niter.c (loop_exits_before_overflow): Don't
      	fail assert on conversion between unsigned types.
      
      for  gcc/testsuite/ChangeLog
      
      	* gcc.dg/guality/pr54200.c: Add -fno-tree-coalesce-vars.
      	* gcc.dg/ssp-1.c: Make counter a register.
      	* gcc.dg/ssp-2.c: Likewise.
      	* gcc.dg/torture/parm-coalesce.c: New.
      
      From-SVN: r224262
      Alexandre Oliva committed