1. 31 Oct, 2013 15 commits
    • tree.c (tree_ctz): New function. · eae76e53
      	* tree.c (tree_ctz): New function.
      	* tree.h (tree_ctz): New prototype.
      	* tree-ssanames.h (get_range_info, get_nonzero_bits): Change
      	first argument from tree to const_tree.
      	* tree-ssanames.c (get_range_info, get_nonzero_bits): Likewise.
      	* tree-vectorizer.h (vect_generate_tmps_on_preheader): New prototype.
      	* tree-vect-loop-manip.c (vect_generate_tmps_on_preheader): No longer
      	static.
      	* expr.c (highest_pow2_factor): Reimplemented using tree_ctz.
      	* tree-vect-loop.c (vect_analyze_loop_operations,
      	vect_transform_loop): Don't force scalar loop for bound just because
      	number of iterations is unknown, only do it if it is not known to be
      	a multiple of vectorization_factor.
      	* builtins.c (get_object_alignment_2): Use tree_ctz on offset.
      
      From-SVN: r204257
      Jakub Jelinek committed
    • gimple-pretty-print.c (dump_ssaname_info): Print newline also in case of VR_VARYING. · c853f62a
      	* gimple-pretty-print.c (dump_ssaname_info): Print newline also
      	in case of VR_VARYING.  Print get_nonzero_bits if not all ones.
      	* tree-ssanames.h (struct range_info_def): Add nonzero_bits field.
      	(set_nonzero_bits, get_nonzero_bits): New prototypes.
      	* tree-ssa-ccp.c (get_default_value): Use get_range_info to see if
      	a default def isn't partially constant.
      	(ccp_finalize): If after IPA, set_range_info if integral SSA_NAME
      	is known to be partially zero.
      	(evaluate_stmt): If we'd return otherwise VARYING, use get_range_info
      	to see if a default def isn't partially constant.
      	* tree-ssanames.c (set_range_info): Initialize nonzero_bits upon
      	creation of a range, if VR_RANGE, try to improve nonzero_bits from
      	the range.
      	(set_nonzero_bits, get_nonzero_bits): New functions.
      
      	* g++.dg/warn/pr33738.C (main): Initialize a2 again to make sure
      	we warn about it already during VRP1 pass.
      
      From-SVN: r204256
      Jakub Jelinek committed
    • tree-cfg.c (assert_unreachable_fallthru_edge_p): New function. · d8202b84
      	* tree-cfg.c (assert_unreachable_fallthru_edge_p): New function.
      	* tree-cfg.h (assert_unreachable_fallthru_edge_p): New prototype.
      	* tree-vrp.c (all_imm_uses_in_stmt_or_feed_cond): New function.
      	(remove_range_assertions): If ASSERT_EXPR_VAR has no other immediate
      	uses but in the condition and ASSERT_EXPR and the other successor of
      	the predecessor bb is __builtin_unreachable (), set_range_info of the
      	ASSERT_EXPR_VAR to the range info of the ASSERT_EXPR's lhs.
      
      From-SVN: r204255
      Jakub Jelinek committed
    • re PR rtl-optimization/58934 (build fails on cris-elf in… · b319f79c
      re PR rtl-optimization/58934 (build fails on cris-elf in reload_cse_simplify_operands for newlib dtoa.c)
      
      2013-10-31  Martin Jambor  <mjambor@suse.cz>
      
      	PR rtl-optimization/58934
      	Revert:
      	2013-10-30  Martin Jambor  <mjambor@suse.cz>
      	PR rtl-optimization/10474
      	* ira.c (find_moveable_pseudos): Do not calculate dominance info
      	nor df analysis.
      	(interesting_dest_for_shprep): New function.
      	(split_live_ranges_for_shrink_wrap): Likewise.
      	(ira): Calculate dominance info and df analysis. Call
      	split_live_ranges_for_shrink_wrap.
      
      testsuite/
      	* gcc.dg/pr10474.c: New testcase.
      	* gcc.dg/ira-shrinkwrap-prep-1.c: Likewise.
      	* gcc.dg/ira-shrinkwrap-prep-2.c: Likewise.
      
      From-SVN: r204254
      Martin Jambor committed
    • 48631_neg.cc: Tweak dg-prune. · 0a466ec0
      2013-10-31  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* testsuite/20_util/default_delete/48631_neg.cc: Tweak dg-prune.
      
      From-SVN: r204253
      Paolo Carlini committed
    • re PR c++/58932 ([C++11] Deleted functions and SFINAE in partial template specializations) · 7f1001af
      /cp
      2013-10-31  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/58932
      	Revert:
      	2013-10-18  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/58466
      	* pt.c (most_specialized_class): Bump processing_template_decl for
      	get_class_bindings.
      
      /testsuite
      2013-10-31  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/58932
      	Revert:
      	2013-10-18  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/58466
      	* g++.dg/cpp0x/variadic145.C: New.
      
      	* g++.dg/cpp0x/sfinae49.C: New.
      
      From-SVN: r204252
      Paolo Carlini committed
    • re PR sanitizer/58543 (Invalid unpoisoning of stack redzones on ARM) · 57d4d653
      2013-10-31  Richard Sandiford  <rsandifo@linux.vnet.ibm.com>
      	    Yury Gribov  <y.gribov@samsung.com>
      
      	PR sanitizer/58543
      	* asan.c (asan_clear_shadow): Allocate a new vreg for temporary
      	shadow pointer to avoid clobbering the main one.
      
      Co-Authored-By: Yury Gribov <y.gribov@samsung.com>
      
      From-SVN: r204251
      Richard Sandiford committed
    • re PR c++/58932 ([C++11] Deleted functions and SFINAE in partial template specializations) · 7dccc537
      /cp
      2013-10-31  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/58932
      	Revert:
      	2013-10-18  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/58466
      	* pt.c (most_specialized_class): Bump processing_template_decl for
      	get_class_bindings.
      
      /testsuite
      2013-10-31  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/58932
      	Revert:
      	2013-10-18  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/58466
      	* g++.dg/cpp0x/variadic145.C: New.
      
      	* g++.dg/cpp0x/sfinae49.C: New.
      
      From-SVN: r204250
      Paolo Carlini committed
    • re PR c++/58581 ([c++11] ICE with no-throw specification in deleted function) · 39344c99
      /cp
      2013-10-30  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/58581
      	* call.c (build_over_call): Check return value of mark_used.
      
      /testsuite
      2013-10-30  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/58581
      	* g++.dg/cpp0x/deleted1.C: New.
      
      From-SVN: r204249
      Paolo Carlini committed
    • lower-subreg.c (resolve_simple_move): Copy REG_INC note. · ce5d49a8
      gcc/ChangeLog:
      2013-10-31  Zhenqiang Chen  <zhenqiang.chen@linaro.org>
      
      	* lower-subreg.c (resolve_simple_move): Copy REG_INC note.
      
      gcc/testsuite/ChangeLog:
      2013-10-31  Zhenqiang Chen  <zhenqiang.chen@linaro.org>
      
      	* gcc.target/arm/lp1243022.c: New test.
      
      From-SVN: r204247
      Zhenqiang Chen committed
    • configure.ac: Changed a case statement to include i386. · 8c1a9d4d
      2013-10-30  Balaji V. Iyer  <balaji.v.iyer@intel.com>
      
             * configure.ac: Changed a case statement to include i386.
             * configure: Regenerated.
      
      From-SVN: r204246
      Balaji V. Iyer committed
    • re PR bootstrap/58933 (IRA ICE in update_costs_from_allocno) · c73ccc80
      2013-10-30  Vladimir Makarov  <vmakarov@redhat.com>
      
      	PR bootstrap/58933
      	* ira-color.c (update_costs_from_copies): Add new parameter.  Use
      	it for calling update_costs_from_allocno.
      	(assign_hard_reg): Call restore_costs_from_copies only for
      	!retry_p.  Pass new argument to update_costs_from_copies.
      	(color_pass): Pass new argument to update_costs_from_copies.
      	(ira_mark_allocation_change): Ditto.
      
      From-SVN: r204245
      Vladimir Makarov committed
    • re PR middle-end/58134 (-ftree-vectorizer-verbose=<n> shows vectorized loops… · 477e804b
      re PR middle-end/58134 (-ftree-vectorizer-verbose=<n> shows vectorized loops only for N== 1 and N >2 but not for N==2)
      
      2013-10-30  Sharad Singhai  <singhai@google.com>
      
      	PR middle-end/58134
      	* opts.c (common_handle_option): Remove deprecated option
      	-ftree-vectorizer-verbose.
      	* doc/invoke.texi (Debugging Options): Ditto.
      	* opts-global.c (handle_common_deferred_options): Ditto.
      	(dump_remap_tree_vectorizer_verbose): Delete.
      	* common.opt: Set -ftree-vectorizer-verbose as an ignored option.
      
      ada/ChangeLog
      	* gnat_ugn.texi: Remove option description for PR middle-end/58134.
      
      From-SVN: r204244
      Sharad Singhai committed
    • rx.c (ADD_RX_BUILTIN0): New macro, used for builtins that take no arguments. · 4bbd2ea8
      * config/rx/rx.c (ADD_RX_BUILTIN0): New macro, used for builtins
      that take no arguments.
      
      From-SVN: r204239
      DJ Delorie committed
    • Daily bump. · d36ff35b
      From-SVN: r204238
      GCC Administrator committed
  2. 30 Oct, 2013 25 commits
    • re PR rtl-optimization/58545 (error: unable to find a register to spill in class 'POINTER_REGS') · e27a6430
      gcc:
              PR other/58545
              * reload1.c (update_eliminables_and_spill): New function, broken
              out of reload.
              (reload): Use it.  Check for frame size change after frame
              size alignment, and call update_eliminables_and_spill first
              if continue-ing.
      gcc/testsuite:
              PR other/58545
              * gcc.target/avr/pr58545.c: New test.
      
      From-SVN: r204234
      Joern Rennecke committed
    • Fix for bug Bootstrap/58918. · fbdec791
      +2013-10-30  Balaji V. Iyer  <balaji.v.iyer@intel.com>
      +
      +       * configure: Reconfigured.
      +       * configure.ac: Add AC_FUNC_ALLOCA.
      +       * runtime/sysdep-unix.c: Added check for alloca.h before
      +       including it.
      +       * config/x86/cilk-abi-vla.c: Likewise.
      +       * runtime/cilk_fiber-unix.cpp: Likewise.
      +
      
      From-SVN: r204232
      Balaji V. Iyer committed
    • pointer_partial_void.cc: Fix and enable VERIFY tests. · 2283f03a
      	* testsuite/29_atomics/atomic/operators/pointer_partial_void.cc: Fix
      	and enable VERIFY tests.
      
      From-SVN: r204231
      Jonathan Wakely committed
    • revert: cilk-plus.exp: Add the libcilkrts library path to the compile flags. · adffea1e
      2013-10-30  Tobias Burnus  <burnus@net-b.de>
      
              Revert:
              2013-10-30  Tobias Burnus  <burnus@net-b.de>
              * gcc.dg/cilk-plus/cilk-plus.exp: Add the libcilkrts library
              path to the compile flags.
      
      From-SVN: r204230
      Tobias Burnus committed
    • re PR target/58762 ([missed optimization] Vectorizing abs(int).) · 8f24613d
      2013-10-30  Cong Hou  <congh@google.com>
      
          PR target/58762
          * config/i386/i386-protos.h (ix86_expand_sse2_abs): New function.
          * config/i386/i386.c (ix86_expand_sse2_abs): New function.
          * config/i386/sse.md: Add SSE2 support to abs (8/16/32-bit-int).
      
      2013-10-30  Cong Hou  <congh@google.com>
      
          * gcc.target/i386/vect-abs-s8.c: New test.
          * gcc.target/i386/vect-abs-s16.c: New test.
          * gcc.target/i386/vect-abs-s32.c: New test.
      
      From-SVN: r204229
      Cong Hou committed
    • semantics.c (finish_compound_literal): Don't create a static variable inside… · afbb631e
      semantics.c (finish_compound_literal): Don't create a static variable inside cp_unevaluated_operand.
      
      	* semantics.c (finish_compound_literal): Don't create a static variable
      	inside cp_unevaluated_operand.
      
      From-SVN: r204228
      Jason Merrill committed
    • cilk-plus.exp: Add the libcilkrts library path to the compile flags. · fc7f44e4
      2013-10-30  Tobias Burnus  <burnus@net-b.de>
      
              * gcc.dg/cilk-plus/cilk-plus.exp: Add the libcilkrts library
              path to the compile flags.
      
      From-SVN: r204227
      Tobias Burnus committed
    • * init.c (push_base_cleanups): Check ANON_AGGR_TYPE_P. · 04056396
      From-SVN: r204226
      Jason Merrill committed
    • shared_ptr (__shared_ptr): Assert non-void pointer. · 8d52ed5c
      	* include/bits/shared_ptr (__shared_ptr): Assert non-void pointer.
      	* include/bits/shared_ptr (default_delete): Likewise.
      	* testsuite/20_util/shared_ptr/cons/58839.cc: Do not use
      	default_delete<void>.
      	* testsuite/20_util/shared_ptr/cons/void_neg.cc: New.
      	* testsuite/20_util/default_delete/void_neg.cc: New.
      	* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line numbers.
      	* testsuite/20_util/unique_ptr/assign/48635_neg.cc: Likewise.
      
      From-SVN: r204225
      Jonathan Wakely committed
    • re PR rtl-optimization/58369 (ICE in subreg_get_info when compiling boost for m68k-linux) · 46088939
      	PR rtl-optimization/58369
      	* reload1.c (compute_reload_subreg_offset): New function.
      	(choose_reload_regs): Use it to pass endian-correct
      	offset to subreg_regno_offset.
      
      	* PR rtl-optimization/58369
      	* g++.dg/torture/pr58369.C: New test.
      
      From-SVN: r204224
      Jeff Law committed
    • re PR other/33426 (Support of #pragma ivdep) · c5028d80
      2013-10-30  Tobias Burnus  <burnus@net-b.de>
      
      gcc/cp/
              PR other/33426
              * cp-tree.h (RANGE_FOR_IVDEP): Define.
              (cp_convert_range_for, finish_while_stmt_cond, finish_do_stmt,
              finish_for_cond): Take 'bool ivdep' parameter.
              * cp-array-notation.c (create_an_loop): Update call.
              * init.c (build_vec_init): Ditto.
              * pt.c (tsubst_expr): Ditto.
              * parser.c (cp_parser_iteration_statement, cp_parser_for,
              cp_parser_range_for, cp_convert_range_for): Update calls.
              (cp_parser_pragma): Accept GCC ivdep for 'while' and 'do'.
              * semantics.c (finish_while_stmt_cond, finish_do_stmt,
              finish_for_cond): Optionally build ivdep annotation.
      
      gcc/testsuite/
              PR other/33426
              * g++.dg/vect/pr33426-ivdep-2.cc: New.
              * g++.dg/vect/pr33426-ivdep-3.cc: New.
              * g++.dg/vect/pr33426-ivdep-4.cc: New.
      
      gcc/
              PR other/33426
              * gcc/tree-cfg.c (replace_loop_annotate): Replace warning by
              warning_at.
      
      From-SVN: r204223
      Tobias Burnus committed
    • re PR target/47754 ([missed optimization] AVX allows unaligned memory operands… · 1079f7a1
      re PR target/47754 ([missed optimization] AVX allows unaligned memory operands but GCC uses unaligned load and register operand)
      
      	PR target/47754
      	* config/i386/i386.c (ix86_avx256_split_vector_move_misalign): If
      	op1 is misaligned_operand, just use *mov<mode>_internal insn
      	rather than UNSPEC_LOADU load.
      	(ix86_expand_vector_move_misalign): Likewise (for TARGET_AVX only).
      	Avoid gen_lowpart on op0 if it isn't MEM.
      
      	* gcc.target/i386/avx256-unaligned-load-1.c: Adjust scan-assembler
      	and scan-assembler-not regexps.
      	* gcc.target/i386/avx256-unaligned-load-2.c: Likewise.
      	* gcc.target/i386/avx256-unaligned-load-3.c: Likewise.
      	* gcc.target/i386/avx256-unaligned-load-4.c: Likewise.
      	* gcc.target/i386/l_fma_float_1.c: Use pattern for
      	scan-assembler-times instead of just one insn name.
      	* gcc.target/i386/l_fma_float_2.c: Likewise.
      	* gcc.target/i386/l_fma_float_3.c: Likewise.
      	* gcc.target/i386/l_fma_float_4.c: Likewise.
      	* gcc.target/i386/l_fma_float_5.c: Likewise.
      	* gcc.target/i386/l_fma_float_6.c: Likewise.
      	* gcc.target/i386/l_fma_double_1.c: Likewise.
      	* gcc.target/i386/l_fma_double_2.c: Likewise.
      	* gcc.target/i386/l_fma_double_3.c: Likewise.
      	* gcc.target/i386/l_fma_double_4.c: Likewise.
      	* gcc.target/i386/l_fma_double_5.c: Likewise.
      	* gcc.target/i386/l_fma_double_6.c: Likewise.
      
      From-SVN: r204219
      Jakub Jelinek committed
    • * decl.c (cp_finish_decl): Never throw for VLA bound == 0. · 3e4403a4
      From-SVN: r204218
      Jason Merrill committed
    • Makefile.tpl (STAGE1_CONFIGURE_FLAGS): Pass --disable-build-format-warnings. · 1652c6da
      /
      	* Makefile.tpl (STAGE1_CONFIGURE_FLAGS): Pass
      	--disable-build-format-warnings.
      gcc/
      	* configure.ac (loose_warn): Add -Wno-format if
      	--disable-build-format-warnings.
      
      From-SVN: r204217
      Jason Merrill committed
    • Split symtab_node declarations onto multiple lines · 378cd6b1
      gcc/
      	* cgraphunit.c (analyze_functions): Split symtab_node
      	declarations onto multiple lines to make things easier
      	for rename_symtab.py.
      
      	* symtab.c (symtab_dissolve_same_comdat_group_list): Likewise.
      	(symtab_semantically_equivalent_p): Likewise.
      
      gcc/lto
      	* lto-symtab.c (lto_symtab_merge_decls_2): Split symtab_node
      	declarations onto multiple lines to make things easier for
      	rename_symtab.py.
      	(lto_symtab_merge_decls_1): Likewise.
      	(lto_symtab_merge_symbols_1): Likewise.
      
      From-SVN: r204216
      David Malcolm committed
    • re PR target/58784 ([ARM] LRA legitimate address issue with misalign neon_store) · a26891f4
      2013-10-30  Vladimir Makarov  <vmakarov@redhat.com>
      
      	PR target/58784
      	* lra.c (check_rtl): Remove address check before LRA work.
      
      2013-10-30  Vladimir Makarov  <vmakarov@redhat.com>
      
      	PR target/58784
      	* gcc.target/arm/pr58784.c: New.
      
      From-SVN: r204215
      Vladimir Makarov committed
    • tree-ssa-alias.c (ao_ref_init_from_ptr_and_size): Look for a POINTER_PLUS_EXPR… · 6ecb8b21
      tree-ssa-alias.c (ao_ref_init_from_ptr_and_size): Look for a POINTER_PLUS_EXPR in the defining statement.
      
      2013-10-30  Marc Glisse  <marc.glisse@inria.fr>
      
      gcc/
      	* tree-ssa-alias.c (ao_ref_init_from_ptr_and_size): Look for a
      	POINTER_PLUS_EXPR in the defining statement.
      
      gcc/testsuite/
      	* gcc.dg/tree-ssa/alias-24.c: New file.
      
      From-SVN: r204213
      Marc Glisse committed
    • regmove.c: Remove. · 3b6d1699
      2013-10-30  Vladimir Makarov  <vmakarov@redhat.com>
      
      	* regmove.c: Remove.
      	* tree-pass.h (make_pass_regmove): Remove.
      	* timevar.def (TV_REGMOVE): Remove.
      	* passes.def (pass_regmove): Remove.
      	* opts.c (default_options_table): Remove entry for regmove.
      	* doc/passes.texi: Remove regmove pass description.
      	* doc/invoke.texi (-foptimize-register-move, -fregmove): Remove
      	options.
      	(-fdump-rtl-regmove): Ditto.
      	* common.opt (foptimize-register-move, fregmove): Ignore.
      	* Makefile.in (OBJS): Remove regmove.o.
      	* regmove.c: Remove.
      	* ira-int.h (struct ira_allocno_pref, ira_pref_t): New structure
      	and type.
      	(struct ira_allocno) New member allocno_prefs.
      	(ALLOCNO_PREFS): New macro.
      	(ira_prefs, ira_prefs_num): New external vars.
      	(ira_setup_alts, ira_get_dup_out_num, ira_debug_pref): New
      	prototypes.
      	(ira_debug_prefs, ira_debug_allocno_prefs, ira_create_pref):
      	Ditto.
      	(ira_add_allocno_pref, ira_remove_pref, ira_remove_allocno_prefs):
      	Ditto.
      	(ira_add_allocno_copy_to_list): Remove prototype.
      	(ira_swap_allocno_copy_ends_if_necessary): Ditto.
      	(ira_pref_iterator): New type.
      	(ira_pref_iter_init, ira_pref_iter_cond): New functions.
      	(FOR_EACH_PREF): New macro.
      	* ira.c (commutative_constraint_p): Move from ira-conflicts.c.
      	(ira_get_dup_out_num): Ditto. Rename from get_dup_num.  Modify the
      	code.
      	(ira_setup_alts): New function.
      	(decrease_live_ranges_number): New function.
      	(ira): Call the above function.
      	* ira-build.c (ira_prefs, ira_prefs_num): New global vars.
      	(ira_create_allocno): Initialize allocno prefs.
      	(pref_pool, pref_vec): New static vars.
      	(initiate_prefs, find_allocno_pref, ira_create_pref): New
      	functions.
      	(add_allocno_pref_to_list, ira_add_allocno_pref, print_pref): Ditto.
      	(ira_debug_pref, print_prefs, ira_debug_prefs): Ditto.
      	(print_allocno_prefs, ira_debug_allocno_prefs, finish_pref): Ditto.
      	(ira_remove_pref, ira_remove_allocno_prefs, finish_prefs): Ditto.
      	(ira_add_allocno_copy_to_list): Make static.  Rename to
      	add_allocno_copy_to_list.
      	(ira_swap_allocno_copy_ends_if_necessary): Make static.  Rename to
      	swap_allocno_copy_ends_if_necessary.
      	(remove_unnecessary_allocnos, remove_low_level_allocnos): Call
      	ira_remove_allocno_prefs.
      	(ira_flattening): Ditto.
      	(ira_build): Call initiate_prefs, print_prefs.
      	(ira_destroy): Call finish_prefs.
      	* ira-color.c (struct update_cost_record): New.
      	(struct allocno_color_data): Add new member update_cost_records.
      	(update_cost_record_pool): New static var.
      	(init_update_cost_records, get_update_cost_record): New functions.
      	(free_update_cost_record_list, finish_update_cost_records): Ditto.
      	(struct update_cost_queue_elem): Add member from.
      	(initiate_cost_update): Call init_update_cost_records.
      	(finish_cost_update): Call finish_update_cost_records.
      	(queue_update_cost, get_next_update_cost): Add new param from.
      	(Update_allocno_cost, update_costs_from_allocno): New functions.
      	(update_costs_from_prefs): Ditto.
      	(update_copy_costs): Rename to update_costs_from_copies.
      	(restore_costs_from_copies): New function.
      	(update_conflict_hard_regno_costs): Don't go back.
      	(assign_hard_reg): Call restore_costs_from_copies.  Add printing
      	more debug info.
      	(pop_allocnos): Add priniting more debug info.
      	(color_allocnos): Remove prefs for conflicting hard regs.
      	Call update_costs_from_prefs.
      	* ira-conflicts.c (commutative_constraint_p): Move to ira.c
      	(get_dup_num): Rename, modify, and move to ira.c
      	(process_regs_for_copy): Add prefs.
      	(add_insn_allocno_copies): Put src as first arg of
      	process_regs_for_copy.  Remove dead code.  Call ira_setup_alts.
      	* ira-costs.c (record_reg_classes): Modify and move code into
      	record_operands_costs.
      	(find_costs_and_classes): Create prefs for the hard reg of small
      	reg class.
      	(process_bb_node_for_hard_reg_moves): Add prefs.
      
      2013-10-30  Vladimir Makarov  <vmakarov@redhat.com>
      
      	* gcc.target/i386/fma_double_3.c: Use pattern for
      	scan-assembler-times instead of just one insn name.
      	* gcc.target/i386/fma_double_5.c: Ditto.
      	* gcc.target/i386/fma_float_3.c: Ditto.
      	* gcc.target/i386/fma_float_5.c: Ditto.
      	* gcc.target/i386/l_fma_double_1.c: Ditto.
      	* gcc.target/i386/l_fma_double_2.c: Ditto.
      	* gcc.target/i386/l_fma_double_3.c: Ditto.
      	* gcc.target/i386/l_fma_double_4.c: Ditto.
      	* gcc.target/i386/l_fma_double_5.c: Ditto.
      	* gcc.target/i386/l_fma_double_6.c: Ditto.
      	* gcc.target/i386/l_fma_float_1.c: Ditto.
      	* gcc.target/i386/l_fma_float_2.c: Ditto.
      	* gcc.target/i386/l_fma_float_3.c: Ditto.
      	* gcc.target/i386/l_fma_float_4.c: Ditto.
      	* gcc.target/i386/l_fma_float_5.c: Ditto.
      	* gcc.target/i386/l_fma_float_6.c: Ditto.
      
      From-SVN: r204212
      Vladimir Makarov committed
    • re PR rtl-optimization/57100 (ICE: in pre_and_rev_post_order_compute, at… · 1bef9b23
      re PR rtl-optimization/57100 (ICE: in pre_and_rev_post_order_compute, at cfganal.c:869 with -fdump-rtl-pro_and_epilogue-graph)
      
      2013-10-30  Richard Biener  <rguenther@suse.de>
      
      	PR middle-end/57100
      	* basic-block.h (pre_and_rev_post_order_compute_fn): New function.
      	* cfganal.c (pre_and_rev_post_order_compute_fn): New function
      	as worker for ...
      	(pre_and_rev_post_order_compute): ... which now wraps it.
      	* graph.c (draw_cfg_nodes_no_loops): Use
      	pre_and_rev_post_order_compute_fn to avoid ICEing and dependence
      	on cfun.
      
      From-SVN: r204211
      Richard Biener committed
    • sh-mem.cc (sh_expand_cmpnstr): New function. · ca494b8d
      2013-10-30  Christian Bruel  <christian.bruel@st.com>
      
      	* gcc/config/sh/sh-mem.cc (sh_expand_cmpnstr): New function.
      	(sh_expand_cmpstr): Handle known align and schedule improvements.
      	* gcc/config/sh/sh-protos.h (sh_expand_cmpstrn): Declare.
      	* gcc/config/sh/sh.md (cmpstrnsi): New pattern.
      
      From-SVN: r204206
      Christian Bruel committed
    • re PR rtl-optimization/10474 (shrink wrapping for functions) · eb1474c1
      2013-10-30  Martin Jambor  <mjambor@suse.cz>
      
      	PR rtl-optimization/10474
      	* ira.c (find_moveable_pseudos): Do not calculate dominance info
      	nor df analysis.
      	(interesting_dest_for_shprep): New function.
      	(split_live_ranges_for_shrink_wrap): Likewise.
      	(ira): Calculate dominance info and df analysis. Call
      	split_live_ranges_for_shrink_wrap.
      
      testsuite/
      	* gcc.dg/pr10474.c: New testcase.
      	* gcc.dg/ira-shrinkwrap-prep-1.c: Likewise.
      	* gcc.dg/ira-shrinkwrap-prep-2.c: Likewise.
      
      From-SVN: r204205
      Martin Jambor committed
    • re PR target/58854 ("sub sp, fp, #40" hoisted above frame accesses) · 55ebf587
      Fix PR target/58854
      
      2013-10-30  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
      
      	PR target/58854
      	* config/arm/arm.c (arm_expand_epilogue_apcs_frame): Emit blockage.
      
      From-SVN: r204203
      Ramana Radhakrishnan committed
    • Minor tweaks · 34a3fb96
      From-SVN: r204202
      Eric Botcazou committed
    • tree-core.h (tree_index): Add TI_POINTER_BOUNDS_TYPE. · ea9637cd
              * tree-core.h (tree_index): Add TI_POINTER_BOUNDS_TYPE.
              * tree.h (POINTER_BOUNDS_P): New.
              (BOUNDED_TYPE_P): New.
              (BOUNDED_P): New.
              (pointer_bounds_type_node): New.
              * tree.c (build_common_tree_nodes): Initialize
              pointer_bounds_type_node.
              * gimple.h (gimple_call_get_nobnd_arg_index): New.
              (gimple_call_num_nobnd_args): New.
              (gimple_call_nobnd_arg): New.
              (gimple_return_retbnd): New.
              (gimple_return_set_retbnd): New
              * gimple.c (gimple_build_return): Increase number of ops
              for return statement.
              (gimple_call_get_nobnd_arg_index): New.
              * gimple-pretty-print.c (dump_gimple_return): Print second op.
      
      From-SVN: r204199
      Ilya Enkovich committed