1. 27 May, 2015 12 commits
    • LTO balanced map: add stats about insns and symbols. · faae53f8
      	* lto-partition.c (new_partition): Reset number of symbols.
      	(add_symbol_to_partition_1): Increment number of symbols.
      	(undo_partition): Decrement number of symbols.
      	(lto_balanced_map): Dump number of symbols and insns that
      	belong to a partition.
      	* lto-partition.h (struct ltrans_partition_def): Add symbol counter.
      
      From-SVN: r223750
      Martin Liska committed
    • [PATCH 4/13] arm musl support · 4d45be53
      On behalf of szabolcs.nagy@arm.com
      
      2015-05-27  Gregor Richards  <gregor.richards@uwaterloo.ca>
      
      	* config/arm/linux-eabi.h (MUSL_DYNAMIC_LINKER): Define.
      
      From-SVN: r223749
      Gregor Richards committed
    • New memory allocation statistics infrastructure. · 2d44c7de
      	* Makefile.in: Add additional dependencies related to memory report
      	enhancement.
      	* alloc-pool.c (allocate_pool_descriptor): Use new ctor.
      	* bitmap.c (struct bitmap_descriptor_d): Remove.
      	(struct loc): Likewise.
      	(struct bitmap_desc_hasher): Likewise.
      	(bitmap_desc_hasher::hash): Likewise.
      	(bitmap_desc_hasher::equal): Likewise.
      	(get_bitmap_descriptor): Likewise.
      	(bitmap_register): User new memory descriptor API.
      	(register_overhead): Likewise.
      	(bitmap_find_bit): Register nsearches and search_iter statistics.
      	(struct bitmap_output_info): Remove.
      	(print_statistics): Likewise.
      	(dump_bitmap_statistics): Use new memory descriptor.
      	* bitmap.h (struct bitmap_usage): New class.
      	* genmatch.c: Extend header file inclusion.
      	* genpreds.c: Likewise.
      	* ggc-common.c (struct ggc_usage): New class.
      	(struct ggc_loc_desc_hasher): Remove.
      	(ggc_loc_desc_hasher::hash): Likewise.
      	(ggc_loc_desc_hasher::equal): Likewise.
      	(struct ggc_ptr_hash_entry): Likewise.
      	(struct ptr_hash_hasher): Likewise.
      	(ptr_hash_hasher::hash): Likewise.
      	(ptr_hash_hasher::equal): Likewise.
      	(make_loc_descriptor): Likewise.
      	(ggc_prune_ptr): Likewise.
      	(dump_ggc_loc_statistics): Use new memory descriptor.
      	(ggc_record_overhead): Likewise.
      	(ggc_free_overhead): Likewise.
      	(final_cmp_statistic): Remove.
      	(cmp_statistic): Likewise.
      	(ggc_add_statistics): Liekwise.
      	(ggc_prune_overhead_list): Likewise.
      	* hash-map-traits.h: New file.
      	* hash-map.h (struct default_hashmap_traits): Move the traits to a
      	separate header file.
      	* hash-set.h: Pass memory statistics info to ctor.
      	* hash-table.c (void dump_hash_table_loc_statistics): New function.
      	* hash-table.h (hash_table::hash_table): Add new ctor arguments.
      	(hash_table::~hash_table): Register memory release operation.
      	(hash_table::alloc_entries): Handle memory allocation operation.
      	(hash_table::expand): Likewise.
      	* inchash.c (iterative_hash_hashval_t): Move implementation to header
      	file.
      	(iterative_hash_host_wide_int): Likewise.
      	* inchash.h (class hash): Likewise.
      	* mem-stats-traits.h: New file.
      	* mem-stats.h: New file.
      	(mem_location): Add new class.
      	(mem_usage): Likewise.
      	(mem_alloc_description): Likewise.
      	* sese.c: Add new header file inclusision.
      	* toplev.c (dump_memory_report): Add report for hash_table, hash_map
      	and hash_set.
      	* tree-sra.c: Add new header file inclusision.
      	* vec.c (struct vec_descriptor): Remove.
      	(hash_descriptor): Likewise.
      	(struct vec_usage): Likewise.
      	(struct ptr_hash_entry): Likewise.
      	(hash_ptr): Likewise.
      	(eq_ptr): Likewise.
      	(vec_prefix::register_overhead): Use new memory descriptor API.
      	(vec_prefix::release_overhead): Likewise.
      	(add_statistics): Remove.
      	(dump_vec_loc_statistics): Use new memory descriptor API.
      	* vec.h (struct vec_prefix): Likewise.
      	(va_heap::reserve): Likewise.
      	(va_heap::release): Likewise.
      	* emit-rtl.c (gen_raw_REG): Fix passing MEM_STAT.
      
      From-SVN: r223748
      Martin Liska committed
    • stl_tree.h (_Rb_tree::_M_end()): Return _Base_ptr instead of downcasting. · 151fbaac
      	* include/bits/stl_tree.h (_Rb_tree::_M_end()): Return _Base_ptr
      	instead of downcasting.
      	(_Rb_tree::_M_copy): Change second parameter to _Base_ptr.
      	(_Rb_tree::_M_lower_bound, _Rb_tree:_M_upper_bound): Likewise.
      	(_Rb_tree::_S_iter): Remove.
      	(_Rb_tree::_S_lower_bound_tr, _Rb_tree::_S_upper_bound_tr): Remove.
      	(_Rb_tree::_M_find_tr(const _Kt&) const): Call _M_lower_bound_tr
      	instead of _S_lower_bound_tr
      	(_Rb_tree::_M_find_tr(const _Kt&)): Call const overload.
      	(_Rb_tree::_M_lower_bound_tr(const _Kt&) const): Do the search here
      	instead of calling _S_lower_bound_tr.
      	(_Rb_tree::_M_lower_bound_tr(const _Kt&)): Call const overload.
      	(_Rb_tree::_M_upper_bound_tr(const _Kt&) const): Do the search here
      	instead of calling _S_upper_bound_tr.
      	(_Rb_tree::_M_upper_bound_tr(const _Kt&)): Call const overload.
      	(_Rb_tree::_M_equal_range_tr(const _Kt&)): Likewise.
      	(_Rb_tree::equal_range): Use _Base_ptr for end pointer.
      	(_Rb_tree::_M_get_insert_unique_pos): Likewise.
      	(_Rb_tree::_M_get_insert_equal_pos): Likewise.
      	(_Rb_tree::_M_insert_equal_lower_node): Likewise.
      	(_Rb_tree::_M_insert_unique, _Rb_tree::_M_emplace_unique,
      	_Rb_tree::_M_emplace_hint_unique): Remove static_cast.
      
      From-SVN: r223746
      Jonathan Wakely committed
    • re PR libstdc++/66017 (Undefined behaviour in std::set<long long>) · 2097b5b0
      	PR libstdc++/66017
      	* include/bits/stl_tree.h (_Rb_tree_node): Use __aligned_membuf.
      	(_Rb_tree_iterator, _Rb_tree_const_iterator): Support construction
      	from _Base_ptr.
      	(_Rb_tree_const_iterator::_M_const_cast): Remove static_cast.
      	(_Rb_tree::begin, _Rb_tree::end): Remove static_cast.
      	* include/ext/aligned_buffer.h (__aligned_membuf): New type using
      	alignment of _Tp as a member subobject, not as a complete object.
      	* python/libstdcxx/v6/printers.py (StdRbtreeIteratorPrinter): Lookup
      	_Link_type manually as it might not be in the debug info.
      
      From-SVN: r223745
      Jonathan Wakely committed
    • tree-vect-stmts.c (vectorizable_load): Initialize slp_perm earlier and remove ??? comment. · b1af7da6
      2015-05-27  Richard Biener  <rguenther@suse.de>
      
      	* tree-vect-stmts.c (vectorizable_load): Initialize slp_perm
      	earlier and remove ??? comment.
      	(vect_analyze_stmt): If we are analyzing a pure SLP stmt
      	and got called from loop analysis bail out.  Always pass the SLP
      	node to the vectorizable_* functions.
      	* tree-vect-loop.c (vect_analyze_loop_operations): Remove
      	the premature SLP check here.
      	* tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Dump hybrid
      	detected SLP stmts.
      	(vect_detect_hybrid_slp_1): Likewise.
      
      From-SVN: r223743
      Richard Biener committed
    • trans-stmt.c (gfc_trans_allocate): Add missing location information for e3rhs. · d4cecb13
      gcc/fortran/ChangeLog:
      
      2015-05-27  Andre Vehreschild  <vehre@gmx.de>
      
      	* trans-stmt.c (gfc_trans_allocate): Add missing location
      	information for e3rhs.
      
      gcc/testsuite/ChangeLog:
      
      2015-05-27  Andre Vehreschild  <vehre@gmx.de>
      
      	* gfortran.dg/allocate_with_source_5.f90: Correct errorneous
      	semantic.
      	* gfortran.dg/allocate_with_source_6.f90: New test.
      
      From-SVN: r223738
      Andre Vehreschild committed
    • target.c (gomp_map_pointer): New function abstracting out GOMP_MAP_POINTER handling. · 1716efeb
      2015-05-27  Chung-Lin Tang  <cltang@codesourcery.com>
      
      	libgomp/
      	* target.c (gomp_map_pointer): New function abstracting out
      	GOMP_MAP_POINTER handling.
      	(gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
      	gomp_map_pointer().
      
      From-SVN: r223737
      Chung-Lin Tang committed
    • combine.c (find_split_point): Verify that the shift count is a constant when... · 7553271e
             * combine.c (find_split_point): Verify that the shift count is a
             constant when choosing (plus (ashift ...)) as a split point.
      
      From-SVN: r223736
      Jeff Law committed
    • tree-ssa-threadupdate.c: Replace 8 space sequences with tabs. · 7499cd25
              * tree-ssa-threadupdate.c: Replace 8 space sequences with tabs.
              No functional changes.
      
      From-SVN: r223734
      Jeff Law committed
    • * ipa-polymorphic-call.c · 6acd8c92
      	(ipa_polymorphic_call_context::get_dynamic_type): Short circuit the
      	case when call target is already known.
      
      From-SVN: r223733
      Jan Hubicka committed
    • Daily bump. · c6b8c3ad
      From-SVN: r223729
      GCC Administrator committed
  2. 26 May, 2015 28 commits
    • xmethods.py (UniquePtrMethodsMatcher): Add operator-> support. · 419587a0
      	* python/libstdcxx/v6/xmethods.py (UniquePtrMethodsMatcher): Add
      	operator-> support.
      	* testsuite/libstdc++-xmethods/unique_ptr.cc: Add tests for
      	operator->.
      
      From-SVN: r223723
      Doug Evans committed
    • re PR target/65979 ([SH] Wrong code is generated with stage1 compiler) · afa5920a
      PR target/65979
      * config/sh/sh.md (tstsi_t peephole2): Use gen_rtx_SET and take into
        account the case that operands[1] and operands[2] are the same register.
      
      From-SVN: r223721
      Oleg Endo committed
    • trans.c (Attribute_to_gnu): Do not bother about NaN's if Machine_Overflows is true. · 89d5c50b
      	* gcc-interface/trans.c (Attribute_to_gnu) <Attr_Min/Attr_Max>: Do not
      	bother about NaN's if Machine_Overflows is true.
      
      From-SVN: r223717
      Eric Botcazou committed
    • trans.c (gnat_to_gnu): Really force evaluation of the expression... · 545b4923
      	* gcc-interface/trans.c (gnat_to_gnu) <N_Object_Declaration>: Really
      	force evaluation of the expression, if any, when the object has its
      	elaboration delayed.  Do not create a variable at global level.
      
      From-SVN: r223716
      Eric Botcazou committed
    • trans.c (Attribute_to_gnu): Do not apply extra-precision trick to literals. · c68cdfac
      	* gcc-interface/trans.c (Attribute_to_gnu) <Attr_Machine>: Do not apply
      	extra-precision trick to literals.  Build SAVE_EXPR manually.
      
      	* gcc-interface/misc.c (enumerate_modes): Add bypass for x86/x86-64.
      
      From-SVN: r223715
      Eric Botcazou committed
    • ada-tree.h (DECL_GLOBAL_NONCONSTANT_RENAMING_P): Delete · 241125b2
      	* gcc-interface/ada-tree.h (DECL_GLOBAL_NONCONSTANT_RENAMING_P): Delete
      	(DECL_RENAMED_OBJECT): Adjust comment.
      	* gcc-interface/gigi.h (record_global_nonconstant_renaming): Delete.
      	(invalidate_global_nonconstant_renamings): Likewise.
      	(gnat_constant_reference_p): Likewise.
      	(rewrite_fn): New function type.
      	(gnat_rewrite_reference): Declare.
      	(call_is_atomic_load): New inline predicate.
      	* gcc-interface/decl.c (elaborate_reference_1): New function.
      	(elaborate_reference): Likewise.
      	(gnat_to_gnu_entity): Call elaborate_reference to elaborate renamings
      	and simplify associated code.  Set const_flag to true consistently in
       	conjunction with used_by_ref.
      	* gcc-interface/trans.c (Identifier_to_gnu): Always replace renaming
      	pointers by renamed objects.
      	(outer_atomic_access_required_p): Deal with renamings.
      	(Compilation_Unit_to_gnu): Do not call
      	invalidate_global_nonconstant_renamings.
      	(gnat_to_gnu) <N_Object_Renaming_Declaration>: Adjust comment.
      	(gnat_gimplify_expr): Deal with atomic loads.
      	* gcc-interface/utils.c (global_nonconstant_renamings): Delete.
      	(destroy_gnat_utils): Do not call
      	invalidate_global_nonconstant_renamings.
      	(record_global_nonconstant_renaming): Delete.
      	(invalidate_global_nonconstant_renamings): Likewise.
      	* gcc-interface/utils2.c (call_is_atomic_load): Move to gigi.h.
      	(build_load_modify_store): Build a copy of the destination.
      	(gnat_stabilize_reference_1): Adjust.
      	(gnat_stabilize_reference): Call gnat_stabilize_reference_1 through
      	gnat_rewrite_reference and move bulk of code to...
      	(gnat_rewrite_reference): ...here.  New global function.
      	(gnat_constant_reference_p): Delete.
      
      From-SVN: r223709
      Eric Botcazou committed
    • gigi.h (gnat_stabilize_reference): Adjust prototype. · 7194767c
      	* gcc-interface/gigi.h (gnat_stabilize_reference): Adjust prototype.
      	* gcc-interface/decl.c (gnat_to_gnu_entity): Do not rely on const_flag
       	to detect constant renamings.  Be prepared for specific pattern of
      	renamed object based on function calls.  Create a constant object
      	for the renaming of a NULL_EXPR or of a CONSTRUCTOR.  Adjust calls
      	to gnat_stabilize_reference and tidy up.  Remove redundant tests.
      	(elaborate_expression_1): Remove obsolete test and tidy up.
      	* gcc-interface/trans.c (Call_to_gnu): Do not stabilize In/Out or Out
      	parameters passed by reference.
      	(gnat_to_gnu) <N_Selected_Component>: Remove redundant protection again
      	side-effects.
      	Use gnat_protect_expr instead of gnat_stabilize_reference for general
      	protection against side-effects.
      	* gcc-interface/utils2.c (gnat_stable_expr_p): New predicate.
      	(gnat_save_expr): Invoke it.
      	(gnat_protect_expr): Likewise.
      	(gnat_stabilize_reference_1): Likewise.  Remove useless propagation
      	of TREE_THIS_NOTRAP.
      	(gnat_stabilize_reference): Remove parameter and adjust throughout.
      	Delete ADDR_EXDR, COMPOUND_EXPR and CONSTRUCTOR cases.
      	Restrict CALL_EXPR case to atomic loads and tweak ERROR_MARK case.
      
      From-SVN: r223708
      Eric Botcazou committed
    • jni.exp (gcj_jni_get_cxxflags_invocation): Add libiconv for FreeBSD to cxxflags. · 517d07c9
      2015-05-26  Andreas Tobler  <andreast@gcc.gnu.org>
      
          * testsuite/libjava.jni/jni.exp (gcj_jni_get_cxxflags_invocation): Add
          libiconv for FreeBSD to cxxflags.
      
      From-SVN: r223706
      Andreas Tobler committed
    • line-map.c (LINE_MAP_MAX_COLUMN_NUMBER… · 815facd3
      line-map.c (LINE_MAP_MAX_COLUMN_NUMBER LINE_MAP_MAX_LOCATION_WITH_COLS,LINE_MAP_MAX_SOURCE_LOCATION): New constants.
      
      libcpp/ChangeLog:
      
      2015-05-26  Manuel López-Ibáñez  <manu@gcc.gnu.org>
      
      	* line-map.c (LINE_MAP_MAX_COLUMN_NUMBER
      	LINE_MAP_MAX_LOCATION_WITH_COLS,LINE_MAP_MAX_SOURCE_LOCATION):
      	New constants.
      	(linemap_line_start): Use them.
      	(linemap_position_for_column): Use them.
      
      From-SVN: r223705
      Manuel López-Ibáñez committed
    • re PR middle-end/66251 (ICE in vect_get_vec_def_for_operand, at tree-vect-stmts.c:1484) · cee62fee
      	PR middle-end/66251
      
      	* tree-vect-stmts.c (vect_model_store_cost): Handled strided group
      	stores.
      	(vect_create_vectorized_demotion_stmts): Always set
      	STMT_VINFO_VEC_STMT, also with SLP.
      	(vectorizable_store): Handle strided group stores.
      
      testsuite/:
      	PR middle-end/66251
      	* gcc.dg/vect/pr66251.c: New test.
      
      From-SVN: r223704
      Michael Matz committed
    • re PR target/66049 (Few AArch64 extend and add with shift tests generates sub… · dd1bdce4
      re PR target/66049 (Few AArch64 extend and add with shift tests generates sub optimal code with trunk gcc 6.0.)
      
      2015-05-26  Venkataramanan Kumar  <venkataramanan.kumar@amd.com>
      
              PR target/66049
              * config/aarch64/aarch64.md
              (*adds_shift_imm_<mode>):  New pattern.
              (*subs_shift_imm_<mode>):  Likewise.
              (*adds_<optab><ALLX:mode>_shift_<GPI:mode>):  Likewise.
              (*subs_<optab><ALLX:mode>_shift_<GPI:mode>): Likewise.
              (*add_uxt<mode>_shift2): Likewise.
              (*add_uxtsi_shift2_uxtw): Likewise.
              (*sub_uxt<mode>_shift2): Likewise.
              (*sub_uxtsi_shift2_uxtw): Likewise.
      
      From-SVN: r223703
      Venkataramanan Kumar committed
    • * config/rs6000/constraints.md (Y, U): Use match_test. · efac9d45
      From-SVN: r223702
      David Edelsohn committed
    • fix entry · 28c206e1
      From-SVN: r223701
      Christian Bruel committed
    • fix entry · b1d11d62
      From-SVN: r223700
      Christian Bruel committed
    • re PR target/52144 (ARM should support arm/thumb function attribute to permit… · 08793a38
      re PR target/52144 (ARM should support arm/thumb function attribute to permit different instruction sets in the same source)
      
       2015-05-13  Christian Bruel  <christian.bruel@st.com>
      
      	PR target/52144
      	* config/arm/arm.c (arm_option_check_internal)
      	(arm_option_params_internal): Check opts->target_flags to set macros.
      	(TREE_TARGET_ARM, TREE_TARGET_THUMB)
      	(TREE_TARGET_THUMB1, TREE_TARGET_THUMB2) Replace with...
      	(TARGET_ARM_P, TARGET_THUMB_P, TARGET_THUMB1_P, TARGET_THUMB2_P)
      	(builtin_define): Replaced with def_or_undef_macro.
      	* config/arm/arm.h (TREE_TARGET_ARM, TREE_TARGET_THUMB)
      	TREE_TARGET_THUMB1, TREE_TARGET_THUMB2) Redefine with...
      	(TARGET_ARM_P, TARGET_THUMB_P, TARGET_THUMB1_P, TARGET_THUMB2_P)
      	(TARGET_32BIT_P, TARGET_ARM_QBIT_P, TARGET_ARM_SAT_P, TARGET_IDIV_P)
      	(TARGET_HAVE_LDREX_P, TARGET_HAVE_LDREXBH_P, TARGET_HAVE_LDREXD_P)
      	(TARGET_ARM_FEATURE_LDREX_P)
      	(TARGET_DSP_MULTIPLY_P, TARGET_INT_SIMD_P): New macros.
      	(def_or_undef_macro): New function.
      
      From-SVN: r223699
      Christian Bruel committed
    • 2015-05-26 Christian Bruel <christian.bruel@st.com> · 7049e4eb
      	* c-common.h (builtin_define_with_int_value)
      	(builtin_define_type_sizeof): Declare.
      	* c-cppbuiltin.c (builtin_define_with_int_value)
      	(builtin_define_type_sizeof): Externalize.
      	(builtin_define_std): Cleanup declaration.
      	* config/arm/arm-protos.h (arm_cpu_cpp_builtins): Declare.
      	* config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Move macro defines into...
      	* config/arm/arm-c.c (arm_cpu_cpp_builtins): New function.
      	(builtin_define, builtin_assert): New macros.
      
      From-SVN: r223698
      Christian Bruel committed
    • re PR tree-optimization/66142 (Loop is not vectorized because not sufficient… · ea3eac3a
      re PR tree-optimization/66142 (Loop is not vectorized because not sufficient support for GOMP_SIMD_LANE)
      
      2015-05-26  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/66142
      	* tree-ssa-sccvn.c (vn_reference_lookup_3): Manually compare
      	MEM_REFs for the same base address.
      
      	* gcc.dg/tree-ssa/ssa-fre-44.c: New testcase.
      
      From-SVN: r223697
      Richard Biener committed
    • [multiple changes] · bff469f7
      2015-05-26  Ed Schonberg  <schonberg@adacore.com>
      
      	* sinfo.ads: Minor reformatting.
      	* sem_aux.ads: Clarify use of First_Discriminant.
      	* sem_ch4.adb (Analyze_Explicit_Dereference): The use of a limited
      	view is replaced with the non-limited view in an instance body,
      	where the enclosing unit must have a regular with_clause on the
      	relevant unit.
      	* sem_ch12.adb (Install_Body): Freeze instantation after its
      	body. Remove useless freeze nodes for incomplete actuals to
      	prevent multiple generation of internal operations.
      	(Instantiate_Package_Body): Set sloc of body appropriately when
      	there are incomplete actuals and the instance body is placed in
      	the body of the enclosing unit.
      	* errout.ads: Consistent punctuation, better alignment and trivial
      	typos in comments.
      	* err_vars.ads: Fix typo.
      
      2015-05-26  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* sem_ch8.adb (Analyze_Object_Renaming): Lift restriction on
      	components of Volatile_Full_Access objects.
      
      2015-05-26  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch6.adb (Is_Non_Overriding_Operation,
      	Get_Generic_Parent_Type): Handle properly the case of a derived
      	scalar type by using the first subtype rather than its generated
      	anonymous base type.
      
      2015-05-26  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* einfo.adb (Write_Field17_Name): Move E_Incomplete_Subtype
      	case to...
      	(Write_Field19_Name): ...here.
      
      From-SVN: r223696
      Arnaud Charlet committed
    • re PR ipa/66181 (/usr/include/bits/types.h:134:16: ICE: verify_type failed) · 70c3fcfc
      Fix PR ipa/66181
      
      2015-05-26  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
      
      	PR ipa/66181
      	* tree.c (verify_type_variant): Do not check TYPE_NO_FORCE_BLK.
      
      From-SVN: r223695
      Ramana Radhakrishnan committed
    • configure.ac: Set CXXFLAGS for ISL test. · a4716210
      	* configure.ac: Set CXXFLAGS for ISL test.
      	* configure: Regenerate.
      
      From-SVN: r223694
      Jason Merrill committed
    • configure.ac: When bootstrapping with GCC, add -std=c++98 to CXX. · 46070488
      	* configure.ac: When bootstrapping with GCC, add -std=c++98 to CXX.
      	* configure: Regenerate.
      
      From-SVN: r223692
      Jason Merrill committed
    • configure.ac: Use C++ for all tests. · 13ccfea8
      	* configure.ac: Use C++ for all tests.  Use AC_CHECK_DECLS for
      	strstr and basename.
      	* configure: Regenerate.
      
      From-SVN: r223691
      Jason Merrill committed
    • fold-const.c (fold_binary_loc): Move X % -Y -> X % Y and X % C -> X & (C - 1)… · 8f0c696a
      fold-const.c (fold_binary_loc): Move X % -Y -> X % Y and X % C -> X & (C - 1) for C being a power-of two to ...
      
      2015-05-26  Richard Biener  <rguenther@suse.de>
      
      	* fold-const.c (fold_binary_loc): Move X % -Y -> X % Y and
      	X % C -> X & (C - 1) for C being a power-of two to ...
      	* match.pd: ... patterns.
      
      From-SVN: r223690
      Richard Biener committed
    • match.pd (swapped_tcc_comparison): New operator list. · 534bd33b
      2015-05-26  Marc Glisse  <marc.glisse@inria.fr>
      
      	* match.pd (swapped_tcc_comparison): New operator list.
      	(-A CMP -B): New simplification.
      	* fold-const.c (fold_comparison): Remove corresponding code.
      
      From-SVN: r223689
      Marc Glisse committed
    • caller-save.c (init_caller_save): Base temporary register numbers on… · c3dc5e66
      caller-save.c (init_caller_save): Base temporary register numbers on LAST_VIRTUAL_REGISTER + 1 rather than...
      
      gcc/
      	* caller-save.c (init_caller_save): Base temporary register numbers
      	on LAST_VIRTUAL_REGISTER + 1 rather than FIRST_PSEUDO_REGISTER.
      	* cfgloopanal.c (init_set_costs): Likewise.
      	* dojump.c (prefer_and_bit_test): Likewise.
      	* expr.c (init_expr_target): Likewise.
      	* ira.c (setup_prohibited_mode_move_regs): Likewise.
      	* lower-subreg.c (init_lower_subreg): Likewise.
      	* postreload.c (reload_cse_regs_1): Likewise.
      
      From-SVN: r223688
      Richard Sandiford committed
    • gensupport.h (compute_test_codes): Declare. · 851ee5f4
      gcc/
      	* gensupport.h (compute_test_codes): Declare.
      	* gensupport.c (compute_predicate_codes): Rename to...
      	(compute_test_codes): ...this.  Generalize error message.
      	(process_define_predicate): Update accordingly.
      	* genpreds.c (compute_maybe_allows): Delete.
      	(add_constraint): Use compute_test_codes to determine whether
      	something can accept a SUBREG, REG or MEM.
      
      From-SVN: r223687
      Richard Sandiford committed
    • [multiple changes] · 3a37ecec
      2015-05-26  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch13.adb: sem_ch13.adb (Add_Predicates): Undo analysis
      	of original expression in ASIS mode: does not solve the ASIS
      	problem of a usable type information, and crashes the back-end
      	when performing type annotations.
      
      2015-05-26  Robert Dewar  <dewar@adacore.com>
      
      	* sem_disp.adb (Inherited_Subprograms): Add One_Only parameter.
      	(Is_Overriding_Subprogram): Use One_Only_Parameter.
      	* sem_disp.ads (Inherited_Subprograms): Add One_Only parameter.
      
      From-SVN: r223686
      Arnaud Charlet committed
    • [multiple changes] · ad4ba28b
      2015-05-26  Robert Dewar  <dewar@adacore.com>
      
      	* exp_prag.adb, sem_ch3.adb, sem_ch5.adb, exp_ch11.adb, ghost.adb,
      	exp_ch6.adb, sem_ch6.adb, sem_ch8.adb, sem_ch11.adb, sem_ch13.adb,
      	exp_ch3.adb: Minor reformatting.
      
      2015-05-26  Bob Duff  <duff@adacore.com>
      
      	* treepr.adb: Minor improvement to debugging routines (pp, pn)
      	robustness.  Rearrange the code so passing a nonexistent Node_Id
      	prints "No such node" rather than crashing, and causing gdb to
      	generate confusing messages.
      
      2015-05-26  Gary Dismukes  <dismukes@adacore.com>
      
      	* sem_util.adb: Minor typo fix.
      
      2015-05-26  Yannick Moy  <moy@adacore.com>
      
      	* sem_aux.adb (Subprogram_Body_Entity): Deal with subprogram stubs.
      
      From-SVN: r223685
      Arnaud Charlet committed