1. 17 Aug, 2015 8 commits
  2. 16 Aug, 2015 4 commits
  3. 15 Aug, 2015 3 commits
  4. 14 Aug, 2015 17 commits
    • [PR64164] Drop copyrename, use coalescible partition as base when optimizing. · 1f9ceff1
      for  gcc/ChangeLog
      
      	PR rtl-optimization/64164
      	PR bootstrap/66978
      	PR middle-end/66983
      	PR rtl-optimization/67000
      	PR middle-end/67034
      	PR middle-end/67035
      	* 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.  Do not coalesce
      	maybe-byref parms with SSA_NAMEs of other variables, or
      	anonymous SSA_NAMEs.  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 and cfgexpand.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, parm_maybe_byref_p): New.
      	(ssa_default_def_partition): New.
      	(get_rtl_for_parm_ssa_default_def): New.
      	(align_local_variable, add_stack_var): Support anonymous SSA
      	names.
      	(defer_stack_allocation): Likewise.  Declare earlier.
      	(set_rtl): Merge exprs and attrs, even for MEMs and non-SSA
      	vars.  Update DECL_RTL for PARM_DECLs and RESULT_DECLs too.
      	Do no record deferred-allocation marker in
      	SA.partition_to_pseudo.
      	(expand_stack_vars): Adjust check for the marker in it.
      	(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: Include stor-layout.h.
      	(set_reg_attrs_for_parm): Handle NULL decl.
      	(set_reg_attrs_for_decl_rtl): Take mode from expression if
      	it's not a DECL.
      	* stmt.c (emit_case_decision_tree): Pass it the SSA_NAME
      	rather than its possibly-NULL DECL.
      	* explow.c (promote_ssa_mode): New.
      	* explow.h (promote_ssa_mode): Declare.
      	* expr.c (expand_expr_real_1): Handle anonymous SSA_NAMEs.
      	(read_complex_part): Export.
      	* expr.h (read_complex_part): Declare.
      	* cfgexpand.h (parm_maybe_byref_p): Declare.
      	* 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.
      	(split_complex_args): Take assign_parm_data_all argument.
      	Pass it to rtl_for_parm.  Set up rtl and context for split
      	args.  Reset complex parm before fetching its default decl
      	rtl.
      	(assign_parms_unsplit_complex): Use the default-def complex
      	parm rtl if it matches the components.
      	(assign_parms_augmented_arg_list): Adjust.
      	(maybe_reset_rtl_for_parm): Reset DECL_RTL of parms with
      	multiple locations.  Recognize split complex args.
      	(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, and
      	fill in its address if the memory location of a maybe-byref
      	parm was not assigned by cfgexpand.
      	(assign_parm_setup_reg): Likewise.  Adjust its mode as
      	needed.  Use entry_parm for equiv if stack_parm is NULL.  Make
      	sure passed_pointer parms don't need conversion.  Copy address
      	or value as needed.
      	(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.  Convert static chain
      	to Pmode if needed, from H.J. Lu  <hongjiu.lu@intel.com>.
      	* 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.
      	* stor-layout.c (layout_decl): Don't set mem attributes of
      	non-MEMs.
      	* 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.
      
      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: r226901
      Alexandre Oliva committed
    • * tree-core.h (tree_base): Fix typo. · d7e90b66
      From-SVN: r226900
      Marek Polacek committed
    • compiler: Report unnamed receiver types. · 624c7bbf
          
          gccgo used to crash when presented with an invalid receiver type in a
          method.  Instead, unnamed receiver types should report an error.
          
          Fixes golang/go#11557.
          
          Reviewed-on: https://go-review.googlesource.com/13245
      
      From-SVN: r226899
      Ian Lance Taylor committed
    • re PR middle-end/67133 (ICE at -Os and above on x86_64-linux-gnu in gimple_op, at gimple.h:2274) · e37dcf45
      	PR middle-end/67133
      	* gimple.c (infer_nonnull_range_by_attribute): Check that the
      	nonnull argument position is not outside function arguments.
      
      	* gcc.dg/torture/pr67133.c: New test.
      
      From-SVN: r226896
      Marek Polacek committed
    • re PR target/67143 (ICE (could not split insn) on aarch64-linux-gnu) · 356c32e2
      gcc/
      2015-08-14  Matthew Wahab  <matthew.wahab@arm.com>
      
      	PR target/67143
      	* config/aarch64/atomics.md (atomic_<optab><mode>): Replace
      	'lconst_atomic' with 'const_atomic'.
      	(atomic_fetch_<optab><mode>): Likewise.
      	(atomic_<optab>_fetch<mode>): Likewise.
      	* config/aarch64/iterators.md (lconst-atomic): Move below
      	'const_atomic'.
      	(const_atomic): New.
      
      gcc/testsuite/
      2015-08-14  Matthew Wahab  <matthew.wahab@arm.com>
      	    Matthias Klose  <doko@debian.org>
      
      	PR target/67143
      	* gcc.c-torture/compile/pr67143.c: New
      	* gcc.target/aarch64/atomic-op-imm.c
      	(atomic_fetch_add_negative_RELAXED): New.
      	(atomic_fetch_sub_negative_ACQUIRE): New.
      
      
      Co-Authored-By: Matthias Klose <doko@debian.org>
      
      From-SVN: r226895
      Matthew Wahab committed
    • any (any::operator=(const any&)): Move check for self-assignment. · 2548a4d6
      	* include/experimental/any (any::operator=(const any&)): Move check
      	for self-assignment.
      	(any::operator=(any&&)): Add check for self-assignment.
      	(any::operator=(_ValueType&&)): Constrain template argument.
      	(any::swap(any&)): Add check for self-swap.
      	* testsuite/experimental/any/assign/self.cc: Test move and swap.
      	* testsuite/experimental/any/misc/any_cast_neg.cc: Update dg-error.
      
      From-SVN: r226894
      Jonathan Wakely committed
    • array: Add feature-test macro. · 357c9f7e
      	* include/experimental/array: Add feature-test macro.
      	* testsuite/experimental/array/neg.cc: Update dg-error.
      
      From-SVN: r226893
      Jonathan Wakely committed
    • inclhack.def (aix_stdio_inline): New fix. · d8082c18
              * inclhack.def (aix_stdio_inline): New fix.
              (aix_strtof_const): Limit to *-*-aix*.
              (aix_sysmachine): Same.
              (aix_syswait_2): Same.
              (aix_volatile):	Same.
              * fixincl.x: Regenerated.
              * test/base/stdio.h [AIX_STDIO_INLINE]: New test.
      
      From-SVN: r226891
      David Edelsohn committed
    • Add DWARF2_LINENO_DEBUGGING_INFO, and use it for nvptx · c9665100
      	gcc/
      	* config/nvptx/nvptx.c (nvptx_option_override): Don't override
      	debug options.
      	* config/nvptx/nvptx.h (DWARF2_LINENO_DEBUGGING_INFO): Define.
      	(DWARF2_DEBUGGING_INFO): Don't define.
      	* debug.h (dwarf2_lineno_debug_hooks): Declare.
      	* toplev.c (process_options): Add a case for it.
      	* dwarf2out.c (dwarf2_lineno_debug_hooks): New variable.
      	(dwarf2out_init): Skip most initializations if
      	DWARF2_LINENO_DEBUGGING_INFO, but set cur_line_info_table in that
      	case.
      	* defaults.h (PREFERRED_DEBUGGING_TYPE): Also use DWARF2_DEBUG if
      	DWARF2_LINENO_DEBUGGING_INFO.
      	* opts.c (set_debug_level): Likewise.
      
      Co-Authored-By: Bernd Schmidt <bernds@codesourcery.com>
      
      From-SVN: r226890
      Thomas Schwinge committed
    • [AArch64][obvious] Fix some target attribute inlining tests for -fPIC · 4436a80d
      	* gcc.target/aarch64/target_attr_5.c: Add static modifier to bar.
      	* gcc.target/aarch64/target_attr_8.c: Likewise.
      	* gcc.target/aarch64/target_attr_14.c: Likewise.
      
      From-SVN: r226889
      Kyrylo Tkachov committed
    • DWARF2: add extensions to handle biased types · 9d147800
      include/ChangeLog:
      
      	* dwarf2.def (DW_AT_GNU_bias): New attribute.
      
      From-SVN: r226888
      Pierre-Marie de Rodat committed
    • DWARF2: add extensions to handle fixed point types · 07d574b4
      include/ChangeLog:
      
      	* dwarf2.def (DW_AT_GNU_numerator, DW_AT_GNU_denominator): New
      	attributes.
      
      From-SVN: r226887
      Pierre-Marie de Rodat committed
    • [AArch64][obvious] Mark target_attr_1.c as compile-only · 483750e4
      	* gcc.target/aarch64/target_attr_1.c: Make test compile-only.
      
      From-SVN: r226886
      Kyrylo Tkachov committed
    • [Patch ARM/AArch64] Add missing is_neon_type types · 3d0810e1
      gcc/
      
      	* config/arm/types.md (is_neon_type): Add missing types.
      
      From-SVN: r226885
      James Greenhalgh committed
    • driver-i386.c (host_detect_local_cpu): Add support for skylake. · 3e0f3349
      gcc/
      
      	* config/i386/driver-i386.c (host_detect_local_cpu): Add support
      	for skylake.
      	* config/i386/i386.c (PTA_SKYLAKE): New macros.
      	(processor_alias_table): Add skylake description.
      	(enum processor_model): Add skylake processor.
      	(arch_names_table): Add skylake record.
      	* doc/invoke.texi: Add skylake item.
      
      gcc/testsuite/
      
      	* gcc.target/i386/builtin_target.c: Add skylake check.
      
      libgcc/
      
      	* config/i386/cpuinfo.c (enum processor_subtypes): Add skylake.
      	(get_intel_cpu): Likewise.
      
      From-SVN: r226884
      Yuri Rumyantsev committed
    • jit: on OS X, add -Wl,-undefined,dynamic_lookup to driver invocation · baf3fbad
      gcc/jit/ChangeLog:
      	* jit-playback.c (invoke_driver): On OS X, add
      	"-Wl,-undefined,dynamic_lookup" to the driver arguments.
      
      From-SVN: r226882
      David Malcolm committed
    • Daily bump. · 3f7fd182
      From-SVN: r226881
      GCC Administrator committed
  5. 13 Aug, 2015 8 commits