aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2012-08-24dwarf2out.c (gen_producer_string): Omit command line switch if ↵Simon Baldwin7-1/+22
CL_NO_DWARF_RECORD flag set. gcc/ChangeLog * dwarf2out.c (gen_producer_string): Omit command line switch if CL_NO_DWARF_RECORD flag set. * opts.h (CL_NO_DWARF_RECORD): New. * opt-functions.awk (switch_flags): Add NoDWARFRecord. * doc/options.texi: Document NoDWARFRecord option flag. gcc/fortran/ChangeLog * lang.opt (-cpp=): Mark flag NoDWARFRecord. From-SVN: r190648
2012-08-24Allow arg_pointer_rtx/frame_pointer_rtx for based_loc_descrH.J. Lu5-1/+35
gcc/ PR debug/52857 * dwarf2out.c (mem_loc_descriptor): Allow arg_pointer_rtx and frame_pointer_rtx for based_loc_descr. gcc/testsuite/ PR debug/52857 * gcc.target/i386/pr52857-1.c: New. * gcc.target/i386/pr52857-2.c: Likewise. From-SVN: r190647
2012-08-24re PR target/54222 ([avr] Implement fixed-point support)Georg-Johann Lay2-5/+10
PR target/54222 * config/avr/t-avr (conv_X): Rename to func_X. From-SVN: r190646
2012-08-24predict.c (maybe_hot_frequency_p): New parameter fun.Martin Jambor13-76/+121
2012-08-24 Martin Jambor <mjambor@suse.cz> * predict.c (maybe_hot_frequency_p): New parameter fun. Use its decl instead of current_function_decl, use profile_status_for_function and ENTRY_BLOCK_PTR_FOR_FUNCTION with fun instead of their cfun variants. (maybe_hot_count_p): New parameter fun, use profile_status_for_function instead of its cfun_variant. (maybe_hot_bb_p): New parameter fun, checking-assert it, pass it to all callees. (maybe_hot_edge_p): Pass cfun to maybe_hot_count_p and maybe_hot_frequency_p. (probably_never_executed_bb_p): New parameter fun, use its decl instead of current_function_decl. (optimize_bb_for_size_p): Pass cfun to maybe_hot_bb_p. (rtl_profile_for_bb): Likewise. (compute_function_frequency): Pass cfun to maybe_hot_bb_p and probably_never_executed_bb_p. * tree-ssa-operands.c (ssa_operands_active): New operator fun. Use it instead of cfun. (update_stmt_operands): Pass cfun as an argument of ssa_operands_active. (swap_tree_operands): Likewise. * gimple-iterator.c (update_modified_stmt): Likewise. (update_modified_stmts): Likewise. * tree-flow-inline.h (delink_stmt_imm_use): Likewise. * tree-ssa.c (delete_tree_ssa): Likewise. * bb-reorder.c (bb_to_key): Pass cfun to probably_never_executed_bb_p. (push_to_next_round_p): Likewise. (find_rarely_executed_basic_blocks_and_crossing_edges ): Likewise. * cfg.c: Inlude tree.h. (check_bb_profile): Use profile_status_for_function, EXIT_BLOCK_PTR_FOR_FUNCTION and ENTRY_BLOCK_PTR_FOR_FUNCTION with DECL_STRUCT_FUNCTION (current_function_decl) instead of their cfun variants. (dump_bb_info): Pass DECL_STRUCT_FUNCTION (current_function_decl) to maybe_hot_bb_p and probably_never_executed_bb_p. * gimple-pretty-print.c (gimple_dump_bb_buff): Checking-assert that DECL_STRUCT_FUNCTION (current_function_decl) is not NULL. Pass it to dump_histograms_for_stmt. (dump_gimple_mem_ops): Pass DECL_STRUCT_FUNCTION (current_function_decl) as an argument to dump_gimple_mem_ops. * tree-cfg.c (dump_function_to_file): Rename parameter fn to fndecl. Do not change cfun. Change and restore current_function_decl. * Makefile.in (cfg.o): Include TREE_H in dependencies. From-SVN: r190645
2012-08-24re PR target/54222 ([avr] Implement fixed-point support)Georg-Johann Lay15-680/+3049
libgcc/ PR target/54222 * config/avr/lib1funcs-fixed.S: New file. * config/avr/lib1funcs.S: Include it. Undefine some divmodsi after they are used. (neg2, neg4): New macros. (__mulqihi3,__umulqihi3,__mulhi3): Rewrite non-MUL variants. (__mulhisi3,__umulhisi3,__mulsi3): Rewrite non-MUL variants. (__umulhisi3): Speed up MUL variant if there is enough flash. * config/avr/avr-lib.h (TA, UTA): Adjust according to gcc's avr-modes.def. * config/avr/t-avr (LIB1ASMFUNCS): Add: _fractqqsf, _fractuqqsf, _fracthqsf, _fractuhqsf, _fracthasf, _fractuhasf, _fractsasf, _fractusasf, _fractsfqq, _fractsfuqq, _fractsfhq, _fractsfuhq, _fractsfha, _fractsfsa, _mulqq3, _muluqq3, _mulhq3, _muluhq3, _mulha3, _muluha3, _mulsa3, _mulusa3, _divqq3, _udivuqq3, _divhq3, _udivuhq3, _divha3, _udivuha3, _divsa3, _udivusa3. (LIB2FUNCS_EXCLUDE): Add supported functions. gcc/ PR target/54222 * avr-modes.def (HA, SA, DA, TA, UTA): Adjust modes. * avr/avr-fixed.md: New file. * avr/avr.md: Include it. (cc): Add: minus. (adjust_len): Add: minus, minus64, ufract, sfract. (ALL1, ALL2, ALL4, ORDERED234): New mode iterators. (MOVMODE): Add: QQ, UQQ, HQ, UHQ, HA, UHA, SQ, USQ, SA, USA. (MPUSH): Add: HQ, UHQ, HA, UHA, SQ, USQ, SA, USA. (pushqi1, xload8_A, xload_8, movqi_insn, *reload_inqi, addqi3, subqi3, ashlqi3, *ashlqi3, ashrqi3, lshrqi3, *lshrqi3, *cmpqi, cbranchqi4, *cpse.eq): Generalize to handle all 8-bit modes in ALL1. (*movhi, reload_inhi, addhi3, *addhi3, addhi3_clobber, subhi3, ashlhi3, *ashlhi3_const, ashrhi3, *ashirhi3_const, lshrhi3, *lshrhi3_const, *cmphi, cbranchhi4): Generalize to handle all 16-bit modes in ALL2. (subhi3, casesi, strlenhi): Add clobber when expanding minus:HI. (*movsi, *reload_insi, addsi3, subsi3, ashlsi3, *ashlsi3_const, ashrsi3, *ashrhi3_const, *ashrsi3_const, lshrsi3, *lshrsi3_const, *reversed_tstsi, *cmpsi, cbranchsi4): Generalize to handle all 32-bit modes in ALL4. * avr-dimode.md (ALL8): New mode iterator. (adddi3, adddi3_insn, adddi3_const_insn, subdi3, subdi3_insn, subdi3_const_insn, cbranchdi4, compare_di2, compare_const_di2, ashrdi3, lshrdi3, rotldi3, ashldi3_insn, ashrdi3_insn, lshrdi3_insn, rotldi3_insn): Generalize to handle all 64-bit modes in ALL8. * config/avr/avr-protos.h (avr_to_int_mode): New prototype. (avr_out_fract, avr_out_minus, avr_out_minus64): New prototypes. * config/avr/avr.c (TARGET_FIXED_POINT_SUPPORTED_P): Define to... (avr_fixed_point_supported_p): ...this new static function. (TARGET_BUILD_BUILTIN_VA_LIST): Define to... (avr_build_builtin_va_list): ...this new static function. (avr_adjust_type_node): New static function. (avr_scalar_mode_supported_p): Allow if ALL_FIXED_POINT_MODE_P. (avr_builtin_setjmp_frame_value): Use gen_subhi3 and return new pseudo instead of gen_rtx_MINUS. (avr_print_operand, avr_operand_rtx_cost): Handle: CONST_FIXED. (notice_update_cc): Handle: CC_MINUS. (output_movqi): Generalize to handle respective fixed-point modes. (output_movhi, output_movsisf, avr_2word_insn_p): Ditto. (avr_out_compare, avr_out_plus_1): Also handle fixed-point modes. (avr_assemble_integer): Ditto. (output_reload_in_const, output_reload_insisf): Ditto. (avr_compare_pattern): Skip all modes > 4 bytes. (avr_2word_insn_p): Skip movuqq_insn, movqq_insn. (avr_out_fract, avr_out_minus, avr_out_minus64): New functions. (avr_to_int_mode): New function. (adjust_insn_length): Handle: ADJUST_LEN_SFRACT, ADJUST_LEN_UFRACT, ADJUST_LEN_MINUS, ADJUST_LEN_MINUS64. * config/avr/predicates.md (const0_operand): Allow const_fixed. (const_operand, const_or_immediate_operand): New. (nonmemory_or_const_operand): New. * config/avr/constraints.md (Ynn, Y00, Y01, Y02, Ym1, Ym2, YIJ): New constraints. * config/avr/avr.h (LONG_LONG_ACCUM_TYPE_SIZE): Define. From-SVN: r190644
2012-08-24re PR fortran/54350 (FAIL: gfortran.dg/realloc_on_assign_*.f90 -O ↵Tobias Burnus7-229/+213
(internal compiler error) at r190586) 2012-08-24 Tobias Burnus <burnus@net-b.de> PR fortran/54350 * trans-array.c (free_ss_info): Free data.array.subscript. (gfc_free_ss): No longer free data.array.subscript. (walk_coarray): New function, moved from trans-intrinsic.c (gfc_conv_expr_descriptor): Walk array descriptor instead of taking passed "ss". (get_array_ctor_all_strlen, gfc_add_loop_ss_code, gfc_conv_array_parameter): Update call and cleanup ss handling. * trans-array.h (gfc_conv_expr_descriptor, gfc_conv_array_parameter): Update prototype. * trans-expr.c (gfc_conv_derived_to_class, conv_isocbinding_procedure, gfc_conv_procedure_call, gfc_trans_alloc_subarray_assign, gfc_trans_subcomponent_assign, gfc_trans_pointer_assignment, gfc_trans_arrayfunc_assign): Update call to gfc_conv_expr_descriptor and gfc_conv_array_parameter, and clean up. * trans-intrinsic.c (walk_coarray): Moved to trans-array.c (trans_this_image, trans_image_index, gfc_conv_intrinsic_rank gfc_conv_intrinsic_bound, gfc_conv_intrinsic_cobound, gfc_conv_intrinsic_len, gfc_conv_intrinsic_size, gfc_conv_intrinsic_sizeof, gfc_conv_intrinsic_storage_size, gfc_conv_intrinsic_transfer, gfc_conv_allocated, gfc_conv_associated, gfc_conv_intrinsic_loc, conv_intrinsic_move_alloc): Update calls. * trans-io.c (gfc_convert_array_to_string, set_internal_unit, gfc_trans_transfer): Ditto. * trans-stmt.c (gfc_conv_elemental_dependencies, gfc_trans_sync, trans_associate_var, gfc_trans_pointer_assign_need_temp): Ditto. From-SVN: r190641
2012-08-24Daily bump.GCC Administrator1-1/+1
From-SVN: r190636
2012-08-23code-readable-4.c: New test.Richard Sandiford2-0/+38
gcc/testsuite/ * gcc.target/mips/code-readable-4.c: New test. From-SVN: r190630
2012-08-23alias.c (rtx_equal_for_memref_p): Convert constant cases.Kenneth Zadeck25-226/+121
2012-08-23 Kenneth Zadeck <zadeck@naturalbridge.com> * alias.c (rtx_equal_for_memref_p): Convert constant cases. * combine.c (find_single_use_1, mark_used_regs_combine): Convert to CASE_CONST_ANY. * cse.c (exp_equiv_p, canon_reg, fold_rtx, cse_process_notes_1, count_reg_usage): Convert constant cases. * cselib.c (cselib_expand_value_rtx_1): Convert to CASE_CONST_ANY. (cselib_subst_to_values): Convert constant cases. * df-scan.c (df_uses_record): Ditto. * dse.c (const_or_frame_p): Convert case statements to explicit if-then-else using mode classes. * emit-rtl.c (verify_rtx_sharing, copy_insn_1): Convert constant cases. * explow.c (convert_memory_address_addr_space): Ditto. * gcse.c (want_to_gcse_p, oprs_unchanged_p, compute_transp): Ditto. * genattrtab.c (attr_copy_rtx, clear_struct_flag): Ditto. * ira.c (equiv_init_varies_p, contains_replace_regs, memref_referenced_p, rtx_moveable_p): Ditto. * jump.c (mark_jump_label_1): Remove constant cases. (rtx_renumbered_equal_p): Convert to CASE_CONST_UNIQUE. * loop-invariant.c (check_maybe_invariant, hash_invariant_expr_1, invariant_expr_equal_p): Convert to CASE_CONST_ANY. * postreload-gcse.c (oprs_unchanged_p): Convert constant cases. * reginfo.c (reg_scan_mark_refs): Ditto. * regrename.c (scan_rtx): Ditto. * reload1.c (eliminate_regs_1, elimination_effects, scan_paradoxical_subregs): Ditto. * reload.c (operands_match_p, subst_reg_equivs): Ditto. * resource.c (mark_referenced_resources, mark_set_resources): Ditto. * rtlanal.c (rtx_unstable_p, rtx_varies_p, count_occurrences) (reg_mentioned_p, modified_between_p, modified_in_p) (volatile_insn_p, volatile_refs_p, side_effects_p, may_trap_p_1, inequality_comparisons_p, computed_jump_p_1): Ditto. * rtl.c (copy_rtx, rtx_equal_p_cb, rtx_equal_p): Ditto. * sched-deps.c (sched_analyze_2): Ditto. * valtrack.c (cleanup_auto_inc_dec): Ditto. * rtl.h: (CASE_CONST_SCALAR_INT, CASE_CONST_UNIQUE, CASE_CONST_ANY): New macros. From-SVN: r190627
2012-08-23* decl.c (compute_array_index_type): Use type_dependent_expression_p.Jason Merrill3-9/+12
From-SVN: r190626
2012-08-232012-08-23 Julian Brown <julian@codesourcery.com>Julian Brown6-14/+136
Sandra Loosemore <sandra@codesourcery.com> gcc/ * config/mips/mips.md (UNSPEC_CASESI_DISPATCH): New. (MIPS16_T_REGNUM): New constant. (tablejump): Don't use for MIPS16_SHORT_JUMP_TABLES. (casesi): New. (casesi_internal_mips16_<mode>): New. * config/mips/mips.c (mips16_split_long_branches): Adjust test to ignore casesi jump tables. * config/mips/mips.h (TARGET_MIPS16_SHORT_JUMP_TABLES): Update comment. (CASE_VECTOR_MODE): Use SImode unconditionally. (CASE_VECTOR_SHORTEN_MODE): Define. (ASM_OUTPUT_ADDR_DIFF_ELT): Output word-sized addr_diff_elts when necessary for MIPS16_SHORT_JUMP_TABLES. gcc/testsuite/ * gcc.target/mips/code-readable-1.c: Add -O to options. Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com> From-SVN: r190625
2012-08-23Makefile.in (fixed-funcs,fixed-conv-funcs): filter-out LIB2FUNCS_EXCLUDE ↵Georg-Johann Lay3-4/+14
before adding them to libgcc-objects, libgcc-s-objects. * Makefile.in (fixed-funcs,fixed-conv-funcs): filter-out LIB2FUNCS_EXCLUDE before adding them to libgcc-objects, libgcc-s-objects. * fixed-obj.mk: Only expand dependency if $o is not in LIB2FUNCS_EXCLUDE. From-SVN: r190624
2012-08-23c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only for ↵Arnaud Charlet2-8/+32
pointers, and add missing Convention C pragma. * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only for pointers, and add missing Convention C pragma. (print_ada_struct_decl): Add missing aliased keyword. (dump_ads): Add pragma Ada_2005 and Style_Checks (Off). From-SVN: r190623
2012-08-23rs6000.c (rs6000_density_test): Free loop body.Bill Schmidt2-0/+5
2012-08-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com> * config/rs6000/rs6000.c (rs6000_density_test): Free loop body. From-SVN: r190622
2012-08-23Add -da and remove -dm in GCC manualH.J. Lu2-6/+8
PR driver/54335 * doc/invoke.texi: Add -da and remove -dm. From-SVN: r190621
2012-08-23tree-vect-stmts.c (vect_finish_stmt_generation): Update virtual SSA form.Richard Guenther2-0/+31
2012-08-23 Richard Guenther <rguenther@suse.de> * tree-vect-stmts.c (vect_finish_stmt_generation): Update virtual SSA form. From-SVN: r190620
2012-08-23tree.c (copy_node_stat): Clear DECL_STRUCT_FUNCTION.Jakub Jelinek4-4/+16
* tree.c (copy_node_stat): Clear DECL_STRUCT_FUNCTION. fortran/ * trans-decl.c (trans_function_start, generate_coarray_init, create_main_function, gfc_generate_constructors): Call allocate_struct_function instead of init_function_start. From-SVN: r190619
2012-08-23re PR c++/20420 (Incorrectly Accepts double declarations)Paolo Carlini4-2/+77
/cp 2012-08-23 Paolo Carlini <paolo.carlini@oracle.com> PR c++/20420 * name-lookup.c (supplement_binding_1): Handle specially enums only in class templates. (validate_nonmember_using_decl): Enforce 7.3.3/10 about duplicate using declarations at function scope. /testsuite 2012-08-23 Paolo Carlini <paolo.carlini@oracle.com> PR c++/20420 * g++.dg/lookup/using53.C: New. From-SVN: r190618
2012-08-23Fix typo in gty.texi.Mingjie Xing2-1/+5
From-SVN: r190617
2012-08-23re PR libstdc++/54354 (TODO extended iomanip manipulators std::get_time and ↵Jonathan Wakely52-235/+256
std::put_time (C++11, section 27.7.5)) PR libstdc++/54354 * doc/xml/manual/status_cxx2011.xml: Note missing manipulators. * doc/html/*: Regenerate. From-SVN: r190616
2012-08-23convert.c: Split into manageable parts:Georg-Johann Lay12-82/+262
* gcc.dg/fixed-point/convert.c: Split into manageable parts: * gcc.dg/fixed-point/convert-1.c: New. * gcc.dg/fixed-point/convert-2.c: New. * gcc.dg/fixed-point/convert-3.c: New. * gcc.dg/fixed-point/convert-4.c: New. * gcc.dg/fixed-point/convert-float-1.c: New. * gcc.dg/fixed-point/convert-float-2.c: New. * gcc.dg/fixed-point/convert-float-3.c: New. * gcc.dg/fixed-point/convert-float-4.c: New. * gcc.dg/fixed-point/convert-accum-neg.c: New. * gcc.dg/fixed-point/convert-sat.c: New. * gcc.dg/fixed-point/convert.h: New. From-SVN: r190615
2012-08-23tree-ssa-loop-manip.c (add_exit_phis_var): Allow virtual operands.Richard Guenther2-10/+14
2012-08-23 Richard Guenther <rguenther@suse.de> * tree-ssa-loop-manip.c (add_exit_phis_var): Allow virtual operands. (find_uses_to_rename_use): Likewise. (find_uses_to_rename_bb): Likewise. (find_uses_to_rename_stmt): Walk over all operands. From-SVN: r190614
2012-08-23compiler: Comparisons return untyped boolean value.Ian Lance Taylor3-18/+35
From-SVN: r190612
2012-08-23compiler: Remove old handling of unsafe.Pointer in type assertions.Ian Lance Taylor2-34/+3
Fixes issue 17. From-SVN: r190608
2012-08-23Daily bump.GCC Administrator1-1/+1
From-SVN: r190607
2012-08-22re PR target/54089 ([SH] Refactor shift patterns)Oleg Endo6-65/+233
PR target/54089 * config/sh/predicates (p27_rshift_count_operand, not_p27_rshift_count_operand): New predicates. * config/sh/sh.c (sh_ashlsi_clobbers_t_reg_p, sh_lshrsi_clobbers_t_reg_p, sh_dynamicalize_shift_p): Handle special case when shift amount is 31. (gen_ashift): Emit gen_shlr instead of gen_lshrsi3_m. * config/sh/sh.md (ashlsi3_d): Set type to 'dyn_shift' instead of 'arith'. (ashlsi_c): Rename to shll. Adapt calls to gen_ashlsi_c throughout the file. (lshrsi3): Remove clobber from expander. Use shift_count_operand instead of nonmemory_operand predicate for second operand. Add handling of case lshrsi3_n_clobbers_t. (lshrsi3_k): Use p27_rshift_count_operand for second operand. (lshrsi3_d): Make insn_and_split. Split dynamic shift to constant shift sequences if beneficial. (lshrsi3_n): Make insn_and_split. Split constant shift sequence to dynamic shift if beneficial. (lshrsi3_n_clobbers_t): New insn_and_split. (lshrsi3_m): Delete. PR target/54089 * gcc.target/sh/pr54089-2.c: New. From-SVN: r190603
2012-08-22tracer.c (mark_bb_seen): Use SBITMAP_SIZE.Steven Bosscher3-63/+89
* tracer.c (mark_bb_seen): Use SBITMAP_SIZE. * alias.c (MAX_ALIAS_LOOP_PASSES): Update comment with rationale, or rather a lack thereof. (init_alias_analysis): Propagate the latest information across the CFG in topological order to propagate as far as possible in each iteration. Ignore debug insns. From-SVN: r190602
2012-08-22Add -mlong-double-64/-mlong-double-80 to i386H.J. Lu20-3/+196
gcc/ * doc/invoke.texi: Document -mlong-double-64/-mlong-double-80. * config/i386/i386.c (flag_opts): Add -mlong-double-64. (TARGET_HAS_BIONIC): Default long double to 64-bit for Bionic. * config/i386/i386.h (LONG_DOUBLE_TYPE_SIZE): Use 64 if TARGET_LONG_DOUBLE_64 is true. (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): New macro. (WIDEST_HARDWARE_FP_SIZE): Defined to 80. * config/i386/i386.opt (mlong-double-80): New option. (mlong-double-64): Likewise. * config/i386/i386-c.c (ix86_target_macros): Define __LONG_DOUBLE_64__ for TARGET_LONG_DOUBLE_64. gcc/testsuite/ * gcc.target/i386/long-double-64-1.c: New file. * gcc.target/i386/long-double-64-2.c: Likewise. * gcc.target/i386/long-double-64-3.c: Likewise. * gcc.target/i386/long-double-64-4.c: Likewise. * gcc.target/i386/long-double-80-1.c: Likewise. * gcc.target/i386/long-double-80-2.c: Likewise. * gcc.target/i386/long-double-80-3.c: Likewise. * gcc.target/i386/long-double-80-4.c: Likewise. * gcc.target/i386/long-double-80-5.c: Likewise. * gcc.target/i386/long-double-80-6.c: Likewise. * gcc.target/i386/long-double-80-7.c: Likewise. libgcc/ * config/i386/t-linux (HOST_LIBGCC2_CFLAGS): New. From-SVN: r190599
2012-08-22Replace REAL_VALUE_TO_TARGET_LONG_DOUBLE with real_to_targetH.J. Lu2-1/+9
PR target/54347 * config/i386/i386.c (ix86_split_to_parts): Replace REAL_VALUE_TO_TARGET_LONG_DOUBLE with real_to_target. From-SVN: r190598
2012-08-22tree-vectorizer.c (vectorize_loops): Do not call ↵Richard Guenther3-8/+7
mark_virtual_operands_for_renaming. 2012-08-22 Richard Guenther <rguenther@suse.de> * tree-vectorizer.c (vectorize_loops): Do not call mark_virtual_operands_for_renaming. * tree-vect-slp.c (vect_slp_transform_bb): Likewise. Do not update SSA form here. From-SVN: r190596
2012-08-22Make TREE_NOTHROW use the base.nothrow_flag againDodji Seketeli2-1/+5
While working on something else, I noticed that debug_tree (vec), when vec is a TREE_VEC was crashing because TREE_NOTHROW was asserting that its argument is not a TREE_VEC, so print_node would crash. It turned out that TREE_NOTHROW was accidentally modified by this change set: commit 87d8f7b67c6a36c37e48e298f26e693520099b1e Author: rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> Date: Tue Aug 21 10:03:38 2012 +0000 2012-08-21 Richard Guenther <rguenther@suse.de> cp/ * cp-tree.h (TREE_INDIRECT_USING): Use TREE_LANG_FLAG_0 accessor. (ATTR_IS_DEPENDENT): Likewise. (ARGUMENT_PACK_INCOMPLETE_P): Use TREE_ADDRESSABLE instead of TREE_LANG_FLAG_0 on TREE_VECs. * tree.h (struct tree_base): Add union to make it possible to re-use the upper 4 bytes for tree codes that do not need as many flags as others. Move visited and default_def_flag to common bits section in exchange for saturating_flag and unsigned_flag. Add SSA name version and tree vec length fields here. (struct tree_vec): Remove length field here. (struct tree_ssa_name): Remove version field here. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190558 138bc75d-0d04-0410-961f-82ee72b054a4 Richard Guenther pre-approved the reverting of the TREE_NOTHROW change line. Tested on x86_64-unknown-linux-gnu against master and applied to trunk. gcc/ * tree.h (TREE_NOTHROW): Use the base.nothrow_flag. From-SVN: r190595
2012-08-22re PR tree-optimization/46590 (long compile time with -O2 and many loops)Richard Guenther7-20/+87
2012-08-22 Richard Guenther <rguenther@suse.de> PR tree-optimization/46590 * tree-ssa-alias.h (get_continuation_for_phi): Add alias query counter output argument. (walk_non_aliased_vuses): Add alias query counter argument to the walker callback. * tree-ssa-alias.c (maybe_skip_until): Add alias query counter output argument and count alias queries. (get_continuation_for_phi_1): Likewise. (get_continuation_for_phi): Likewise. (walk_non_aliased_vuses): Add alias query counter argument to the walker callback and allow it to abort the walk by returning -1. * tree-ssa-pre.c (translate_vuse_through_block): Adjust. * tree-ssa-sccvn.c (vn_reference_lookup_2): Add alias query counter parmeter, abort walk if that is bigger than --param sccvn-max-alias-queries-per-access. * params.def (sccvn-max-alias-queries-per-access): New param. * doc/invoke.texi (sccvn-max-alias-queries-per-access): Document. From-SVN: r190594
2012-08-22tree-ssa-loop-ch.c (copy_loop_headers): Remove redundant checking.Richard Guenther3-30/+43
2012-08-22 Richard Guenther <rguenther@suse.de> * tree-ssa-loop-ch.c (copy_loop_headers): Remove redundant checking. * tree-into-ssa.c (initialize_flags_in_bb): Use gcc_checking_assert instead of gcc_assert. (mark_block_for_update): Likewise. (add_new_name_mapping): Likewise. (mark_def_sites): Likewise. (insert_phi_nodes_for): Likewise. (rewrite_debug_stmt_uses): Likewise. (rewrite_stmt): Likewise. (maybe_register_def): Likewise. (rewrite_update_phi_arguments): Likewise. (rewrite_update_enter_block): Likewise. (mark_def_interesting): Likewise. (prepare_def_site_for): Likewise. (insert_updated_phi_nodes_for): Likewise. From-SVN: r190593
2012-08-22tree-vect-loop.c (vect_transform_loop): Initialize check_profitability to false.Jakub Jelinek3-1/+11
* tree-vect-loop.c (vect_transform_loop): Initialize check_profitability to false. * tree-predcom.c (try_combine_chains): Free the worklist vector at the end. From-SVN: r190592
2012-08-22re PR tree-optimization/54317 (FAIL: c45532m c45532n c45532o c45532p)Marc Glisse4-3/+41
2012-08-22 Marc Glisse <marc.glisse@inria.fr> PR tree-optimization/54317 gcc/ * tree-vrp.c (extract_range_from_binary_expr_1): Test for double_int overflow. Remove dead tests. gcc/testsuite/ * gcc.dg/tree-ssa/vrp79.c: New testcase. From-SVN: r190591
2012-08-22tree-vrp.c (find_assert_locations): Skip also edges from the entry block.Jakub Jelinek5-4/+21
* tree-vrp.c (find_assert_locations): Skip also edges from the entry block. * tree-vect-loop-manip.c (slpeel_make_loop_iterate_ntimes): Call free_stmt_vec_info on orig_cond after gsi_removing it. * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Always free body_cost_vec vector. (vect_analyze_data_refs): If gather is unsuccessful, free_data_ref (dr). * tree-inline.c (tree_function_versioning): Free old_transforms_to_apply vector. From-SVN: r190590
2012-08-22tree-ssa-coalesce.c (struct ssa_conflicts_d): Make contents of this a VEC ↵Steven Bosscher2-47/+60
and add a bitmap obstack. * tree-ssa-coalesce.c (struct ssa_conflicts_d): Make contents of this a VEC and add a bitmap obstack. (ssa_conflicts_new): Allocate the obstack and grow the VEC cleared to the right size. (ssa_conflicts_delete): Free the VEC and release the obstack. (ssa_conflicts_test_p, ssa_conflicts_test_p, ssa_conflicts_add_one, ssa_conflicts_merge, ssa_conflicts_dump): Update for above changes. (truct live_track_d): Add another bitmap obstack here. (new_live_track): Initialize it and use it for all bitmaps. (delete_live_track): Don't free the bitmaps one at a time, just release the obstack. (create_outofssa_var_map): Fix to conform to GCC code style rules. From-SVN: r190589
2012-08-22Makefile.in (vis_hide, [...]): Do not make definitions depend on ↵Joseph Myers3-14/+22
--enable-shared. * Makefile.in (vis_hide, gen-hide-list): Do not make definitions depend on --enable-shared. ($(lib1asmfuncs-o)): Use %.vis files independent of --enable-shared. * static-object.mk ($(base)$(objext), $(base).vis) ($(base)_s$(objext)): Use same rules for visibility handling as in shared-object.mk. From-SVN: r190588
2012-08-22trans-expr.c (gfc_copy_class_to_class, [...]): Free loop and ss data.Tobias Burnus3-0/+10
2012-08-22 Tobias Burnus <burnus@net-b.de> * trans-expr.c (gfc_copy_class_to_class, gfc_trans_arrayfunc_assign): Free loop and ss data. * trans-intrinsic.c (gfc_trans_arrayfunc_assign): Free ss data. From-SVN: r190586
2012-08-22constraints.md: New file.Nathan Froyd7-303/+318
* config/m32c/constraints.md: New file. * config/m32c/t-m32c (MD_FILES): Add constraints. * config/m32c/m32c-protos.h (m32c_const_ok_for_constraint_p): Delete. (m32c_extra_address_constraint, m32c_extra_memory_constraint): Delete. (m32c_reg_class_from_constraint): Delete. (m32c_extra_constraint_p, m32c_extra_constraint_p2): Delete. (m32c_matches_constraint_p): Declare. * config/m32c/m32c.h (CONSTRAINT_LEN): Delete. (REG_CLASS_FROM_CONSTRAINT): Delete. (CONST_OK_FOR_CONSTRAINT_P): Delete. (CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Delete. (EXTRA_CONSTRAINT_STR): Delete. (EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT): Delete. * config/m32c/m32c.c: Include tm-constrs.h (m32c_reg_class_from_constraint): Delete. (m32c_const_ok_for_constraint_p): Delete. (m32c_extra_constraint_p2): Rename to... (m32c_matches_constraint_p): ...this. Make it return bool. Tweak formatting. (m32c_extra_constraint_p): Delete. (m32c_extra_address_constraint, m32c_extra_memory_constraint): Delete. (m32c_split_move): Use satisfies_constraint_Ss. * config/m32c/predicates.md (memsym_operand): Use satisfies_constraint_Si. (memimmed_operand): Use satisfies_constraint_Sp. (m32c_psi_scale, m32c_1bit8_operand): Use satisfies_constraint_Ilb. (m32c_1bit16_operand): Use satisfies_constraint_Ilw. (m32c_1mask8_operand): Use satisfies_constraint_ImB. (m32c_1mask16_operand): Use satisfies_constraint_Imw. From-SVN: r190585
2012-08-22mep.h (REG_CLASS_FROM_CONSTRAINT): Delete.Nathan Froyd4-144/+10
* config/mep/mep.h (REG_CLASS_FROM_CONSTRAINT): Delete. (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete. (CONSTRAINT_LEN, EXTRA_CONSTRAINT): Delete. * config/mep/mep.c (mep_reg_class_from_constraint): Delete. (mep_const_ok_for_letter_p, mep_extra_constraint): Delete. * config/mep/mep-protos.h (mep_reg_class_from_constraint): Delete. (mep_const_ok_for_letter_p, mep_extra_constraint): Delete. From-SVN: r190584
2012-08-22Daily bump.GCC Administrator1-1/+1
From-SVN: r190583
2012-08-21sh.md (cmpeqdi_t, [...]): Convert to multi-line asm output strings.Oleg Endo2-134/+351
* config/sh/sh.md (cmpeqdi_t, cmpgtdi_t, cmpgedi_t, cmpgeudi_t, cmpgtudi_t, *movsicc_t_false, *movsicc_t_true, divsi_inv20, negsi_cond, truncdihi2, ic_invalidate_line_i, ic_invalidate_line_sh4a, ic_invalidate_line_media, movdf_i4, calli_pcrel, call_valuei, call_valuei_pcrel, sibcalli_pcrel, sibcall_compact, sibcall_valuei_pcrel, sibcall_value_compact, casesi_worker_1, casesi_worker_2, bandreg_m2a, borreg_m2a, bxorreg_m2a, sp_switch_1, sp_switch_2, stack_protect_set_si, stack_protect_set_si_media, stack_protect_set_di_media, stack_protect_test_si, stack_protect_test_si_media, stack_protect_test_di_media): Convert to multi-line asm output strings. (divsi_inv_qitable, divsi_inv_hitable): Use single-alternative asm output. (*andsi3_bclr, rotldi3_mextr, rotrdi3_mextr, calli, call_valuei_tbr_rel, movml_push_banked, movml_pop_banked, bclr_m2a, bclrmem_m2a, bset_m2a, bsetmem_m2a, bst_m2a, bld_m2a, bldsign_m2a, bld_reg, *bld_regqi, band_m2a, bor_m2a, bxor_m2a, mextr_rl, *mextr_lr, ): Use tab char instead of '\\t'. (iordi3): Use braced string. (*movsi_pop): Use tab chars instead of spaces. From-SVN: r190580
2012-08-21re PR target/39423 ([SH] performance regression: lost mov @(disp,Rn))Oleg Endo4-5/+52
PR target/39423 * config/sh/sh.md (*movhi_index_disp): Add support for SH2A movu.w insn. PR target/39423 * gcc.target/sh/pr39423-2.c: New. From-SVN: r190579
2012-08-21Restore df_free_collection_rec call in df_bb_verifyH.J. Lu3-15/+12
PR middle-end/54332 * df-scan.c (df_bb_verify): Restore df_free_collection_rec call inside the insn traversal loop. * vec.h (vec_reserve): Remove the stack allocation check. From-SVN: r190576
2012-08-21parse.c (parse_contained): Include EXEC_END_PROCEDURE in ns->code to make ↵Tobias Burnus2-0/+6
sure the gfc_code is freed. 2012-08-21 Tobias Burnus <burnus@net-b.de> * parse.c (parse_contained): Include EXEC_END_PROCEDURE in ns->code to make sure the gfc_code is freed. From-SVN: r190575
2012-08-21morestack.S (__morestack_non_split): Increase amount of space allocated for ↵Ian Lance Taylor2-4/+14
non-split code stack. * config/i386/morestack.S (__morestack_non_split): Increase amount of space allocated for non-split code stack. From-SVN: r190574
2012-08-21fold-const.c (fold_ternary_loc): Detect identity permutations.Marc Glisse6-4/+185
2012-08-21 Marc Glisse <marc.glisse@inria.fr> gcc/ * fold-const.c (fold_ternary_loc): Detect identity permutations. Canonicalize permutations more. * tree-ssa-forwprop.c (is_combined_permutation_identity): New function. (simplify_permutation): Likewise. (ssa_forward_propagate_and_combine): Call it. gcc/testsuite/ * gcc.dg/tree-ssa/forwprop-19.c: New testcase. * gcc.dg/fold-perm.c: Likewise. From-SVN: r190561
2012-08-21tree-ssa-loop-im.c (tree_ssa_lim_finalize): Properly free the affine ↵Richard Guenther4-13/+35
expansion cache. 2012-08-21 Richard Guenther <rguenther@suse.de> * tree-ssa-loop-im.c (tree_ssa_lim_finalize): Properly free the affine expansion cache. * tree-ssa-dom.c (free_expr_hash_elt_contents): New function, split out from ... (free_expr_hash_elt): ... this one. (record_cond): Properly free a not needed hashtable element. (lookup_avail_expr): Likewise. * tree-into-ssa.c (init_ssa_renamer): Specify a free function for the var_infos hashtable. (update_ssa): Likewise. From-SVN: r190560
2012-08-21alloc-pool.c (pool_alloc): Fix valgrind annotation.Richard Guenther3-3/+19
2012-08-21 Richard Guenther <rguenther@suse.de> * alloc-pool.c (pool_alloc): Fix valgrind annotation. * tree.h: Fix typo and complete flags documentation. From-SVN: r190559