aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2009-03-31re PR fortran/38915 (wrong results for structure assignment of character ↵Paul Thomas4-0/+56
components when left and right sides overlap) 2009-03-31 Paul Thomas <pault@gcc.gnu.org> PR fortran/38915 * trans-expr.c (gfc_trans_assignment_1): Ensure temporaries have a string_length. 2009-03-31 Paul Thomas <pault@gcc.gnu.org> PR fortran/38915 * gfortran.dg/char_length_15.f90: New test. From-SVN: r145370
2009-03-31ptree.c (cxx_print_decl): Pretty-print full name of function/template.Jason Merrill2-1/+24
* ptree.c (cxx_print_decl): Pretty-print full name of function/template. (cxx_print_type): Pretty-print full name of class. From-SVN: r145368
2009-03-31decl.c (grokdeclarator): Reject pointer to qualified function type.Jason Merrill3-1/+9
* decl.c (grokdeclarator): Reject pointer to qualified function type. From-SVN: r145367
2009-03-31re PR c++/37806 (CV-qualifiers on function typedef's are inconsistently ↵Jason Merrill2-0/+35
accepted depending on typedef scope) PR c++/37806 * g++.dg/template/typedef17.C: New test. From-SVN: r145366
2009-03-31re PR c++/37806 (CV-qualifiers on function typedef's are inconsistently ↵Jason Merrill9-27/+74
accepted depending on typedef scope) PR c++/37806 * typeck.c (cp_apply_type_quals_to_decl): Don't apply any quals to a typedef. * tree.c (cp_build_qualified_type_real): Don't apply restrict to a function type. * decl.h (enum decl_context): Add TEMPLATE_TYPE_ARG. * decl.c (groktypename): Add is_template_arg parameter. (grokdeclarator): Allow function cv-quals on a template type arg. * parser.c (cp_parser_new_type_id, cp_parser_type_id): Add is_template_arg argument in calls to groktypename. * cp-tree.h: Adjust prototype. * error.c (dump_type_prefix, dump_type_suffix): Fix plain FUNCTION_TYPE printing. PR libstdc++/39310 * include/tr1_impl/type_traits (is_function): Add partial specializations with function cv-quals. (__is_function_helper): Remove. (is_member_pointer): Don't define in terms of is_member_*_pointer. From-SVN: r145365
2009-03-31mangle.c (write_expression): Mangle dependent name as source-name.Jason Merrill5-10/+30
* mangle.c (write_expression): Mangle dependent name as source-name. From-SVN: r145364
2009-03-31system-linux-alpha.ads (Functions_Return_By_DSP): Remove.Eric Botcazou8-14/+17
* system-linux-alpha.ads (Functions_Return_By_DSP): Remove. * system-linux-mips.ads (Functions_Return_By_DSP): Likewise. * system-linux-mipsel.ads (Functions_Return_By_DSP): Likewise. * system-linux-s390.ads (Functions_Return_By_DSP): Likewise. * system-linux-s390x.ads (Functions_Return_By_DSP): Likewise. * system-linux-sparc.ads (Functions_Return_By_DSP): Likewise. * system-linux-sparcv9.ads (Functions_Return_By_DSP): Likewise. From-SVN: r145361
2009-03-31PR c++/38030, 38850, 39070Jason Merrill5-20/+42
PR c++/38030, 38850, 39070 * pt.c (type_dependent_expression_p_push): New fn. (tsubst_copy_and_build) [CALL_EXPR]: Only do arg-dep lookup when the substitution makes the call non-dependent. Preserve koenig_p. * parser.c (cp_parser_postfix_expression): Only do arg-dep lookup for non-dependent calls. * semantics.c (finish_call_expr): Revert earlier changes. * cp-tree.h: Revert change to finish_call_expr prototype. From-SVN: r145360
2009-03-31loop-iv.c (replace_single_def_regs, [...]): New static functions.Bernd Schmidt2-3/+57
* loop-iv.c (replace_single_def_regs, replace_in_expr): New static functions. (simplify_using_assignment, simplify_using_initial_values): Call replace_in_expr to make replacements. Call replace_single_def_regs once on the initial version of the expression. From-SVN: r145357
2009-03-31loop-iv.c (simple_rhs_p): Allow more kinds of expressions.Bernd Schmidt2-2/+8
* loop-iv.c (simple_rhs_p): Allow more kinds of expressions. From-SVN: r145355
2009-03-31loop-iv.c (determine_max_iter): New arg OLD_NITER.Bernd Schmidt2-4/+12
* loop-iv.c (determine_max_iter): New arg OLD_NITER. All callers changed. Use this when trying to improve the upper bound. Generate the comparison by using simplify_gen_relational. From-SVN: r145354
2009-03-31simplify-rtx.c (simplify_relational_operation_1): Simplify (LTU (PLUS a C) ↵Bernd Schmidt2-0/+18
C) or (LTU (PLUS a C) a) to (GEU a -C)... * simplify-rtx.c (simplify_relational_operation_1): Simplify (LTU (PLUS a C) C) or (LTU (PLUS a C) a) to (GEU a -C); likewise with GEU/LTU reversed. From-SVN: r145353
2009-03-31loop-iv.c (simplify_using_condition): A condition of the form (EQ REG CONST) ↵Bernd Schmidt2-8/+63
can be used to simply make a substitution. * loop-iv.c (simplify_using_condition): A condition of the form (EQ REG CONST) can be used to simply make a substitution. (simplify_using_initial_values): Keep track of conditions we have seen and keep using them to simplify new expressions, while applying the same substitutions to them as to the expression. From-SVN: r145352
2009-03-31loop-iv.c (suitable_set_for_replacement): Renamed from ↵Bernd Schmidt2-46/+71
simplify_using_assignment... * loop-iv.c (suitable_set_for_replacement): Renamed from simplify_using_assignment; changed to return bool and to accept new args DEST and SRC. Return true iff we find a source/destination pair that can be used to make a replacement, and fill SRC and DEST if so. Remove arg ALTERED. Don't deal with altered regs here. All callers changed. (simplify_using_initial_values): Deal with altered regs here and track more precisely the effect they have on the validity of our expression. From-SVN: r145351
2009-03-31Fix documentation for -mthumbRamana Radhakrishnan2-1/+9
From-SVN: r145347
2009-03-31re PR middle-end/31029 (Fold does not fold C - a == a)Richard Guenther5-11/+77
2009-03-31 Richard Guenther <rguenther@suse.de> PR middle-end/31029 * fold-const.c (fold_binary): Fold X +- Y CMP X to Y CMP 0 for equality comparisons. Fold C - X CMP X if C % 2 == 1. * gcc.dg/fold-compare-4.c: New testcase. * gcc.dg/fold-compare-5.c: Likewise. From-SVN: r145345
2009-03-31tree.h (div_if_zero_remainder): Declare.Richard Guenther6-11/+74
2009-03-31 Richard Guenther <rguenther@suse.de> * tree.h (div_if_zero_remainder): Declare. * fold-const.c (div_if_zero_remainder): Export. * tree-ssa-forwprop.c (forward_propagate_addr_into_variable_array_index): Handle constant array index addition outside of the variable index. * gcc.dg/tree-ssa/forwprop-12.c: New testcase. From-SVN: r145343
2009-03-31re PR target/39592 (Revision 145272 breaks -ansi -msse)Joseph Myers4-4/+26
PR target/39592 * config/i386/i386.md (*floatunssi<mode>2_1, two unnamed define_splits, floatunssi<mode>2): Require x87 conversions from DImode to be permitted. testsuite: * gcc.target/i386/pr39592-1.c: New test. From-SVN: r145342
2009-03-31re PR preprocessor/15638 (gcc should have option to treat missing headers as ↵Joseph Myers12-2/+58
fatal) PR preprocessor/15638 gcc: * c-common.c (c_cpp_error): Handle CPP_DL_FATAL. gcc/fortran: * cpp.c (cb_cpp_error): Handle CPP_DL_FATAL. gcc/testsuite: * gcc.dg/cpp/missing-header-1.c: New test. * gcc.dg/cpp/include2.c: Only test #include <>. Expect "compilation terminated" message. * gcc.dg/cpp/include2a.c: New test. Copy of include2.c but only test #include "". * gcc.dg/pch/counter-2.c, gcc.dg/pch/valid-1.c, gcc.dg/pch/valid-2.c, gcc.dg/pch/warn-1.c: Expect "compilation terminated" message. libcpp: * files.c (_cpp_find_file): Call open_file_failed after diagnosing invalid PCH. (open_file_failed): Make error for missing file fatal. * include/cpplib.h (CPP_DL_FATAL): Define. From-SVN: r145341
2009-03-31re PR middle-end/23401 (Gimplifier produces too many temporaries)Richard Guenther14-192/+195
2009-03-31 Richard Guenther <rguenther@suse.de> PR middle-end/23401 PR middle-end/27810 * tree.h (DECL_GIMPLE_FORMAL_TEMP_P): Remove. (struct tree_decl_with_vis): Remove gimple_formal_temp member. * tree-eh.c (lower_eh_constructs_2): Move LHS assignment to a separate statement. * gimplify.c (pop_gimplify_context): Remove formal temp handling. (lookup_tmp_var): Likewise. (is_gimple_formal_tmp_or_call_rhs): Remove. (is_gimple_reg_or_call_rhs): Rename to ... (is_gimple_reg_rhs_or_call): ... this. (is_gimple_mem_or_call_rhs): Rename to ... (is_gimple_mem_rhs_or_call): ... this. (internal_get_tmp_var): Use is_gimple_reg_rhs_or_call. Set DECL_GIMPLE_REG_P only if is_formal is true. (gimplify_compound_lval): Use is_gimple_reg. Remove workaround for non-proper post-modify expression gimplification. (gimplify_self_mod_expr): For post-modify expressions gimplify the lvalue to a minimal lvalue. (rhs_predicate_for): Remove formal temp case. (gimplify_modify_expr_rhs): Likewise. (gimplify_addr_expr): Use is_gimple_reg. (gimplify_expr): Remove formal temp cases. (gimple_regimplify_operands): Likewise. * tree-ssa-pre.c (get_or_alloc_expr_for): Treat EXC_PTR_EXPR and FILTER_EXPR like constants. * gimple.c (walk_gimple_op): Fix val_only initialization, use is_gimple_reg. (is_gimple_formal_tmp_rhs): Remove. (is_gimple_reg_rhs): Remove special casing. (is_gimple_mem_rhs): Fix. (is_gimple_reg): Move DECL_GIMPLE_REG_P handling earlier. (is_gimple_formal_tmp_var): Remove. (is_gimple_formal_tmp_reg): Likewise. (is_gimple_min_lval): Allow invariant component ref parts. * gimple.h (is_gimple_formal_tmp_rhs, is_gimple_formal_tmp_var, is_gimple_formal_tmp_reg): Remove declarations. * tree-cfg.c (verify_expr): Verify that variables with address taken do not have DECL_GIMPLE_REG_P set. * tree-mudflap.c (mf_build_check_statement_for): Use force_gimple_operand instead of gimplify_expr. java/ * java-gimplify.c (java_gimplify_expr): Do not manually gimplify the first operand of binary and comaprison expressions. * gcc.dg/tree-ssa/pr23401.c: New testcase. * gcc.dg/tree-ssa/pr27810.c: Likewise. From-SVN: r145338
2009-03-31SMS - Pass the actual schedulable rows to compute_split_rowAyal Zaks2-2/+10
From-SVN: r145333
2009-03-31re PR target/31635 (-mno-vrsave ignored on ppc64)Ben Elliston2-0/+11
PR target/31635 * config/rs6000/rs6000.c (rs6000_handle_option): Handle OPT_mvrsave. From-SVN: r145332
2009-03-31alloc_alloc_expr_1.f90: Adjust for new error message.Steven G. Kargl12-97/+502
2008-12-10 Steven G. Kargl <kargls@comcast.net> * gfortran.dg/alloc_alloc_expr_1.f90: Adjust for new error message. * gfortran.dg/allocate_alloc_opt_1.f90: New test. * gfortran.dg/allocate_alloc_opt_2.f90: Ditto. * gfortran.dg/allocate_alloc_opt_3.f90: Ditto. * gfortran.dg/deallocate_alloc_opt_1.f90: Ditto. * gfortran.dg/deallocate_alloc_opt_2.f90: Ditto. * gfortran.dg/deallocate_alloc_opt_3.f90: Ditto. 2008-12-10 Steven G. Kargl <kargls@comcast.net> * trans-stmt.c(gfc_trans_allocate): Add translation of ERRMSG. (gfc_trans_deallocate): Add translation of ERRMSG. Remove stale comments. Minor whitespace cleanup. * resolve.c(is_scalar_expr_ptr): Whitespace cleanup. (resolve_deallocate_expr (gfc_expr *e): Update error message. (resolve_allocate_expr): Remove dead code. Update error message. Move error checking to ... (resolve_allocate_deallocate): ... here. Add additional error checking for STAT, ERRMSG, and allocate-objects. * match.c(gfc_match_allocate,gfc_match_deallocate): Parse ERRMSG. Check for redundant uses of STAT and ERRMSG. Reword error message and add checking for pointer, allocatable, and proc_pointer attributes. From-SVN: r145331
2009-03-31* doc/invoke.texi (RS/6000 and PowerPC Options):Document mtls-markers.Alan Modra8-4/+210
* configure.ac (HAVE_AS_TLS_MARKERS): New gas feature check. * configure: Regenerate. * config.in: Regenerate. * config/rs6000/rs6000.opt (mtls-markers): Add. * config/rs6000/rs6000.h (TARGET_TLS_MARKERS): Define. * config/rs6000/rs6000.md (tls_gd_aix, tls_gd_sysv): Add splitter. (tls_ld_aix, tls_ld_sysv): Likewise. (tls_gd, tls_gd_call_aix, tls_gd_call_sysv): New insns. (tls_ld, tls_ld_call_aix, tls_ld_call_sysv): Likewise. From-SVN: r145330
2009-03-31spu.c (spu_expand_prologue): Delete redundant code.Alan Modra2-9/+8
* config/spu/spu.c (spu_expand_prologue): Delete redundant code. From-SVN: r145327
2009-03-31Daily bump.GCC Administrator1-1/+1
From-SVN: r145326
2009-03-30tree-eh.c (make_eh_edges): Set probability 100% to first edge out of RESX.Jan Hubicka2-19/+26
* tree-eh.c (make_eh_edges): Set probability 100% to first edge out of RESX. (tree_remove_unreachable_handlers): Cleanup EH predecestor detection and label handling. From-SVN: r145322
2009-03-30re PR fortran/22571 (Reject derived types for dummy arguments declared in ↵Paul Thomas16-13/+357
the subroutine unless they are SEQUENCE) 2009-03-30 Paul Thomas <pault@gcc.gnu.org> PR fortran/22571 PR fortran/26227 PR fortran/24886 * symbol.c : Add gfc_global_ns_list. * decl.c (add_global_entry): Set the namespace ('ns') field. * gfortran.h : Add the resolved field to gfc_namespace. Add the namespace ('ns') field to gfc_gsymbol. Add flag_whole_file to gfc_option_t. Add the prototype for gfc_free_dt_list. * lang.opt : Add the whole-file option. * invoke.texi : Document the whole-file option. * resolve.c (resolve_global_procedure): If the fwhole-file option is set, reorder gsymbols to ensure that translation is in the right order. Resolve the gsymbol's namespace if that has not occurred and then check interfaces. (resolve_function): Move call to resolve_global_procedure. (resolve_call): The same. (resolve_codes): Store the current labels_obstack. (gfc_resolve) : Return if the namespace is already resolved. trans-decl.c (gfc_get_extern_function_decl): If the whole_file option is selected, use the backend_decl of a gsymbol, if it is available. parse.c (add_global_procedure, add_global_program): If the flag whole-file is set, add the namespace to the gsymbol. (gfc_parse_file): On -fwhole-file, put procedure namespaces on the global namespace list. Rearrange to do resolution of all the procedures in a file, followed by their translation. * options.c (gfc_init_options): Add -fwhole-file. (gfc_handle_option): The same. 2009-03-30 Paul Thomas <pault@gcc.gnu.org> PR fortran/22571 * gfortran.dg/whole_file_1.f90: New test. PR fortran/26227 * gfortran.dg/whole_file_2.f90: New test. * gfortran.dg/whole_file_3.f90: New test. PR fortran/24886 * gfortran.dg/whole_file_4.f90: New test. From-SVN: r145314
2009-03-30ira-int.h (ira_allocno): Rename left_conflicts_num to left_conflicts_size.Vladimir Makarov4-27/+52
2009-03-30 Vladimir Makarov <vmakarov@redhat.com> * ira-int.h (ira_allocno): Rename left_conflicts_num to left_conflicts_size. (ALLOCNO_LEFT_CONFLICTS_NUM): Rename to ALLOCNO_LEFT_CONFLICTS_SIZE. * ira-color.c (allocno_spill_priority, push_allocno_to_stack, remove_allocno_from_bucket_and_push, allocno_spill_priority_compare, push_allocnos_to_stack, setup_allocno_available_regs_num): Use ALLOCNO_LEFT_CONFLICTS_SIZE instead of ALLOCNO_LEFT_CONFLICTS_NUM. (setup_allocno_left_conflicts_num): Ditto. Rename to setup_allocno_left_conflicts_size. (put_allocno_into_bucket): Use ALLOCNO_LEFT_CONFLICTS_SIZE instead of ALLOCNO_LEFT_CONFLICTS_NUM and setup_allocno_left_conflicts_size instead of setup_allocno_left_conflicts_num. * ira-build.c (ira_create_allocno): Use ALLOCNO_LEFT_CONFLICTS_SIZE instead of ALLOCNO_LEFT_CONFLICTS_NUM. From-SVN: r145312
2009-03-30reload.c (push_reload, [...]): Use df_get_live_out instead of DF_LR_OUT.Vladimir Makarov6-15/+30
2009-03-30 Vladimir Makarov <vmakarov@redhat.com> * reload.c (push_reload, find_dummy_reload): Use df_get_live_out instead of DF_LR_OUT. * ira-lives.c (process_bb_node_lives): Ditto. * ira-color.c (ira_loop_edge_freq): Use df_get_live_{out,in} instead of DF_LR_{OUT,IN}. * ira-emit.c (generate_edge_moves, add_ranges_and_copies): Ditto. * ira-build.c (create_bb_allocnos, create_loop_allocnos): Ditto. From-SVN: r145309
2009-03-30f95-lang.c (gfc_init_builtin_functions): Define BUILT_IN_HUGE_VAL family of ↵Ulrich Weigand3-12/+19
intrinsics instead of BUILT_IN_INF family. * f95-lang.c (gfc_init_builtin_functions): Define BUILT_IN_HUGE_VAL family of intrinsics instead of BUILT_IN_INF family. * trans-intrinsics.c (gfc_conv_intrinsic_nearest): Use BUILT_IN_HUGE_VAL instead of BUILT_IN_INF. From-SVN: r145307
2009-03-30* except.c (label_to_region_map): Fix thinko.Jan Hubicka2-5/+6
From-SVN: r145304
2009-03-30re PR middle-end/38237 (multiple weak directives)Steve Ellcey4-4/+29
PR middle-end/38237 * tree.h (tree_find_value): New declaration. * tree.c (tree_find_value): New function. * varasm.c (assemble_external): Avoid duplicate entries on lists. From-SVN: r145303
2009-03-30re PR target/39558 (Bad interaction of decls named 'vector' and -maltivec ↵Jakub Jelinek2-0/+26
vector support) PR target/39558 * macro.c (cpp_get_token): If macro_to_expand returns NULL and used some tokens, add CPP_PADDING before next token. * gcc.target/powerpc/altivec-29.c: New test. From-SVN: r145297
2009-03-30trans-types.c (gfc_sym_type, [...]): For sym->attr.result check ↵Jakub Jelinek4-3/+50
sym->ns->proc_name->attr.is_bind_c. * trans-types.c (gfc_sym_type, gfc_return_by_reference): For sym->attr.result check sym->ns->proc_name->attr.is_bind_c. * gfortran.dg/bind_c_usage_19.f90: New test. From-SVN: r145294
2009-03-30re PR debug/39563 (C block scopes have no DW_TAG_lexical_block)Jakub Jelinek2-21/+71
PR debug/39563 * c-decl.c (struct c_binding): Add locus field. (bind): Add locus argument, set locus field from it. (pop_scope): For b->nested VAR_DECL or FUNCTION_DECL, add a DECL_EXTERNAL copy of b->decl to current BLOCK_VARS. (push_file_scope, pushtag, pushdecl, pushdecl_top_level, implicitly_declare, undeclared_variable, lookup_label, declare_label, c_make_fname_decl, c_builtin_function, c_builtin_function_ext_scope, store_parm_decls_newstyle): Adjust bind callers. From-SVN: r145293
2009-03-30re PR target/38781 (PR38151: valgrind finds problem)H.J. Lu2-7/+12
2008-03-30 H.J. Lu <hongjiu.lu@intel.com> PR target/38781 * config/i386/i386.c (classify_argument): Check total size of structure. From-SVN: r145292
2009-03-30ipa-prop.h (jump_func_type): Rename IPA_UNKNOWN...Martin Jambor10-37/+102
2009-03-30 Martin Jambor <mjambor@suse.cz> * ipa-prop.h (jump_func_type): Rename IPA_UNKNOWN, IPA_CONST, IPA_CONST_MEMBER_PTR, and IPA_PASS_THROUGH to IPA_JF_UNKNOWN, IPA_JF_CONST, IPA_JF_CONST_MEMBER_PTR, and IPA_JF_PASS_THROUGH respectively. * tree-dfa.c (get_ref_base_and_extent): Return -1 maxsize if seen_variable_array_ref while also traversing a union. * tree-inline.c (optimize_inline_calls): Do not call cgraph_node_remove_callees. * cgraphbuild.c (remove_cgraph_callee_edges): New function. (pass_remove_cgraph_callee_edges): New variable. * passes.c (init_optimization_passes): Add pass_remove_cgraph_callee_edges after early inlining and before all late intraprocedural passes. * omp-low.c (expand_omp_taskreg): Always set current_function_decl. From-SVN: r145291
2009-03-30re PR bootstrap/39583 (Revision 145255 breaks bootstrap with obj-c++)Dominique d'Humieres2-0/+10
2009-03-30 Dominique d'Humieres <dominiq@lps.ens.fr> PR bootstrap/39583 * objc-act.c (in_late_binary_op): Define for Objective-C++. From-SVN: r145290
2009-03-30Fix formattingEric Botcazou1-2/+2
From-SVN: r145289
2009-03-30sparc.md (*nand<V64mode>_vis, [...]): Fix typos in names.Paolo Bonzini2-2/+7
2009-03-30 Paolo Bonzini <bonzini@gnu.org> * config/sparc/sparc.md (*nand<V64mode>_vis, *nand<V32mode>_vis): Fix typos in names. From-SVN: r145288
2009-03-30decl.c (maybe_pad_type): Use TREE_OVERFLOW instead of TREE_CONSTANT_OVERFLOW.Paolo Bonzini2-1/+6
2009-03-30 Paolo Bonzini <bonzini@gnu.org> * gcc-interface/decl.c (maybe_pad_type): Use TREE_OVERFLOW instead of TREE_CONSTANT_OVERFLOW. From-SVN: r145287
2009-03-30combine.c (simplify_comparison): Use have_insn_for.Paolo Bonzini3-6/+9
2009-03-30 Paolo Bonzini <bonzini@gnu.org> * combine.c (simplify_comparison): Use have_insn_for. * dojump.c (do_jump): Likewise. From-SVN: r145285
2009-03-30sparc.c (sparc_compare_emitted): Remove.Paolo Bonzini4-19/+26
2009-03-30 Paolo Bonzini <bonzini@gnu.org> * config/sparc/sparc.c (sparc_compare_emitted): Remove. (gen_compare_reg, emit_v9_brxx_insn): Handle MODE_CC sparc_compare_op0 like sparc_compare_emitted used to be handled. (sparc_expand_compare_and_swap_12): Set sparc_compare_op0 instead of sparc_compare_emitted. * config/sparc/sparc.h (sparc_compare_emitted): Remove. * config/sparc/sparc.md (stack_protect_test): Set sparc_compare_op0 instead of sparc_compare_emitted. From-SVN: r145284
2009-03-30bb-reorder.c (partition_hot_cold_basic_blocks): Do not enter/exit cfglayout ↵Paolo Bonzini4-81/+94
mode. 2009-03-30 Paolo Bonzini <bonzini@gnu.org> * bb-reorder.c (partition_hot_cold_basic_blocks): Do not enter/exit cfglayout mode. (pass_partition_block): Require it. * combine.c (find_single_use, reg_dead_at_p): Use CFG. (combine_instructions): Track basic blocks instead of labels. (update_cfg_for_uncondjump): New. (try_combine): Use it. Update jumps after rescanning. (pass_combine): Require PROP_cfglayout. * passes.c (pass_outof_cfg_layout_mode): Move after regmove. From-SVN: r145283
2009-03-30cfglayout.c (pass_into_cfg_layout_mode, [...]): Provide/destroy ↵Paolo Bonzini4-4/+12
PROP_cfglayout respectively. 2009-03-09 Paolo Bonzini <bonzini@gnu.org> * cfglayout.c (pass_into_cfg_layout_mode, pass_outof_cfg_layout_mode): Provide/destroy PROP_cfglayout respectively. * gcse.c (pass_jump_bypass, pass_gcse): Require it. * tree-pass.h (PROP_cfglayout): New. From-SVN: r145282
2009-03-30fold-const.c (const_binop, [...]): Do not set TREE_CONSTANT_OVERFLOW.Paolo Bonzini4-38/+17
2009-03-30 Paolo Bonzini <bonzini@gnu.org> * fold-const.c (const_binop, fold_convert_const_real_from_fixed, fold_convert_const_fixed_from_fixed, fold_convert_const_fixed_from_int, fold_convert_const_fixed_from_real, fold_negate_const): Do not set TREE_CONSTANT_OVERFLOW. * tree.def: Remove mention of TREE_CONSTANT_OVERFLOW. * tree.h (TREE_CONSTANT_OVERFLOW): Delete. From-SVN: r145281
2009-03-30tree-vect-loop-manip.c: New file.Ira Rosen12-16014/+16175
* tree-vect-loop-manip.c: New file. * tree-vectorizer.c: Update documentation and included files. (vect_loop_location): Make extern. (rename_use_op): Move to tree-vect-loop-manip.c (rename_variables_in_bb, rename_variables_in_loop, slpeel_update_phis_for_duplicate_loop, slpeel_update_phi_nodes_for_guard1, slpeel_update_phi_nodes_for_guard2, slpeel_make_loop_iterate_ntimes, slpeel_tree_duplicate_loop_to_edge_cfg, slpeel_add_loop_guard, slpeel_can_duplicate_loop_p, slpeel_verify_cfg_after_peeling, set_prologue_iterations, slpeel_tree_peel_loop_to_edge, find_loop_location): Likewise. (new_stmt_vec_info): Move to tree-vect-stmts.c. (init_stmt_vec_info_vec, free_stmt_vec_info_vec, free_stmt_vec_info, get_vectype_for_scalar_type, vect_is_simple_use, supportable_widening_operation, supportable_narrowing_operation): Likewise. (bb_in_loop_p): Move to tree-vect-loop.c. (new_loop_vec_info, destroy_loop_vec_info, reduction_code_for_scalar_code, report_vect_op, vect_is_simple_reduction, vect_is_simple_iv_evolution): Likewise. (vect_can_force_dr_alignment_p): Move to tree-vect-data-refs.c. (vect_supportable_dr_alignment): Likewise. * tree-vectorizer.h (tree-data-ref.h): Include. (vect_loop_location): Declare. Reorganize function declarations according to the new file structure. * tree-vect-loop.c: New file. * tree-vect-analyze.c: Remove. Move functions to tree-vect-data-refs.c, tree-vect-stmts.c, tree-vect-slp.c, tree-vect-loop.c. * tree-vect-data-refs.c: New file. * tree-vect-patterns.c (timevar.h): Don't include. * tree-vect-stmts.c: New file. * tree-vect-transform.c: Remove. Move functions to tree-vect-stmts.c, tree-vect-slp.c, tree-vect-loop.c. * Makefile.in (OBJS-common): Remove tree-vect-analyze.o and tree-vect-transform.o. Add tree-vect-data-refs.o, tree-vect-stmts.o, tree-vect-loop.o, tree-vect-loop-manip.o, tree-vect-slp.o. (tree-vect-analyze.o): Remove. (tree-vect-transform.o): Likewise. (tree-vect-data-refs.o): Add rule. (tree-vect-stmts.o, tree-vect-loop.o, tree-vect-loop-manip.o, tree-vect-slp.o): Likewise. (tree-vect-patterns.o): Remove redundant dependencies. (tree-vectorizer.o): Likewise. * tree-vect-slp.c: New file. From-SVN: r145280
2009-03-30optc-gen.awk: Warn if an option flag has multiple different help strings.Ralf Wildenhues2-0/+9
gcc/ * optc-gen.awk: Warn if an option flag has multiple different help strings. From-SVN: r145278
2009-03-30invoke.texi (-floop-interchange, [...]): Document dependences on PPL, CLooG ↵Sebastian Pop2-3/+15
and Graphite. 2009-03-30 Sebastian Pop <sebastian.pop@amd.com> * doc/invoke.texi (-floop-interchange, -floop-strip-mine, -floop-block): Document dependences on PPL, CLooG and Graphite. From-SVN: r145273