- 31 Oct, 2013 15 commits
-
-
* 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. 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. * 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 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 -
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 -
/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 -
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 -
/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 -
/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 -
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 -
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 -
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 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 -
* config/rx/rx.c (ADD_RX_BUILTIN0): New macro, used for builtins that take no arguments. From-SVN: r204239
DJ Delorie committed -
From-SVN: r204238
GCC Administrator committed
-
- 30 Oct, 2013 25 commits
-
-
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 -
+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 -
* testsuite/29_atomics/atomic/operators/pointer_partial_void.cc: Fix and enable VERIFY tests. From-SVN: r204231
Jonathan Wakely committed -
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 -
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 cp_unevaluated_operand. * semantics.c (finish_compound_literal): Don't create a static variable inside cp_unevaluated_operand. From-SVN: r204228
Jason Merrill committed -
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 -
From-SVN: r204226
Jason Merrill committed -
* 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 -
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 -
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 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 -
From-SVN: r204218
Jason Merrill committed -
/ * 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 -
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 -
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 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 -
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 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 -
From-SVN: r204209
Jakub Jelinek committed -
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 -
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 -
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 -
From-SVN: r204202
Eric Botcazou committed -
* 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
-