- 24 Aug, 2004 40 commits
-
-
PR middle-end/17044 * tree-ssa-threadupdate.c (redirection_data): Make static. (thread_block): Use ggc_alloc_cleared to allocate struct redirection_data. Don't free elements in redirection_data. From-SVN: r86519
John David Anglin committed -
From-SVN: r86518
Richard Sandiford committed -
PR tree-optimization/17016 * tree-ssa-loop-niter.c (number_of_iterations_cond, number_of_iterations_exit): Use POINTER_TYPE_P instead of testing for POINTER_TYPE. From-SVN: r86517
Zdenek Dvorak committed -
* tree-ssa-loop-ivcanon.c: New file. * tree-ssa-loop-manip.c (create_iv): New function. * Makefile.in (tree-ssa-loop-ivcanon.o): Add. (tree-ssa-loop.o, tree-ssa-loop-manip.o): Add SCEV_H dependency. * cfgloop.c (mark_single_exit_loops): New function. (verify_loop_structure): Verify single-exit loops. * cfgloop.h (struct loop): Add single_exit field. (LOOPS_HAVE_MARKED_SINGLE_EXITS): New constant. (mark_single_exit_loops): Declare. (tree_num_loop_insns): Declare. * cfgloopmanip.c (update_single_exits_after_duplication): New function. (duplicate_loop_to_header_edge): Use it. * common.opt (fivcanon): New flag. * timevar.def (TV_TREE_LOOP_IVCANON, TV_COMPLETE_UNROLL): New timevars. * tree-cfg.c (tree_find_edge_insert_loc): Return newly created block. (bsi_commit_edge_inserts_1): Pass null to tree_find_edge_insert_loc. (bsi_insert_on_edge_immediate): New function. * tree-flow.h (bsi_insert_on_edge_immediate, canonicalize_induction_variables, tree_unroll_loops_completely, create_iv): Declare. * tree-optimize.c (init_tree_optimization_passes): Add pass_iv_canon and pass_complete_unroll. * tree-pass.h (pass_iv_canon, pass_complete_unroll): Declare. * tree-scalar-evolution.c (get_loop_exit_condition, get_exit_conditions_rec, number_of_iterations_in_loop, scev_initialize): Use single_exit information. * tree-ssa-loop-niter.c (number_of_iterations_cond): Record missing assumptions. (loop_niter_by_eval): Return number of iterations as unsigned int. * tree-ssa-loop.c (tree_ssa_loop_init): Mark single exit loops. (tree_ssa_loop_ivcanon, gate_tree_ssa_loop_ivcanon, pass_iv_canon, tree_complete_unroll, gate_tree_complete_unroll, pass_complete_unroll): New passes. (tree_ssa_loop_done): Call free_numbers_of_iterations_estimates. * tree-ssanames.c (make_ssa_name): Allow creating ssa name before the defining statement is ready. * tree-vectorizer.c (vect_create_iv_simple): Removed. (vect_create_index_for_array_ref, vect_transform_loop_bound): Use create_iv. (vect_transform_loop_bound): Use single_exit information. (vect_analyze_loop_form): Cleanup bogus tests. (vectorize_loops): Do not call flow_loop_scan. * tree.h (may_negate_without_overflow_p): Declare. * fold-const.c (may_negate_without_overflow_p): Split out from ... (negate_expr_p): ... this function. (tree_expr_nonzero_p): Handle overflowed constants correctly. * doc/invoke.texi (-fivcanon): Document. * doc/passes.texi: Document canonical induction variable creation. * gcc.dg/tree-ssa/loop-1.c: New test. From-SVN: r86516
Zdenek Dvorak committed -
* config/mips/mips.h (ISA_HAS_INT_CONDMOVE): Delete. * config/mips/mips.c (print_operand): Fold %B/%b handling into %T/%t, using the mode of the operand to decide between them. * config/mips/mips.md (MOVECC): New mode macro. (ccreg): New mode attribute. (*mov{si,di,sf,df}_on_{cc,si,di}): Name formerly unnamed patterns. Redefine using :GPR and :MOVECC. Use %T and %t for the condition. (mov[sd]icc): Redefine using :GPR. From-SVN: r86515
Richard Sandiford committed -
From-SVN: r86514
Richard Sandiford committed -
From-SVN: r86513
Richard Sandiford committed -
* arm.md: Include predicates.md. * predicates.md: New file. * arm.c (s_register_operand, arm_hard_register_operand) (arm_general_register_operand, f_register_operand, reg_or_int_operand) (arm_immediate_operand, arm_neg_immediate_operand) (arm_not_immediate_operand, arm_rhs_operand, arm_rhsm_operand) (arm_add_operand, arm_addimm_operand, arm_not_operand) (offsettable_memory_operand, alignable_memory_operand) (arm_reload_memory_operand, arm_float_rhs_operand) (arm_float_add_operand, vfp_compare_operand, arm_float_compare_operand) (index_operand, shiftable_operator, logical_binary_operator) (shift_operator, equality_operator, arm_comparison_operator) (minmax_operator, cc_register, dominant_cc_register) (arm_extendqisi_mem_op, power_of_two_operand, nonimmediate_di_operand) (di_operand, nonimmediate_soft_df_operand, soft_df_operand) (const_shift_operand, load_multiple_operation) (store_multiple_operation, multi_register_push, thumb_cmp_operand) (thumb_cmpneg_operand, thumb_cbrch_target_operand) (cirrus_register_operand, cirrus_fp_register) (cirrus_shift_const): Delete, replaced with equivalents in predicates.md. (shift_op): Handle ROTATE. * arm-protos.h: Delete declarations for above. * arm.h (PREDICATE_CODES, SPECIAL_MODE_PREDICATES): Delete. * t-arm (MD_INCLUDES): Add predicates.md. (s-preds): Depends on MD_INCLUDES. From-SVN: r86512
Richard Earnshaw committed -
* config/mips/mips.c (mips_gen_conditional_trap): Fix mode. * config/mips/mips.md (*conditional_trap[sd]i): Name previously unnamed patterns. Redefine using :GPR. Give the match_operator a mode. Use '%2' rather than '%z2' for operand 2. From-SVN: r86511
Richard Sandiford committed -
* config/mips/mips.md (load_call[sd]i): Redefine using :P. Add mode attribute. From-SVN: r86510
Richard Sandiford committed -
* config/mips/mips.md (indirect_jump): Use force_reg. Adjust names of internal patterns. (indirect_jump[sd]i): Renamed from indirect_jump_internal[12]. Redefine using :P. (tablejump): Use expand_binop to calculate address. Adjust names of internal patterns. (tablejump[sd]i): Renamed from tablejump_internal[12]. Redefine using :P. (tablejump_mips16[12]): Delete. From-SVN: r86509
Richard Sandiford committed -
(*sgt_[sd]i, *sgt_[sd]i_mips16, *sge_[sd]i, *slt_[sd]i) (*slt_[sd]i_mips16, *sle_[sd]i, *sle_[sd]i_mips16, *sgtu_[sd]i) (*sgtu_[sd]i_mips16, *sge_[sd]i, *sltu_[sd]i, *sltu_[sd]i_mips16) (*sleu_[sd]i, *sleu_[sd]i_mips16): Redefine using :GPR. From-SVN: r86508
Richard Sandiford committed -
* config/mips/mips.md (cmpsi, cmpdi): Redefine using :GPR. (*branch_zero[sd]i): Renamed from branch_zero{,_di}. Redefine using :GPR. (*branch_zero[sd]i_inverted): Likewise branch_zero{,_di}_inverted. (*branch_equality[sd]i): Likewise branch_equality{,_di}. (*branch_equality[sd]i_inverted): Likewise branch_equality{,_di}_inverted. (*branch_equality[sd]i_mips16): Name formerly unnamed patterns. Redefine using :GPR. From-SVN: r86507
Richard Sandiford committed -
* trans-decl.c, trans-types.c: Add and remove blank lines as required. From-SVN: r86505
Tobias Schlüter committed -
From-SVN: r86504
Richard Henderson committed -
* rtl.def: Wrap MD-only codes in #ifdef GENERATOR_FILE. * gengtype.c: Don't include rtl.h. Define enum rtx_code and rtx_name, rtx_format arrays by direct reference to rtl.def, first undefining GENERATOR_FILE. Define enum insn_note and note_insn_name array by direct reference to insn-notes.def. (adjust_field_rtx_def): Remove local definition of rtx_name. Use symbolic names for insn notes. * Makefile.in (gengtype.o): Update dependencies. From-SVN: r86499
Zack Weinberg committed -
* resolve.c (merge_argument_lists): Revert unintentionally committed change. From-SVN: r86498
Tobias Schlüter committed -
From-SVN: r86497
Tobias Schlüter committed -
* rtl.def: Reorganize, placing all codes used only in machine descriptions at the end. From-SVN: r86496
Zack Weinberg committed -
* basic-block.h (struct basic_block_def): Reorder fields to eliminate interior padding. Remove 'partition' field. (BB_DISABLE_SCHEDULE, BB_HOT_PARTITION, BB_COLD_PARTITION) (BB_UNPARTITIONED, BB_PARTITION, BB_SET_PARTITION) (BB_COPY_PARTITION): New macros. * bb-reorder.c, cfgcleanup.c, cfglayout.c, cfgrtl.c, ifcvt.c Replace all references to the 'partition' field of a basic block with new macros. * insn-notes.def: Delete NOTE_INSN_DISABLE_SCHED_OF_BLOCK. * final.c (final_scan_insn): Don't handle it. * modulo-sched.c: Set BB_DISABLE_SCHEDULE flag on g->bb instead of emitting a NOTE_INSN_DISABLE_SCHED_OF_BLOCK note. * sched-rgn.c (sched_is_disabled_for_current_region_p): Look for a BB_DISABLE_SCHEDULE flag on the block instead of a note. From-SVN: r86495
Zack Weinberg committed -
* trans-decl.c (build_function_decl): Fix spelling in comment. (build_entry_thunks): Remove code with no function. (gfc_build_intrinsic_function_decls): Remove empty line. From-SVN: r86494
Tobias Schlüter committed -
* c-decl.c (c_init_decl_processing): Adjust build_common_tree_nodes call. * expmed.c (const_mult_add_overflow_p): Use build_distinct_type_copy. * stor-layout.c (early_type_list): Remove. (layout_type): Don't append to early_type_list. (initialize_sizetypes): Add signed_p argument. (set_sizetype): Overwrite the stub type nodes directly. * tree.c (copy_node_stat): Clear a type's value cache here ... (build_distinct_type): ... not here. (build_common_tree_nodes): Add signed_sizetype argument. Adjust. * tree.h (initialize_sizetypes): Add signed_p argument. (build_common_tree_nodes): Likewise. * ada/utils.c (gnat_init_decl_processing): Adjust build_common_tree_nodes call. * cp/decl.c (cxx_init_decl_processing): Adjust build_common_tree_nodes call. * fortran/f95-lang.c (gfc_init_decl_processing): Adjust build_common_tree_nodes call. * java/decl.c (java_init_decl_processing): Adjust initialize_sizetypes call. * objc/objc-act.c (get_static_reference): Use build_variant_type_copy. (get_protocol_reference): Likewise. * objc/objc-act.h (TREE_STATIC_TEMPLATE): Use TREE_PRIVATE. * treelang/treetree.c (treelang_init_decl_processing): Adjust build_common_tree_nodes call. From-SVN: r86493
Nathan Sidwell committed -
From-SVN: r86490
Tobias Schlüter committed -
From-SVN: r86489
Paul Brook committed -
cp: PR c++/16889 * (is_subobject_of_p): Resurrect & optimize. (lookup_field_r): Use it. testsuite: PR c++/16889 * g++.dg/lookup/ambig[12].C: New. From-SVN: r86488
Nathan Sidwell committed -
2004-08-24 Richard Henderson <rth@redhat.com> Andrew Pinski <apinski@apple.com> * gimplify.c (gimplify_array_ref_to_plus): Delete. (gimplify_addr_expr): Do not call gimplify_array_ref_to_plus for ARRAY_REF. * config/rs6000/rs6000.c (altivec_expand_builtin): Go passed ARRAY_REF also to get to the STRING_CST. Co-Authored-By: Andrew Pinski <apinski@apple.com> From-SVN: r86487
Richard Henderson committed -
* Makefile.am (libgfortran_la_LDFLAGS): Add -lm. * Makefile.in: Rebuilt. From-SVN: r86486
David Edelsohn committed -
PR c++/16706 * search.c (friend_accessible_p): Increment processing_template_decl when deal with TEMPLATE_DECL of SCOPE. * g++.dg/template/crash21.C: New test. * g++.dg/template/crash22.C: Likewise. From-SVN: r86482
Kriang Lerdsuwanakij committed -
2004-08-24 Paolo Carlini <pcarlini@suse.de> * testsuite/27_io/basic_istringstream/rdbuf/wchar_t/2832.cc: New. * testsuite/27_io/basic_istringstream/str/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_ostringstream/cons/wchar_t/3.cc: Likewise. * testsuite/27_io/basic_ostringstream/rdbuf/wchar_t/2832.cc: Likewise. * testsuite/27_io/basic_ostringstream/str/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_ostringstream/str/wchar_t/2.cc: Likewise. * testsuite/27_io/basic_istringstream/rdbuf/char/2832.cc: Trim excess newlines. * testsuite/27_io/basic_istringstream/str/char/1.cc: Likewise. From-SVN: r86481
Paolo Carlini committed -
* config/arm/arm.c (arm_override_options): Update error message. * config/arm/arm.h (TARGET_HARD_FLOAT): Rename to TARGET_HARD_FLOAT_ABI. (TARGET_SOFT_FLOAT_ABI): Rename to TARGET_HARD_FLOAT. (LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Use TARGET_HARD_FLOAT_ABI. From-SVN: r86479
Paul Brook committed -
PR target/17093 * config/m32r.md (movsi_sda): Add SI mode specification to UNSPEC. From-SVN: r86474
Nick Clifton committed -
re PR c++/17149 (ICE: tree check: expected record_type or union_type or qual_union_type, have template_type_parm in check_accessibility_of_qualified_id, at cp/semantics.c:1388) cp: PR c++/17149 * semantics.c (check_accessibility_of_qualified_id): Defer check if qualifying_type is a template parameter. testsuite: PR c++/17149 * g++.dg/template/access15.C: New. From-SVN: r86472
Nathan Sidwell committed -
* Makefile.in (PROTO_OBJS): Add errors.o. * protoize.c (fancy_abort): Remove. * mips-tfile.c (fancy_abort): Add parameters. From-SVN: r86471
Nathan Sidwell committed -
2004-08-24 Jonathan Wakely <redi@gcc.gnu.org> * doc/trouble.texi (C++ misunderstandings): Fix example code. From-SVN: r86470
Jonathan Wakely committed -
From-SVN: r86469
Nick Clifton committed -
2004-08-24 Andreas Tobler <a.tobler@schweiz.ch> * Makefile.in (HOOKS_H): Add dependency on MACHMODE_H. (host-default.o): Add dependency on HOOKS_H. * config/x-linux: Likewise. * config/x-solaris: Likewise. * config/i386/x-mingw32: Likewise. * config/rs6000/x-darwin: Likewise. From-SVN: r86468
Andreas Tobler committed -
PR c++/17163 * pt.c (instantiate_decl): Do not try to apply DECL_DECLARED_INLINED_P to a VAR_DECL. PR c++/17163 * g++.dg/template/repo2.C: New test. From-SVN: r86467
Mark Mitchell committed -
* reg-notes.def (REG_NOTE): In comment, change DEF_INSN_NOTE to DEF_REG_NOTE. From-SVN: r86465
James E Wilson committed -
trans-const.c (gfc_conv_mpz_to_tree): Use mpz_getlimbn instead of going through an intermediate string. * trans-const.c (gfc_conv_mpz_to_tree): Use mpz_getlimbn instead of going through an intermediate string. Fix 32/64 int/long bug. From-SVN: r86464
Richard Henderson committed -
PR rtl-optimization/17078 * gcc.c-torture/execute/pr17078-1.c: New test case. From-SVN: r86463
Roger Sayle committed
-