Skip to content
Snippets Groups Projects
  1. May 12, 2015
    • Steve Ellcey's avatar
      mips.c (mips_print_operand): Remove 'y' operand code. · 70a6fed8
      Steve Ellcey authored
      	* config/mips/mips.c (mips_print_operand): Remove 'y' operand code.
      	* config/mips/mips.md (<GPR:d>lsa): Rewrite with shift operator.
      	* config/mips/predicates.md (const_immlsa_operand): Remove log call.
      
      From-SVN: r223101
      70a6fed8
    • Ian Lance Taylor's avatar
      compiler: If unary & does not escape, the var does not escape. · 38109dbe
      Ian Lance Taylor authored
      If we have a unary & that takes the address of a variable, do
      not force the variable to escape if the unary & does not
      escape.
      
      From-SVN: r223100
      38109dbe
    • Thomas Koenig's avatar
      re PR fortran/66111 (ICE with matmul and vector subscripts) · 7e269fe8
      Thomas Koenig authored
      2015-05-12  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/66111
      	* frontend-passes.c (has_dimen_vector_ref):  New function.
      	(inline_matmul_assign):  Use it to return early in case
      	of unhandled vector subscripts.
      
      2015-05-12  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/66111
      	* gfortran.dg/inline_matmul_10.f90:  New test.
      
      From-SVN: r223099
      7e269fe8
    • David Malcolm's avatar
      Implement -Wmisleading-indentation · c3388e62
      David Malcolm authored
      gcc/ChangeLog:
      	* doc/invoke.texi (Warning Options): Add -Wmisleading-indentation.
      	(-Wmisleading-indentation): New option.
      	* Makefile.in (C_COMMON_OBJS): Add c-family/c-indentation.o.
      
      gcc/c-family/ChangeLog:
      	* c-common.h (warn_for_misleading_indentation): New prototype.
      	* c-indentation.c: New file.
      	* c.opt (Wmisleading-indentation): New option.
      
      gcc/c/ChangeLog:
      	* c-parser.c (c_parser_if_body): Add param "if_loc", use it
      	to add a call to warn_for_misleading_indentation.
      	(c_parser_else_body): Likewise, adding param "else_loc".
      	(c_parser_if_statement): Check for misleading indentation.
      	(c_parser_while_statement): Likewise.
      	(c_parser_for_statement): Likewise.
      
      gcc/cp/ChangeLog:
      	* parser.c (cp_parser_selection_statement): Add location and
      	guard_kind arguments to calls to
      	cp_parser_implicitly_scoped_statement.
      	(cp_parser_iteration_statement): Likewise for calls to
      	cp_parser_already_scoped_statement.
      	(cp_parser_implicitly_scoped_statement): Add "guard_loc" and
      	"guard_kind" params; use them to warn for misleading
      	indentation.
      	(cp_parser_already_scoped_statement): Likewise.
      
      gcc/testsuite/ChangeLog:
      	* c-c++-common/Wmisleading-indentation.c: New testcase.
      	* c-c++-common/Wmisleading-indentation-2.c: New testcase.
      	* c-c++-common/Wmisleading-indentation-2.md: New file.
      
      libcpp/ChangeLog:
      	* directives.c (do_line): Set seen_line_directive on line_table.
      	(do_linemarker): Likewise.
      	* include/line-map.h (struct line_maps): Add new field
      	"seen_line_directive".
      
      From-SVN: r223098
      c3388e62
    • Uros Bizjak's avatar
      alpha.h (TARGET_SUPPORTS_WIDE_INT): New define. · f06ed650
      Uros Bizjak authored
      	* config/alpha/alpha.h (TARGET_SUPPORTS_WIDE_INT): New define.
      	* config/alpha/alpha.c (alpha_rtx_costs): Handle CONST_WIDE_INT.
      	(alpha_extract_integer): Ditto.
      	(alpha_legitimate_constant_p): Ditto.
      	(alpha_split_tmode_pair): Ditto.
      	(alpha_preferred_reload_class): Add CONST_WIDE_INT.
      	(alpha_expand_mov): Ditto.
      	(print_operand): Remove handling of 'H' modifier.
      	<case 'm'>: Remove CONST_DOUBLE handling.
      	(summarize_insn): Handle CONST_WIDE_INT.
      	* config/alpha/alpha.md (*andsi_internal): Remove H constraint.
      	(anddi3): Ditto.
      	(movti): Handle CONST_WIDE_INT.
      	* config/alpha/constraints.md ('H'): Remove constraint definition.
      	('G'): Do not match MODE_FLOAT class.
      	* config/alpha/predicates.md (const0_operand): Also match
      	const_wide_int.
      	(non_add_const_operand): Ditto.
      	(non_zero_const_operand): Ditto.
      	(some_operand): Ditto.
      	(input_operand): Ditto.  Handle CONST_WIDE_INT.
      	(and_operand): Do not match const_double.
      	* config/alpha/sync.md (fetchop_constr): Remove H constraint.
      
      From-SVN: r223097
      f06ed650
    • Andrew MacLeod's avatar
      re PR target/65697 (__atomic memory barriers not strong enough for __sync builtins) · 46b35980
      Andrew MacLeod authored
      2015-05-12  Andrew MacLeod  <amacleod@redhat.com>
      
      	PR target/65697
      	* coretypes.h (MEMMODEL_SYNC, MEMMODEL_BASE_MASK): New macros.
      	(enum memmodel): Add SYNC_{ACQUIRE,RELEASE,SEQ_CST}.
      	* tree.h (memmodel_from_int, memmodel_base, is_mm_relaxed,
      	is_mm_consume,is_mm_acquire, is_mm_release, is_mm_acq_rel,
      	is_mm_seq_cst, is_mm_sync): New accessor functions.
      	* builtins.c (expand_builtin_sync_operation,
      	expand_builtin_compare_and_swap): Use MEMMODEL_SYNC_SEQ_CST.
      	(expand_builtin_sync_lock_release): Use MEMMODEL_SYNC_RELEASE.
      	(get_memmodel,  expand_builtin_atomic_compare_exchange,
      	expand_builtin_atomic_load, expand_builtin_atomic_store,
      	expand_builtin_atomic_clear): Use new accessor routines.
      	(expand_builtin_sync_synchronize): Use MEMMODEL_SYNC_SEQ_CST.
      	* optabs.c (expand_compare_and_swap_loop): Use MEMMODEL_SYNC_SEQ_CST.
      	(maybe_emit_sync_lock_test_and_set): Use new accessors and
      	MEMMODEL_SYNC_ACQUIRE.
      	(expand_sync_lock_test_and_set): Use MEMMODEL_SYNC_ACQUIRE.
      	(expand_mem_thread_fence, expand_mem_signal_fence, expand_atomic_load,
      	expand_atomic_store): Use new accessors.
      	* emit-rtl.c (need_atomic_barrier_p): Add additional enum cases.
      	* tsan.c (instrument_builtin_call): Update check for memory model beyond
      	final enum to use MEMMODEL_LAST.
      	* c-family/c-common.c: Use new accessor for memmodel_base.
      	* config/aarch64/aarch64.c (aarch64_expand_compare_and_swap): Use new
      	accessors.
      	* config/aarch64/atomics.md (atomic_load<mode>,atomic_store<mode>,
      	arch64_load_exclusive<mode>, aarch64_store_exclusive<mode>,
      	mem_thread_fence, *dmb): Likewise.
      	* config/alpha/alpha.c (alpha_split_compare_and_swap,
      	alpha_split_compare_and_swap_12): Likewise.
      	* config/arm/arm.c (arm_expand_compare_and_swap,
      	arm_split_compare_and_swap, arm_split_atomic_op): Likewise.
      	* config/arm/sync.md (atomic_load<mode>, atomic_store<mode>,
      	atomic_loaddi): Likewise.
      	* config/i386/i386.c (ix86_destroy_cost_data, ix86_memmodel_check):
      	Likewise.
      	* config/i386/sync.md (mem_thread_fence, atomic_store<mode>): Likewise.
      	* config/ia64/ia64.c (ia64_expand_atomic_op): Add new memmodel cases and
      	use new accessors.
      	* config/ia64/sync.md (mem_thread_fence, atomic_load<mode>,
      	atomic_store<mode>, atomic_compare_and_swap<mode>,
      	atomic_exchange<mode>): Use new accessors.
      	* config/mips/mips.c (mips_process_sync_loop): Likewise.
      	* config/pa/pa.md (atomic_loaddi, atomic_storedi): Likewise.
      	* config/rs6000/rs6000.c (rs6000_pre_atomic_barrier,
      	rs6000_post_atomic_barrier): Add new cases.
      	(rs6000_expand_atomic_compare_and_swap): Use new accessors.
      	* config/rs6000/sync.md (mem_thread_fence): Add new cases.
      	(atomic_load<mode>): Add new cases and use new accessors.
      	(store_quadpti): Add new cases.
      	* config/s390/s390.md (mem_thread_fence, atomic_store<mode>): Use new
      	accessors.
      	* config/sparc/sparc.c (sparc_emit_membar_for_model): Use new accessors.
      	* doc/extend.texi: Update docs to indicate 16 bits are used for memory
      	model, not 8.
      
      From-SVN: r223096
      46b35980
    • Jan Hubicka's avatar
      ipa-devirt.c (type_with_linkage_p): New function. · e7a677ca
      Jan Hubicka authored
      	* ipa-devirt.c (type_with_linkage_p): New function.
      	(type_in_anonymous_namespace_p): Move here from tree.c; assert that
      	type has linkage.
      	(odr_type_p): Move here from ipa-utils.h; use type_with_linkage_p.
      	(can_be_name_hashed_p): Simplify.
      	(hash_odr_name): Check that type has linkage before checking if it is
      	anonymous.
      	(types_same_for_odr): Likewise.
      	(odr_name_hasher::equal): Likewise.
      	(odr_subtypes_equivalent_p): Likewise.
      	(warn_types_mismatch): Likewise.
      	(get_odr_type): Likewise.
      	(odr_types_equivalent_p): Fix checking of TYPE_MAIN_VARIANT.
      	* ipa-utils.h (odr_type_p): Move offline.
      	* tree.c (need_assembler_name_p): Fix handling of types
      	without linkages.
      	(type_in_anonymous_namespace_p): Move to ipa-devirt.c
      
      From-SVN: r223094
      e7a677ca
    • David Malcolm's avatar
      Move global state in timevar.c to a new "timer" class · 2162235e
      David Malcolm authored
      gcc/ChangeLog:
      	* timevar.c (timevar_enable): Delete in favor of...
      	(g_timer): New global.
      	(struct timevar_def): Move to timevar.h inside class timer.
      	(struct timevar_stack_def): Likewise.
      	(timevars): Delete global in favor of field "m_timevars" within
      	class timer in timevar.h
      	(stack): Likewise, in favor of field "m_stack".
      	(unused_stack_instances): Likewise, in favor of field
      	"m_unused_stack_instances".
      	(start_time): Likewise, in favor of field "m_start_time".
      	(get_time): Eliminate check for timevar_enable.
      	(timer::timer): New function, built from part of timevar_init.
      	(timevar_init): Rewrite idempotency test from using
      	"timevar_enable" bool to using dynamic allocation of "g_timer".
      	Move rest of implementation into timer's constructor.
      	(timevar_push_1): Rename to...
      	(timer::push): ...this, adding "m_" prefixes to variables that
      	are now fields of timer.
      	(timevar_pop_1): Likewise, rename to...
      	(timer::pop): ...this, and add "m_" prefixes.
      	(timevar_start): Replace test for "timevar_enable" with one for
      	"g_timer", and move bulk of implementation to...
      	(timer::start): ...here, adding "m_" prefixes.
      	(timevar_stop): Likewise, from here...
      	(timer::stop): ...to here.
      	(timevar_cond_start): Likewise, from here...
      	(timer::cond_start): ...to here.
      	(timevar_cond_stop): Likewise, from here...
      	(timer::cond_stop): ...to here.
      	(validate_phases): Rename to...
      	(timer::validate_phases): ...this, and add "m_" prefixes.  Make
      	locals "total" and "tv" const.
      	(timevar_print): Rename to...
      	(timer::print): ...this, and add "m_" prefixes.  Make locals
      	"total" and "tv" const.  Eliminate test for timevar_enable.
      	* timevar.h (timevar_enable): Eliminate.
      	(g_timer): New declaration.
      	(timevar_push_1): Eliminate.
      	(timevar_pop_1): Eliminate.
      	(timevar_print): Eliminate.
      	(class timer): New class.
      	(timevar_push): Rewrite to use g_timer.
      	(timevar_pop): Likewise.
      	* toplev.c (toplev::~toplev): Likewise.
      
      From-SVN: r223092
      2162235e
    • David Malcolm's avatar
      Unbreak the JIT after conversion of md_asm_adjust to use vec<> · 2637afb7
      David Malcolm authored
      gcc/jit/ChangeLog:
      	* jit-builtins.c: Include vec.h before target.h.
      
      From-SVN: r223091
      2637afb7
    • Richard Earnshaw's avatar
      arm-protos.h (arm_sched_autopref): Delete. · 52c266ba
      Richard Earnshaw authored
      	* arm-protos.h (arm_sched_autopref): Delete.
      	(tune_params): Re-organize, use enums for flag values.
      	(FUSE_OPS): New macro.
      	* arm.c (ARM_PREFETCH_NOT_BENEFICIAL): Update.
      	(ARM_PREFETCH_BENEFICIAL): Likewise.
      	(ARM_FUSE_NOTHING, ARM_FUSE_MOVW_MOVT): Delete.
      	(arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune)
      	(arm_xscale_tune, arm_9e_tune, arm_marvell_pj4_tune)
      	(arm_v6t2_tune, arm_cortex_tune, arm_cortex_a8_tune)
      	(arm_cortex_a7_tune, arm_cortex_a15_tune, arm_cortex_a53_tune)
      	(arm_cortex_a57_tune,  arm_xgene1_tune, arm_cortex_a5_tune)
      	(arm_cortex_a9_tune, arm_cortex_a12_tune, arm_v7m_tune)
      	(arm_cortex_m7_tune, arm_v6m_tune, arm_fa726te_tune): Use new
      	format.
      	(arm_option_override, thumb2_reorg, arm_print_tune_info)
      	(aarch_macro_fusion_pair_p): Update uses of current_tune.
      	* arm.h (LOGCIAL_OP_NON_SHORT_CIRCUIT): Likewise.
      
      From-SVN: r223090
      52c266ba
    • Tom de Vries's avatar
      check_GNU_style.sh: Fix tab size in 80 characters check · cc1e0483
      Tom de Vries authored
      2015-05-12  Tom de Vries  <tom@codesourcery.com>
      
      	* check_GNU_style.sh (col): Fix tab size.
      
      From-SVN: r223088
      cc1e0483
    • Tom de Vries's avatar
      check_GNU_style.sh: Put stdin into temp file · a22e33d0
      Tom de Vries authored
      2015-05-12  Tom de Vries  <tom@codesourcery.com>
      
      	* check_GNU_style.sh: Put stdin into a temp file.
      
      From-SVN: r223087
      a22e33d0
    • Tom de Vries's avatar
      check_GNU_style.sh: Read either from stdin, or from files · 7f167be6
      Tom de Vries authored
      2015-05-12  Tom de Vries  <tom@codesourcery.com>
      
      	* check_GNU_style.sh: Read either from stdin, or from files.
      
      From-SVN: r223086
      7f167be6
    • Tom de Vries's avatar
      check_GNU_style.sh: Check file presence · 0648b807
      Tom de Vries authored
      2015-05-12  Tom de Vries  <tom@codesourcery.com>
      
      	* check_GNU_style.sh: Check if files exists.
      
      From-SVN: r223085
      0648b807
    • Tom de Vries's avatar
      check_GNU_style.sh: Don't use filename prefix for one patch · 4171ffe9
      Tom de Vries authored
      2015-05-12  Tom de Vries  <tom@codesourcery.com>
      
      	* check_GNU_style.sh: Don't use a filename prefix if we're only
      	processing one patch file.
      
      From-SVN: r223084
      4171ffe9
    • Sandra Loosemore's avatar
      nios2.md (trap, ctrapsi4): Use "trap" instead of "break". · eb2f4e86
      Sandra Loosemore authored
      2015-05-12 Sandra Loosemore <sandra@codesourcery.com>
      
      	gcc/
      	* config/nios2/nios2.md (trap, ctrapsi4): Use "trap" instead of
      	"break".
      
      	gcc/testsuite/
      	* gcc.target/nios2/nios2-trap-insn.c: Expect "trap" instead of
      	"break".
      	* gcc.target/nios2/nios2-stack-check-1.c: Likewise.
      
      From-SVN: r223083
      eb2f4e86
    • Chung-Lin Tang's avatar
      nios2.h (enum reg_class): Add IJMP_REGS enum value. · 3c8c9f0d
      Chung-Lin Tang authored
      
      2015-05-12  Chung-Lin Tang  <cltang@codesourcery.com>
      	    Sandra Loosemore <sandra@codesourcery.com>
      
      	gcc/
      	* config/nios2/nios2.h (enum reg_class): Add IJMP_REGS enum
      	value.
      	(REG_CLASS_NAMES): Add "IJMP_REGS".
      	(REG_CLASS_CONTENTS): Add new entry for IJMP_REGS.
      	* config/nios2/nios2.md (indirect_jump,*tablejump): Adjust to
      	use new "c" register constraint.
      	* config/nios2/constraint.md (c): New register constraint
      	corresponding to IJMP_REGS.
      
      
      Co-Authored-By: default avatarSandra Loosemore <sandra@codesourcery.com>
      
      From-SVN: r223082
      3c8c9f0d
    • Yury Gribov's avatar
      mklog: Ignore preprocessor directives. · a92a1c27
      Yury Gribov authored
      2015-05-12  Yury Gribov  <y.gribov@samsung.com>
      
      	* mklog: Ignore preprocessor directives.
      
      From-SVN: r223081
      a92a1c27
    • Arnaud Charlet's avatar
      d5d3b217
    • Arnaud Charlet's avatar
      74e9ae98
    • Arnaud Charlet's avatar
      Fix typo. · 69031b45
      Arnaud Charlet authored
      From-SVN: r223078
      69031b45
    • Arnaud Charlet's avatar
      [multiple changes] · 7166d535
      Arnaud Charlet authored
      2015-05-12  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch5.adb (Analyze_Iterator_Specifications): Additional
      	legality checks for array and container iterators:
      	a) The domain of iteration cannot be a component that depends
      	on discriminants of a mutable object. The check was recently
      	added for element iterators.
      	b) The cursor type cannot be a limited type at the point of the
      	iteration, because the cursor will be assigned to in the body
      	of the loop.
      
      2015-05-12  Robert Dewar  <dewar@adacore.com>
      
      	* freeze.adb (Freeze_Record_Type): Make sure that if we have
      	aspect Iterator_Element, then we have either Constant_Indexing
      	or Variable_Indexing.
      
      From-SVN: r223077
      7166d535
    • Arnaud Charlet's avatar
      [multiple changes] · 4b17187f
      Arnaud Charlet authored
      2015-05-12  Ed Schonberg  <schonberg@adacore.com>
      
      	* a-coormu.ads, a-coormu.adb: Add Indexing aspect, Reference_Type,
      	and Reference_Control_Type to support element iterators over
      	ordered multisets.
      	* a-ciormu.ads, a-ciormu.adb: Ditto for
      	indefinite_ordered_multisets.
      
      2015-05-12  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_ch4.adb (Expand_N_Expression_With_Actions): Force
      	the evaluation of the EWA expression.  Code cleanup.
      	(Process_Transient_Object): Code cleanup.
      	* exp_util.adb (Is_Aliased): Controlled transient objects found
      	within EWA nodes are not aliased.
      	(Is_Finalizable_Transient): Iterators are not finalizable transients.
      
      From-SVN: r223076
      4b17187f
    • Arnaud Charlet's avatar
      [multiple changes] · 7858300e
      Arnaud Charlet authored
      2015-05-12  Robert Dewar  <dewar@adacore.com>
      
      	* sem_prag.adb (Process_Atomic_Independent_Shared_Volatile):
      	Don't allow Atomic and Volatile_Full_Access for the same entity.
      
      2015-05-12  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch5.adb (Analyze_Iterator_Specification): Implement new
      	semantics and safety checks specified in AI12-0151.
      
      From-SVN: r223075
      7858300e
    • Arnaud Charlet's avatar
      [multiple changes] · c8d3b4ff
      Arnaud Charlet authored
      2015-05-12  Pierre-Marie de Rodat  <derodat@adacore.com>
      
      	* sem_ch10.adb (Sem_Ch10.Analyze_Proper_Body): Generate SCOs
      	for subunit in generic units.
      
      2015-05-12  Robert Dewar  <dewar@adacore.com>
      
      	* sem_elab.adb (Check_A_Call): Avoid checking internal call
      	from Valid_Scalars
      
      2015-05-12  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch6.adb (Process_Formals): An untagged incomplete type
      	is legal in the profile of a null procedure.
      
      2015-05-12  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch12.adb (Validate_Derived_Type_Instance): Handle properly
      	the checks on a derived formal whose parent type is a previous
      	formal that is not a derived type.
      
      2015-05-12  Robert Dewar  <dewar@adacore.com>
      
      	* aspects.ads, aspects.adb: Add entries for aspect Volatile_Full_Access
      	* einfo.adb (Has_Volatile_Full_Access): New flag.
      	(Has_Volatile_Full_Access): New flag.
      	* einfo.ads (Has_Volatile_Full_Access): New flag.
      	* par-prag.adb: Add dummy entry for Volatile_Full_Access.
      	* sem_prag.adb (Analyze_Pragma, case Volatile_Full_Access):
      	Implement new pragma.
      	* snames.ads-tmpl: Add entries for pragma Volatile_Full_Access.
      
      2015-05-12  Robert Dewar  <dewar@adacore.com>
      
      	* targparm.ads: Minor reformatting.
      
      2015-05-12  Robert Dewar  <dewar@adacore.com>
      
      	* a-reatim.adb (Time_Of): Properly detect overflow when TS = 0.0.
      	* a-reatim.ads: Minor reformatting.
      
      From-SVN: r223074
      c8d3b4ff
    • Uros Bizjak's avatar
      libgcov-util.c: Add space between string literal and macro name. · 98b5dc61
      Uros Bizjak authored
      	* libgcov-util.c: Add space between string literal and macro name.
      
      From-SVN: r223073
      98b5dc61
    • Segher Boessenkool's avatar
      rs6000.md (*rotlsi3_internal4, [...]): Delete, revamp, transmogrify into ... · de065fbf
      Segher Boessenkool authored
      	* config/rs6000/rs6000.md (*rotlsi3_internal4, *rotlsi3_internal5,
      	*rotlsi3_internal6, rlwinm, 5 unnamed define_insns, and 6
      	define_splits): Delete, revamp, transmogrify into ...
      	(*rotlsi3_mask, *rotlsi3_mask_dot, *rotlsi3_mask_dot2,
      	*ashlsi3_imm_mask, *ashlsi3_imm_mask_dot, *ashlsi3_imm_mask_dot2,
      	*lshrsi3_imm_mask, *lshrsi3_imm_mask_dot, *lshrsi3_imm_mask_dot2):
      	New.
      
      From-SVN: r223072
      de065fbf
    • Segher Boessenkool's avatar
      rs6000.md (rs6000_adjust_atomic_subword): Use gen_ashlsi3 and gen_andsi3 instead of gen_rlwinm. · 1a93ca86
      Segher Boessenkool authored
      	* config/rs6000/rs6000.md (rs6000_adjust_atomic_subword): Use
      	gen_ashlsi3 and gen_andsi3 instead of gen_rlwinm.
      
      From-SVN: r223071
      1a93ca86
    • Segher Boessenkool's avatar
      rs6000.md (extzv): FAIL for SImode. · 52a680ce
      Segher Boessenkool authored
      	* config/rs6000/rs6000.md (extzv): FAIL for SImode.
      	(extzvsi_internal, *extzvsi_internal1, *extzvsi_internal2,
      	*rotlsi3_internal7le, *rotlsi3_internal7be, *rotlsi3_internal8le,
      	*rotlsi3_internal8be, *rotlsi3_internal9le, *rotlsi3_internal9be,
      	*rotlsi3_internal10le, *rotlsi3_internal10be, *rotlsi3_internal11le,
      	*rotlsi3_internal11be, *rotlsi3_internal12le, *rotlsi3_internal12be,
      	*lshiftrt_internal1le, *lshiftrt_internal1be, *lshiftrt_internal2le,
      	*lshiftrt_internal2be, *lshiftrt_internal3le, *lshiftrt_internal3be,
      	*lshiftrt_internal4le, *lshiftrt_internal4be, *lshiftrt_internal5le,
      	*lshiftrt_internal5be, *lshiftrt_internal5le, *lshiftrt_internal5be,
      	*rotldi3_internal7le, *rotldi3_internal7be, *rotldi3_internal8le,
      	*rotldi3_internal8be, *rotldi3_internal9le, *rotldi3_internal9be,
      	*rotldi3_internal10le, *rotldi3_internal10be, *rotldi3_internal11le,
      	*rotldi3_internal11be, *rotldi3_internal12le, *rotldi3_internal12be,
      	*rotldi3_internal13le, *rotldi3_internal13be, *rotldi3_internal14le,
      	*rotldi3_internal14be, *rotldi3_internal15le, *rotldi3_internal15be,
      	and 30 corresponding splitters): Delete.
      
      From-SVN: r223070
      52a680ce
    • Segher Boessenkool's avatar
      rs6000.md (define_split for bswaphi): Don't use zero_extract. · f369372b
      Segher Boessenkool authored
      	* config/rs6000/rs6000.md (define_split for bswaphi): Don't use
      	zero_extract.
      
      From-SVN: r223069
      f369372b
    • Arnaud Charlet's avatar
      [multiple changes] · 65fe0167
      Arnaud Charlet authored
      2015-05-12  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* einfo.ads: Update the documentation of flags
      	Has_Inherited_Default_Init_Cond and Has_Default_Init_Cond.
      
      2015-05-12  Robert Dewar  <dewar@adacore.com>
      
      	* impunit.adb: Add entry for a-dhfina.ads
      	* a-dhfina.ads: New file.
      
      2015-05-12  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_ch5.adb (Expand_Iterator_Loop_Over_Array): if the array
      	type has convention Fortran, a multidimensional iterator varies
      	the first dimension fastest.
      
      From-SVN: r223068
      65fe0167
    • Segher Boessenkool's avatar
      combine.c (recog_for_combine_1): New function, factored out from recog_for_combine. · 45ce0f05
      Segher Boessenkool authored
      	* combine.c (recog_for_combine_1): New function, factored out
      	from recog_for_combine.
      	(change_zero_ext): New function.
      	(recog_for_combine): If recog fails, try again with the pattern
      	modified by change_zero_ext; if that still fails, restore the
      	pattern.
      
      From-SVN: r223067
      45ce0f05
    • Segher Boessenkool's avatar
      combine.c (get_undo_marker): New function. · 1bcc1e41
      Segher Boessenkool authored
      	* combine.c (get_undo_marker): New function.
      	(undo_to_marker): New function, largely factored out from ...
      	(undo_all): ... this.  Adjust.
      
      From-SVN: r223066
      1bcc1e41
    • Richard Biener's avatar
      re PR tree-optimization/66101 (internal compiler error: in... · 7e37fe6f
      Richard Biener authored
      re PR tree-optimization/66101 (internal compiler error: in verify_loop_structure, at cfgloop.c:1662)
      
      2015-05-12  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/66101
      	* tree-ssa-dce.c (remove_dead_stmt): Properly mark loops for
      	fixup if we turn a loop exit edge to a fallthru edge.
      
      	* gcc.dg/torture/pr66101.c: New testcase.
      
      From-SVN: r223065
      7e37fe6f
    • Arnaud Charlet's avatar
      [multiple changes] · caf07df9
      Arnaud Charlet authored
      2015-05-12  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* einfo.adb Node32 is now used as Encapsulating_State.
      	Node37 is now used as Associated_Entity.
      	(Associated_Entity): New routine.
      	(Encapsulating_State): Update the assertion guard
      	to include constants.
      	(Set_Associated_Entity): New routine.
      	(Set_Encapsulating_State): Update the assertion guard to
      	include constants.
      	(Write_Field10_Name): Remove the output for Encapsulating_State.
      	(Write_Field32_Name): Add output for Encapsulating_State.
      	(Write_Field37_Name): Add output for Associated_Entity.
      	* einfo.ads New attribute Associated_Entity along with placement
      	in entities. Attribute Encapsulating_State now uses Node32.
      	(Associated_Entity): New routine along with pragma Inline.
      	(Set_Associated_Entity): New routine along with pragma Inline.
      	* inline.ads Code reformatting.
      	* sem_attr.adb (Analyze_Attribute): Correct the prefix of
      	attribute 'Result when the context is a generic instantiation.
      	(Analyze_Attribute_Old_Result): Pragmas Depends and
      	Refined_Depends are a valid context for attribute 'Result.
      	(Denote_Same_Function): Allow attribute 'Result to denote
      	generic functions.
      	* sem_ch3.adb Add with and use clauses for Sem_Ch12.
      	(Analyze_Declarations): Capture global references within the
      	contracts of packages, subprograms and their respective bodies.
      	* sem_ch6.adb (Analyze_Aspects_On_Body_Or_Stub): Removed.
      	(Analyze_Completion_Contract): Removed.
      	(Analyze_Generic_Subprogram_Body): Enchange the aspects after
      	creating the generic copy. Create a generic contract for the
      	template. Analyze the aspects of the generic body. Analyze the
      	contract of the generic body when it is a compilation unit and
      	capture global references.
      	(Analyze_Subprogram_Body_Contract): Code cleanup.
      	(Analyze_Subprogram_Contract): Do not save global references here.
      	(Save_Global_References_In_List): Removed.
      	* sem_ch7.adb (Analyze_Package_Body_Contract): Code cleanup.
      	(Analyze_Package_Body_Helper): Create a generic contract for
      	the template.
      	(Analyze_Package_Contract): Code cleanup.
      	* sem_ch10.adb Add with and use clauses for Sem_Ch12.
      	(Analyze_Compilation_Unit): Capture global references in a
      	generic subprogram declaration that acts as a compilation unit.
      	* sem_ch12.adb Add with and use clauses for Sem_Prag. Illustrate
      	the implementation of generic contracts. Alphabetize various
      	subprograms.
      	(Analyze_Generic_Package_Declaration):
      	Create a generic contract for the template.
      	(Analyze_Generic_Subprogram_Declaration): Create a generic
      	contract for the template.
      	(Analyze_Subprogram_Instantiation): Instantiate the contract of the
      	subprogram.
      	(Copy_Generic_Node): Link defining entities of the generic template
      	with the corresponding defining entities of the generic copy. Update
      	the processing of pragmas.
      	(Instantiate_Contract): Removed.
      	(Instantiate_Subprogram_Contract): New routine.
      	(Requires_Delayed_Save): New routine.
      	(Save_Global_References): Rename formal parameter N to Templ. Various
      	cleanups.
      	(Save_Global_References_In_Aspects): Moved from the spec.
      	(Save_Global_References_In_Contract): New routine.
      	(Save_References_In_Aggregate): New routine.
      	(Save_References_In_Char_Lit_Or_Op_Symbol): New routine.
      	(Save_References_In_Descendants): New routine.
      	(Save_References_In_Identifier): New routine.
      	(Save_References_In_Operator): New routine.
      	(Save_References_In_Pragma): New routine.
      	* sem_ch12.ads (Save_Global_References): Rename formal
      	parameter N to Templ. Update the comment on usage.
      	(Save_Global_References_In_Aspects): Moved to the body.
      	(Save_Global_References_In_Contract): New routine.
      	* sem_ch13.adb (Analyze_Aspect_Specifications_On_Body_Or_Stub):
      	New routine.
      	* sem_ch13.ads (Analyze_Aspect_Specifications_On_Body_Or_Stub):
      	New routine.
      	* sem_prag.adb (Add_Item_To_Name_Buffer): Add support for
      	generic parameters.
      	(Analyze_Contract_Cases_In_Decl_Part): Code cleanup.
      	(Analyze_Depends_Global): New routine.
      	(Analyze_Depends_In_Decl_Part): Code cleanup.
      	(Analyze_Global_In_Decl_Part): Code cleanup.
      	(Analyze_Global_Item): Constants are now valid global items. Do
      	not perform state-related checks in an instance. Change the way
      	renamings are handled.	(Analyze_Initial_Condition_In_Decl_Part):
      	Code cleanup.
      	(Analyze_Initializes_In_Decl_Part): Code cleanup.
      	(Analyze_Input_Output): The analysis of attribute 'Result in
      	the context of pragmas Depends or Refined_Depends now reuses
      	the existing attribute analysis machinery. Constants and
      	generic parameters are now valid dependency items. Do not
      	perform state-related checks in an instance. Change the way
      	renamings are handled.	(Analyze_Pragma): Add a "characteristics"
      	section for pragmas Abstract_State, Contract_Cases, Depends,
      	Extensions_Visible, Global, Initial_Condition, Initializes,
      	Post, Post_Class, Postcondition, Pre, Pre_Class, Precondition,
      	Refined_Depends, Refined_Global, Refined_Post, Refined_State, Test_Case.
      	(Analyze_Pre_Post_Condition): Do not create a generic
      	template here.
      	(Analyze_Pre_Post_Condition_In_Decl_Part): Code cleanup.
      	(Analyze_Refined_Depends_Global_Post): New routine.
      	(Analyze_Refined_Depends_In_Decl_Part): Code cleanup.
      	(Analyze_Refined_Global_In_Decl_Part): Code cleanup.
      	(Analyze_Refined_Pragma): Removed.
      	(Analyze_Refined_State_In_Decl_Part): Code cleanup.
      	(Analyze_Test_Case_In_Decl_Part): Code cleanup.
      	(Check_Dependency_Clause): Do not perform this check in an instance.
      	(Check_Function_Return): Add support for generic functions.
      	(Check_In_Out_States): Do not perform this check in an instance.
      	(Check_Input_States): Do not perform this check in an instance.
      	(Check_Mode_Restriction_In_Function): Add support for generic functions.
      	(Check_Output_States): Do not perform this check in an instance.
      	(Check_Postcondition_Use_In_Inlined_Subprogram): Rename
      	parameter Subp_Id to Spec_Id and update comment on usage.
      	(Check_Proof_In_States): Do not perform this check in an instance.
      	(Check_Refined_Global_Item): Add support for constants.
      	(Check_Refined_Global_List): Do not perform this check in an instance.
      	(Collect_Global_Items): Reimplemented.
      	(Collect_Subprogram_Inputs_Outputs): Add support for generic parameters.
      	(Create_Generic_Template): Removed.
      	(Find_Related_Package_Or_Body): Moved to spec.
      	(Find_Role): Add support for generic parameters and constants.
      	(Get_Argument): Moved to spec. Rename parameter Spec_Id to Context_Id.
      	(Match_Item): Add support for constants.
      	(Preanalyze_Test_Case_Arg): Reimplemented.
      	(Report_Extra_Clauses): Do not perform this check in an instance.
      	(Report_Extra_Constituents): Do not perform this check in an instance.
      	* sem_prag.ads (Collect_Subprogram_Inputs_Outputs): Update
      	the comment on usage.
      	(Find_Related_Package_Or_Body): Moved from body.
      	(Get_Argument): Moved from body.
      	* sem_util.adb Add with and use clauses for Sem_Ch12.
      	(Corresponding_Spec_Of): Add support for packages and package bodies.
      	(Create_Generic_Contract): New routine.
      	(Is_Contract_Annotation): Reimplemented.
      	(Is_Generic_Declaration_Or_Body): New routine.
      	(Is_Package_Contract_Annotation): New routine.
      	(Is_Subprogram_Contract_Annotation): New routine.
      	* sem_util.ads (Corresponding_Spec_Of): Update the comment on usage.
      	(Create_Generic_Contract): New routine.
      	(Is_Generic_Declaration_Or_Body): New routine.
      	(Is_Package_Contract_Annotation): New routine.
      	(Is_Subprogram_Contract_Annotation): New routine.
      	* sinfo.adb (Is_Generic_Contract_Pragma): New routine.
      	(Set_Is_Generic_Contract_Pragma): New routine.
      	* sinfo.ads Add new attribute Is_Generic_Contract_Pragma along
      	with occurrences in nodes.
      	(Is_Generic_Contract_Pragma): New routine along with pragma Inline.
      	(Set_Is_Generic_Contract_Pragma): New routine along with pragma Inline.
      	* treepr.adb (Print_Entity_Info): Output fields 36 to 41.
      
      2015-05-12  Robert Dewar  <dewar@adacore.com>
      
      	* a-taster.ads: Minor comment fix: fix bad header, this is a
      	pure RM unit.
      
      From-SVN: r223064
      caf07df9
    • Robert Dewar's avatar
      sem_intr.adb: (Check_Shift): Diagnose bad modulus value. · c944345b
      Robert Dewar authored
      2015-05-12  Robert Dewar  <dewar@adacore.com>
      
      	* sem_intr.adb: (Check_Shift): Diagnose bad modulus value.
      
      2015-05-12  Robert Dewar  <dewar@adacore.com>
      
      	* gnat1drv.adb (Adjust_Global_Switches): Default to suppressing
      	Alignment_Checks on non-strict alignment machine.
      	* sem_ch13.adb (Validate_Address_Clauses): Don't give
      	compile-time alignment warnings if run time Alignment_Check
      	is suppressed.
      
      From-SVN: r223063
      c944345b
    • Arnaud Charlet's avatar
      [multiple changes] · 52ea13f2
      Arnaud Charlet authored
      2015-05-12  Thomas Quinot  <quinot@adacore.com>
      
      	* g-sercom.ads, g-sercom-linux.adb (GNAT.Serial_Communications.
      	Data_Rate): New literals B75, B110, B150, B300, B600.
      
      2015-05-12  Doug Rupp  <rupp@adacore.com>
      
      	* init.c (__gnat_init_float) [vxworks]: For e500v2,
      	do nothing and leave the responsibility to install the handler
      	and enable the exceptions to the BSP.
      
      From-SVN: r223062
      52ea13f2
    • Richard Biener's avatar
      re PR tree-optimization/37021 (Fortran Complex reduction / multiplication not vectorized) · 6876e5bc
      Richard Biener authored
      2015-05-12  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/37021
      	* tree-vectorizer.h (struct _slp_tree): Add two_operators flag.
      	(SLP_TREE_TWO_OPERATORS): New define.
      	* tree-vect-slp.c (vect_create_new_slp_node): Initialize
      	SLP_TREE_TWO_OPERATORS.
      	(vect_build_slp_tree_1): Allow two mixing plus/minus in an
      	SLP node.
      	(vect_build_slp_tree): Adjust.
      	(vect_analyze_slp_cost_1): Likewise.
      	(vect_schedule_slp_instance): Vectorize mixing plus/minus by
      	emitting two vector stmts and mixing the results.
      
      	* gcc.target/i386/vect-addsub.c: New testcase.
      
      From-SVN: r223059
      6876e5bc
    • Dominik Vogt's avatar
      Remove dead code in print_z_candidates. · eed4068d
      Dominik Vogt authored
      2015-05-12  Dominik Vogt  <vogt@linux.vnet.ibm.com>
      
      	* call.c (print_z_candidates): Remove dead code.
      
      From-SVN: r223057
      eed4068d
    • Andreas Krebbel's avatar
      2827.md: Split zEC12_simple into zEC12_simple_int and zEC12_simple_fp. · ff39d72a
      Andreas Krebbel authored
      2015-05-12  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
      
      	* config/s390/2827.md: Split zEC12_simple into zEC12_simple_int
      	and zEC12_simple_fp.
      	* config/s390/s390.c (s390_issue_rate): Set issue rate for zEC12
      	to 1.
      
      From-SVN: r223056
      ff39d72a
Loading