1. 31 Oct, 2013 10 commits
  2. 30 Oct, 2013 30 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
    • ipa.c (cgraph_build_static_cdtor_1): Support contructors with "chkp ctor" and… · 0038da66
      ipa.c (cgraph_build_static_cdtor_1): Support contructors with "chkp ctor" and "bnd_legacy" attributes.
      
              * ipa.c (cgraph_build_static_cdtor_1): Support contructors
              with "chkp ctor" and "bnd_legacy" attributes.
              * gimplify.c (gimplify_init_constructor): Avoid infinite
              loop during gimplification of bounds initializer.
      
      From-SVN: r204198
      Ilya Enkovich committed
    • c-common.c (handle_bnd_variable_size_attribute): New. · 2017035a
              * c-family/c-common.c (handle_bnd_variable_size_attribute): New.
              (handle_bnd_legacy): New.
              (c_common_attribute_table): Add bnd_variable_size and bnd_legacy.
              * doc/extend.texi: Document bnd_variable_size and bnd_legacy
              attributes.
      
      From-SVN: r204197
      Ilya Enkovich committed
    • builtin-types.def (BT_FN_VOID_CONST_PTR): New. · 109719eb
              * builtin-types.def (BT_FN_VOID_CONST_PTR): New.
              (BT_FN_PTR_CONST_PTR): New.
              (BT_FN_CONST_PTR_CONST_PTR): New.
              (BT_FN_PTR_CONST_PTR_SIZE): New.
              (BT_FN_PTR_CONST_PTR_CONST_PTR): New.
              (BT_FN_VOID_PTRPTR_CONST_PTR): New.
              (BT_FN_VOID_CONST_PTR_SIZE): New.
              (BT_FN_PTR_CONST_PTR_CONST_PTR_SIZE): New.
              * chkp-builtins.def: New.
              * builtins.def: include chkp-builtins.def.
              (DEF_CHKP_BUILTIN): New.
              * builtins.c (expand_builtin): Support BUILT_IN_CHKP_INIT_PTR_BOUNDS,
              BUILT_IN_CHKP_NULL_PTR_BOUNDS, BUILT_IN_CHKP_COPY_PTR_BOUNDS,
              BUILT_IN_CHKP_CHECK_PTR_LBOUNDS, BUILT_IN_CHKP_CHECK_PTR_UBOUNDS,
              BUILT_IN_CHKP_CHECK_PTR_BOUNDS, BUILT_IN_CHKP_SET_PTR_BOUNDS,
              BUILT_IN_CHKP_NARROW_PTR_BOUNDS, BUILT_IN_CHKP_STORE_PTR_BOUNDS,
              BUILT_IN_CHKP_GET_PTR_LBOUND, BUILT_IN_CHKP_GET_PTR_UBOUND,
              BUILT_IN_CHKP_BNDMK, BUILT_IN_CHKP_BNDSTX, BUILT_IN_CHKP_BNDCL,
              BUILT_IN_CHKP_BNDCU, BUILT_IN_CHKP_BNDLDX, BUILT_IN_CHKP_BNDRET,
              BUILT_IN_CHKP_INTERSECT, BUILT_IN_CHKP_ARG_BND, BUILT_IN_CHKP_NARROW,
              BUILT_IN_CHKP_EXTRACT_LOWER, BUILT_IN_CHKP_EXTRACT_UPPER.
              * common.opt (fcheck-pointer-bounds): New.
              * toplev.c (process_options): Check Pointer Bounds Checker is supported.
              * doc/extend.texi: Document Pointer Bounds Checker built-in functions.
      
      From-SVN: r204196
      Ilya Enkovich committed
    • target.def (builtin_chkp_function): New. · f481a2ce
              * target.def (builtin_chkp_function): New.
              (chkp_bound_type): New.
              (chkp_bound_mode): New.
              (fn_abi_va_list_bounds_size): New.
              (load_bounds_for_arg): New.
              (store_bounds_for_arg): New.
              * targhooks.h (default_load_bounds_for_arg): New.
              (default_store_bounds_for_arg): New.
              (default_fn_abi_va_list_bounds_size): New.
              (default_chkp_bound_type): New.
              (default_chkp_bound_mode): New.
              (default_builtin_chkp_function): New.
              * targhooks.c (default_load_bounds_for_arg): New.
              (default_store_bounds_for_arg): New.
              (default_fn_abi_va_list_bounds_size): New.
              (default_chkp_bound_type): New.
              (default_chkp_bound_mode); New.
              (default_builtin_chkp_function): New.
              * doc/tm.texi.in (TARGET_FN_ABI_VA_LIST_BOUNDS_SIZE): New.
              (TARGET_LOAD_BOUNDS_FOR_ARG): New.
              (TARGET_STORE_BOUNDS_FOR_ARG): New.
              (TARGET_BUILTIN_CHKP_FUNCTION): New.
              (TARGET_CHKP_BOUND_TYPE): New.
              (TARGET_CHKP_BOUND_MODE): New.
              * doc/tm.texi: Regenerated.
              * langhooks.h (lang_hooks): Add chkp_supported field.
              * langhooks-def.h (LANG_HOOKS_CHKP_SUPPORTED): New.
              (LANG_HOOKS_INITIALIZER); Add LANG_HOOKS_CHKP_SUPPORTED.
      
      From-SVN: r204195
      Ilya Enkovich committed
    • tree-ssa-ifcombine.c: Include rtl.h and tm_p.h. · 5d2a9da9
      2013-10-29  Andrew Pinski <apinski@cavium.com>
      
              * tree-ssa-ifcombine.c: Include rtl.h and tm_p.h.
              (ifcombine_ifandif): Handle cases where
              maybe_fold_and_comparisons fails, combining the branches
              anyways.
              (tree_ssa_ifcombine): Inverse the order of
              the basic block walk, increases the number of combinings.
              * gimple.h (gsi_start_nondebug_after_labels_bb): New function.
      
      2013-10-29  Andrew Pinski <apinski@cavium.com>
                  Zhenqiang Chen  <zhenqiang.chen@linaro.org>
      
              * gcc.dg/tree-ssa/ssa-ifcombine-ccmp-1.c: New test case.
              * gcc.dg/tree-ssa/ssa-ifcombine-ccmp-2.c: New test case.
              * gcc.dg/tree-ssa/ssa-ifcombine-ccmp-3.c: New test case.
              * gcc.dg/tree-ssa/ssa-ifcombine-ccmp-4.c: New test case.
              * gcc.dg/tree-ssa/ssa-ifcombine-ccmp-5.c: New test case.
              * gcc.dg/tree-ssa/ssa-ifcombine-ccmp-6.c: New test case.
              * gcc.dg/tree-ssa/phi-opt-9.c: Use a function call to prevent
              conditional move to be used.
              * gcc.dg/tree-ssa/ssa-dom-thread-3.c: Remove.
      
      
      Co-Authored-By: Zhenqiang Chen <zhenqiang.chen@linaro.org>
      
      From-SVN: r204194
      Andrew Pinski committed