1. 06 Jun, 2016 17 commits
    • re PR c/24414 (Old-style asms don't clobber memory) · 93671519
      gcc/
      2016-06-06  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
              PR c/24414
              * cfgexpand.c (expand_asm_loc): Remove handling for ADDR_EXPR.
              Implicitly clobber memory for basic asm with non-empty assembler
              string.  Use targetm.md_asm_adjust also here.
              * compare-elim.c (arithmetic_flags_clobber_p): Use asm_noperands here.
              * final.c (final_scan_insn): Handle basic asm in PARALLEL block.
              * gimple.c (gimple_asm_clobbers_memory_p): Handle basic asm with
              non-empty assembler string.
              * ira.c (compute_regs_asm_clobbered): Use asm_noperands here.
              * recog.c (asm_noperands): Handle basic asm in PARALLEL block.
              (decode_asm_operands): Handle basic asm in PARALLEL block.
              (extract_insn): Handle basic asm in PARALLEL block.
              * doc/extend.texi: Mention new behavior of basic asm.
              * config/ia64/ia64 (rtx_needs_barrier): Handle ASM_INPUT here.
              * config/pa/pa.c (branch_to_delay_slot_p, branch_needs_nop_p,
              branch_needs_nop_p): Use asm_noperands.
      
      gcc/testsuite/
      2016-06-06  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
              PR c/24414
              * gcc.target/i386/pr24414.c: New test.
      
      From-SVN: r237133
      Bernd Edlinger committed
    • sparc: support for the SPARC M7 and VIS 4.0 · 690f24b7
          
      gcc/ChangeLog:
          
      2016-06-06  Jose E. Marchesi  <jose.marchesi@oracle.com>
          
          	* config/sparc/sparc.md (cpu): Add niagara7 cpu type.
          	Include the M7 SPARC DFA scheduler.
          	New attribute v3pipe.
          	Annotate insns with v3pipe where appropriate.
          	Define cpu_feature vis4.
          	Add lzd instruction type and set it on clzdi_sp64 and clzsi_sp64.
          	Add (V8QI "8") to vbits.
          	Add insns {add,sub}v8qi3
          	Add insns ss{add,sub}v8qi3
          	Add insns us{add,sub}{v8qi,v4hi}3
          	Add insns {min,max}{v8qi,v4hi,v2si}3
          	Add insns {minu,maxu}{v8qi,v4hi,v2si}3
          	Add insns fpcmp{le,gt,ule,ug,ule,ugt}{8,16,32}_vis.
          	* config/sparc/niagara4.md: Add a comment explaining the
          	discrepancy between the documented latenty numbers and the
          	implemented ones.
          	* config/sparc/niagara7.md: New file.
          	* configure.ac (HAVE_AS_SPARC5_VIS4): Define if the assembler
          	supports SPARC5 and VIS 4.0 instructions.
          	* configure: Regenerate.
          	* config.in: Likewise.
          	* config.gcc: niagara7 is a supported cpu in sparc*-*-* targets.
          	* config/sparc/sol2.h (ASM_CPU32_DEFAUILT_SPEC): Set for
          	TARGET_CPU_niagara7.
          	(ASM_CPU64_DEFAULT_SPEC): Likewise.
          	(CPP_CPU_SPEC): Handle niagara7.
          	(ASM_CPU_SPEC): Likewise.
          	* config/sparc/sparc-opts.h (processor_type): Add
          	PROCESSOR_NIAGARA7.
          	(mvis4): New option.
          	* config/sparc/sparc.h (TARGET_CPU_niagara7): Define.
          	(AS_NIAGARA7_FLAG): Define.
          	(ASM_CPU64_DEFAULT_SPEC): Set for niagara7.
          	(CPP_CPU64_DEFAULT_SPEC): Likewise.
          	(CPP_CPU_SPEC): Handle niagara7.
          	(ASM_CPU_SPEC): Likewise.
          	* config/sparc/sparc.c (niagara7_costs): Define.
          	(sparc_option_override): Handle niagara7 and adjust cache-related
          	parameters with better values for niagara cpus.  Also support VIS4.
          	(sparc32_initialize_trampoline): Likewise.
          	(sparc_use_sched_lookahead): Likewise.
          	(sparc_issue_rate): Likewise.
          	(sparc_register_move_cost): Likewise.
          	(dump_target_flag_bits): Support VIS4.
          	(sparc_vis_init_builtins): Likewise.
          	(sparc_builtins): Likewise.
          	* config/sparc/sparc-c.c (sparc_target_macros): Define __VIS__ for
          	VIS4 4.0.
          	* config/sparc/driver-sparc.c (cpu_names): Add SPARC-M7 and
          	UltraSparc M7.
          	* config/sparc/sparc.opt (sparc_processor_type): New value
          	niagara7.
          	* config/sparc/visintrin.h (__attribute__): Prototypes for the
          	VIS4 builtins.
          	* doc/invoke.texi (SPARC Options): Document -mcpu=niagara7 and
          	-mvis4.
          	* doc/extend.texi (SPARC VIS Built-in Functions): Document the
          	VIS4 builtins.
          
      gcc/testsuite/ChangeLog:
          
      2016-06-06  Jose E. Marchesi  <jose.marchesi@oracle.com>
          
          	* gcc.target/sparc/vis4misc.c: New file.
          	* gcc.target/sparc/fpcmp.c: Likewise.
          	* gcc.target/sparc/fpcmpu.c: Likewise.
      
      From-SVN: r237132
      Jose E. Marchesi committed
    • decl.c (Gigi_Equivalent_Type): Make sure equivalent types are present before returning them. · 42a5e410
      	* gcc-interface/decl.c (Gigi_Equivalent_Type): Make sure equivalent
      	types are present before returning them.  Remove final assertion.
      	(gnat_to_gnu_entity) <E_Access_Protected_Subprogram_Type>: Adjust to
      	above change.
      	<E_Protected_Type>: Likewise.
      
      From-SVN: r237130
      Eric Botcazou committed
    • trans.c (elaborate_all_entities_for_package): Also do not elaborate Itypes. · f8a9b81f
      	* gcc-interface/trans.c (elaborate_all_entities_for_package): Also do
      	not elaborate Itypes.
      
      From-SVN: r237129
      Eric Botcazou committed
    • utils.c (gnat_internal_attribute_table): Add support for noinline and noclone attributes. · 1f0b1322
      	* gcc-interface/utils.c (gnat_internal_attribute_table): Add support
      	for noinline and noclone attributes.
      	(handle_noinline_attribute): New handler.
      	(handle_noclone_attribute): Likewise.
      
      From-SVN: r237127
      Eric Botcazou committed
    • * gcc-interface/trans.c (process_type): Beef up comment. · 5a4916be
      From-SVN: r237126
      Eric Botcazou committed
    • utils2.c (build_call_alloc_dealloc): Do not substitute placeholder expressions here but... · 62801a77
      	* gcc-interface/utils2.c (build_call_alloc_dealloc): Do not substitute
      	placeholder expressions here but...
      	* gcc-interface/trans.c (gnat_to_gnu) <N_Free_Statement>: ...here.
      	Make an exception to the protection of a CALL_EXPR result with an
      	unconstrained type only in the same cases as Call_to_gnu.
      
      From-SVN: r237125
      Eric Botcazou committed
    • trans.c (gnat_to_gnu): Rework special code dealing with boolean rvalues and set… · f1ff07ec
      trans.c (gnat_to_gnu): Rework special code dealing with boolean rvalues and set the location directly.
      
      	* gcc-interface/trans.c (gnat_to_gnu): Rework special code dealing
      	with boolean rvalues and set the location directly.  Do not set the
      	location in the other cases for a simple name.
      	(gnat_to_gnu_external): Clear the location on the expression.
      
      From-SVN: r237123
      Eric Botcazou committed
    • decl.c (gnat_to_gnu_entity): Remove useless 'else' statements and tidy up. · d5ebeb8c
      	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Component>: Remove
      	useless 'else' statements and tidy up.
      	<E_Array_Subtype>: Fully deal with the declaration here.
      	<E_Incomplete_Type>: Use properly-typed constant.
      	Assert that we don't apply the special type treatment to dummy types.
      	Separate this treatment from the final back-annotation and simplify
      	the condition for the RM size.
      	(gnat_to_gnu_param): Add GNU_PARAM_TYPE parameter and adjust.
      	(gnat_to_gnu_subprog_type): Ajust call to gnat_to_gnu_param.
      	* gcc-interface/trans.c (gnat_to_gnu) <N_Subprogram_Declaration>: Add
      	comment.
      	(process_freeze_entity): Remove obsolete code.
      	(process_type): Minor tweaks.
      
      From-SVN: r237122
      Eric Botcazou committed
    • einfo.ads (Returns_Limited_View): Remove. · 4d9446f9
      	* einfo.ads (Returns_Limited_View): Remove.
      	(Set_Returns_Limited_View ): Likewise.
      	* einfo.adb (Returns_Limited_View): Likewise.
      	(Set_Returns_Limited_View ): Likewise.
      	* freeze.adb (Late_Freeze_Subprogram): Remove.
      	(Freeze_Entity): Do not defer the freezing of functions returning an
      	incomplete type coming from a limited context.
      
      From-SVN: r237121
      Eric Botcazou committed
    • vect-live-1.c: Use additional-options. · 31ce6157
      2016-06-06  Alan Hayward  <alan.hayward@arm.com>
      
      testsuite/
      	* gcc.dg/vect/vect-live-1.c: Use additional-options.
      	* gcc.dg/vect/vect-live-3.c: Likewise.
      
      From-SVN: r237120
      Alan Hayward committed
    • gigi.h (finish_subprog_decl): Add ASM_NAME parameter. · 7414a3c3
      	* gcc-interface/gigi.h (finish_subprog_decl): Add ASM_NAME parameter.
      	* gcc-interface/decl.c (gnu_ext_name_for_subprog): New function.
      	(gnat_to_gnu_entity) <E_Subprogram_Type>: Do not check compatibility
      	of profiles for builtins here...  Call gnu_ext_name_for_subprog.
      	Also update profiles if pointers to limited_with'ed types are
      	updated.
      	(gnat_to_gnu_param): Restore the correct source location information
      	for vector ABI warnings.
      	(associate_subprog_with_dummy_type): Add comment about AI05-019.
      	Set TYPE_DUMMY_IN_PROFILE_P flag unconditionally.
      	(update_profile): Deal with builtin declarations.
      	Call gnu_ext_name_for_subprog.  Adjust call to finish_subprog_decl.
      	(update_profiles_with): Add comment.
      	(gnat_to_gnu_subprog_type): Reuse the return type if it is complete.
      	Likewise for parameter declarations in most cases.  Do not change
      	the return type for the CICO mechanism if the profile is incomplete.
      	...but here instead.  Always reset the slot for the parameters.
      	* gcc-interface/utils.c (create_subprog_decl): Call
      	gnu_ext_name_for_subprog.  Do not set the assembler name here but...
      	(finish_subprog_decl): ...but here instead.  Add ASM_NAME parameter.
      
      From-SVN: r237119
      Eric Botcazou committed
    • exp_ch9.adb (Expand_N_Protected_Type_Declaration): Insert the declaration of the… · 128a98ea
      exp_ch9.adb (Expand_N_Protected_Type_Declaration): Insert the declaration of the corresponding record type before that of the...
      
      	* exp_ch9.adb (Expand_N_Protected_Type_Declaration): Insert the
      	declaration of the corresponding record type before that of the
      	unprotected version of the subprograms that operate on it.
      	(Expand_Access_Protected_Subprogram_Type): Declare the Equivalent_Type
      	just before the original type.
      	* sem_ch3.adb (Handle_Late_Controlled_Primitive): Point the current
      	declaration to the newly created declaration for the primitive.
      	(Analyze_Subtype_Declaration): Remove obsolete code forcing the
      	freezing of the subtype before its declaration.
      	(Replace_Anonymous_Access_To_Protected_Subprogram): Insert the new
      	declaration in the nearest enclosing scope for formal parameters too.
      	(Build_Derived_Access_Type): Restore the status of the created Itype
      	after it is erased by Copy_Node.
      	* sem_ch6.adb (Exchange_Limited_Views): Remove guard on entry.
      	(Analyze_Subprogram_Body_Helper): Call Exchange_Limited_Views only if
      	the specification is present.
      	Move around the code changing the designated view of the return type
      	and save the original view.  Restore it on exit.
      	* sem_ch13.adb (Build_Predicate_Function_Declaration): Always insert
      	the declaration right after that of the type.
      
      From-SVN: r237118
      Eric Botcazou committed
    • re PR tree-optimization/71398 (ICE at -O3 in 32-bit and 64-bit mode on… · 9fcebb5a
      re PR tree-optimization/71398 (ICE at -O3 in 32-bit and 64-bit mode on x86_64-linux-gnu (Segmentation fault, find_edge))
      
      2016-06-06  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/71398
      	* tree-ssa-loop-ivcanon.c (unloop_loops): First unloop, then
      	remove edges.
      
      	* gcc.dg/torture/pr71398.c: New testcase.
      
      From-SVN: r237117
      Richard Biener committed
    • ft32.c (ft32_setup_incoming_varargs, [...]): Handle pretend_args. · d48ab010
      [gcc]
         * config/ft32/ft32.c (ft32_setup_incoming_varargs,
         ft32_expand_prolog, ft32_expand_epilogue):
         Handle pretend_args.
         * config/ft32/ft32.h: Remove OUTGOING_REG_PARM_STACK_SPACE.
         * config/ft32/ft32.md: Add pretend_returner.
      
      From-SVN: r237116
      James Bowman committed
    • Daily bump. · 24673d55
      From-SVN: r237115
      GCC Administrator committed
  2. 05 Jun, 2016 11 commits
  3. 04 Jun, 2016 7 commits
  4. 03 Jun, 2016 5 commits