- 25 Jun, 2010 17 commits
-
-
2010-06-25 H.J. Lu <hongjiu.lu@intel.com> PR rtl-optimization/44326 * implicit-zee.c (find_removable_zero_extends): Replace INSN_P with NONDEBUG_INSN_P. From-SVN: r161389
H.J. Lu committed -
2010-06-25 Martin Jambor <mjambor@suse.cz> * ipa-prop.h (struct ipa_param_descriptor): Removed the modified flag. (struct ipa_node_params): Removed the modification_analysis_done flag. (ipa_is_param_modified): Removed. (ipa_analyze_node): Declare. (ipa_compute_jump_functions): Remove declaration. (ipa_count_arguments): Likewise. (ipa_detect_param_modifications): Likewise. (ipa_analyze_params_uses): Likewise. * ipa-prop.c (struct param_analysis_info): New type. (visit_store_addr_for_mod_analysis): Removed. (visit_load_for_mod_analysis): Renamed to visit_ref_for_mod_analysis, moved down in the file. (ipa_detect_param_modifications): Merged into ipa_analyze_params_uses. (ipa_count_arguments): Made static. (mark_modified): New function. (is_parm_modified_before_call): New function. (compute_pass_through_member_ptrs): New parameter parms_info, call is_parm_modified_before_call instead of ipa_is_param_modified. (ipa_compute_jump_functions_for_edge): New parameter parms_info, pass it to compute_pass_through_member_ptrs. (ipa_compute_jump_functions): New parameter parms_info, pass it to ipa_compute_jump_functions_for_edge. Call ipa_initialize_node_params on the callee if it is analyzed. Made static. (ipa_analyze_indirect_call_uses): New parameter parms_info, call is_parm_modified_before_call instead of ipa_is_param_modified. (ipa_analyze_call_uses): New parameter parms_info, pass it to ipa_analyze_indirect_call_uses. (ipa_analyze_stmt_uses): New parameter parms_info, pass it to ipa_analyze_call_uses. (ipa_analyze_params_uses): New parameter parms_info, pass it to ipa_analyze_stmt_uses. Also perform the used analysis. Made static. (ipa_analyze_node): New function. (ipa_print_node_params): Do not dump the modified flag. (ipa_write_node_info): Assert uses_analysis_done rather than streaming it. Do not stream the modified parameter flag. (ipa_read_node_info): Set uses_analysis_done to 1 instead of streaming it. Do not stream the modified parameter flag. * ipa-cp.c (ipcp_analyze_node): Removed. (ipcp_init_stage): Iterate only once over the nodes, analyze each one with only a call to ipa_analyze_node. * ipa-inline.c (inline_indirect_intraprocedural_analysis): Analyze the node with only a call to ipa_analyze_node. * testsuite/g++.dg/ipa/iinline-3.C: New test. * testsuite/gcc.dg/ipa/modif-1.c: Removed. From-SVN: r161384
Martin Jambor committed -
2010-06-25 Manuel López-Ibáñez <manu@gcc.gnu.org> * doc/invoke.texi (-Wsuggest-attribute): Add item for noreturn. From-SVN: r161383
Manuel López-Ibáñez committed -
* tree-pass.h (pass_split_functions): Declare. * opts.c (decode_options): Enable function splitting at -O2 * timevar.def (TV_IPA_FNSPLIT): New macro. * ipa-split.c: New file. * common.opt (-fpartial-inlining): New flag. * Makefile.in (ipa-split.o): New object file. * passes.c (init_optimization_passes): Add ipa-split. * params.def (max-inline-insns-auto): Reduce max-inline-insns-auto to 40. (partial-inlining-entry-probability): New parameters. * doc/invoke.texi (-fpartial-inlining): New. * testsuite/gcc.dg/tree-ssa/ipa-split.c From-SVN: r161382
Jan Hubicka committed -
2010-06-25 Manuel López-Ibáñez <manu@gcc.gnu.org> PR 44665 * tree-inline.c (gimple_expand_calls_inline): Fix typo in comment. * gimplify.c (is_gimple_reg_rhs_or_call): Likewise. (gimplify_expr): Likewise. From-SVN: r161380
Manuel López-Ibáñez committed -
ipa-prop.c (determine_cst_member_ptr): Ignore non-clobbering statements instead of bailing out on them. 2010-06-25 Martin Jambor <mjambor@suse.cz> * ipa-prop.c (determine_cst_member_ptr): Ignore non-clobbering statements instead of bailing out on them. (ipa_analyze_indirect_call_uses): Do not require that loads from the parameter are in the same BB as the condition. Update comments. * testsuite/g++.dg/ipa/iinline-2.C: New test. From-SVN: r161377
Martin Jambor committed -
PR middle-end/43866 * tree-ssa-loop-unswitch.c (tree_may_unswitch_on): If stmt is always true or always false, return NULL_TREE. (tree_unswitch_single_loop): Optimize conditions even when reaching max-unswitch-level parameter. If num > 0, optimize first all conditions using entry checks, then do still reachable block discovery and consider only conditions in still reachable basic blocks in the loop. * gfortran.dg/pr43866.f90: New test. From-SVN: r161375
Jakub Jelinek committed -
re PR tree-optimization/44539 (ICE: verify_ssa failed: type mismatch between an SSA_NAME and its symbol) PR tree-optimization/44539 * tree-cfgcleanup.c (fixup_noreturn_call): Call update_stmt even when the call doesn't have LHS, but has VDEF. * gcc.dg/pr44539.c: New test. From-SVN: r161374
Jakub Jelinek committed -
2010-06-25 Paolo Carlini <paolo.carlini@oracle.com> * include/profile/impl/profiler_list_to_slist.h: Remove spurious semicolon; prefer pre-increment. * include/profile/impl/profiler_container_size.h: Use everywhere qualified std::size_t. * include/profile/impl/profiler_trace.h (__trace_base<>:: __collect_warnings): Tidy loop. * include/profile/impl/profiler_vector_to_list.h: Minor formatting changes. From-SVN: r161373
Paolo Carlini committed -
* config/pa/pa.h (MODIFY_TARGET_NAME): Remove. * doc/tm.texi (MODIFY_TARGET_NAME): Don't document. * gcc.c (enum add_del, struct modify_target, modify_target): Remove. (process_command): Remove code conditional on MODIFY_TARGET_NAME. * system.h (MODIFY_TARGET_NAME): Poison. From-SVN: r161372
Joseph Myers committed -
* doc/invoke.texi: Delete mcmodel=medium from powerpc options. * config/rs6000/rs6000.h (enum rs6000_cmodel): Delete CMODEL_MEDIUM. * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Set CMODEL_LARGE as default. * config/rs6000/rs6000.c (rs6000_handle_option): Remove mcmodel=medium. (offsettable_ok_by_alignment): Delete. (rs6000_emit_move): Remove mcmodel=medium optimization. From-SVN: r161371
Alan Modra committed -
2010-06-25 Paolo Carlini <paolo.carlini@oracle.com> * include/profile/impl/profiler_trace.h: Uglify it to __it, use everywhere std::size_t instead of size_t. From-SVN: r161368
Paolo Carlini committed -
PR target/43902 * tree-pretty-print.c (dump_generic_node, op_code_prio): Add WIDEN_MULT_PLUS_EXPR and WIDEN_MULT_MINUS_EXPR. * optabs.c (optab_for_tree_code): Likewise. (expand_widen_pattern_expr): Likewise. * tree-ssa-math-opts.c (convert_mult_to_widen): New function, broken out of execute_optimize_widening_mul. (convert_plusminus_to_widen): New function. (execute_optimize_widening_mul): Use the two new functions. * expr.c (expand_expr_real_2): Add support for GIMPLE_TERNARY_RHS. Remove code to generate widening multiply-accumulate. Add support for WIDEN_MULT_PLUS_EXPR and WIDEN_MULT_MINUS_EXPR. * gimple-pretty-print.c (dump_ternary_rhs): New function. (dump_gimple_assign): Call it when appropriate. * tree.def (WIDEN_MULT_PLUS_EXPR, WIDEN_MULT_MINUS_EXPR): New codes. * cfgexpand.c (gimple_assign_rhs_to_tree): Likewise. (expand_gimple_stmt_1): Likewise. (expand_debug_expr): Support WIDEN_MULT_PLUS_EXPR and WIDEN_MULT_MINUS_EXPR. * tree-ssa-operands.c (get_expr_operands): Likewise. * tree-inline.c (estimate_operator_cost): Likewise. * gimple.c (extract_ops_from_tree_1): Renamed from extract_ops_from_tree. Add new arg for a third operand; fill it. (gimple_build_assign_stat): Support operations with three operands. (gimple_build_assign_with_ops_stat): Likewise. (gimple_assign_set_rhs_from_tree): Likewise. (gimple_assign_set_rhs_with_ops_1): Renamed from gimple_assign_set_rhs_with_ops. Add new arg for a third operand. (get_gimple_rhs_num_ops): Support GIMPLE_TERNARY_RHS. (get_gimple_rhs_num_ops): Handle WIDEN_MULT_PLUS_EXPR and WIDEN_MULT_MINUS_EXPR. * gimple.h (enum gimple_rhs_class): Add GIMPLE_TERNARY_RHS. (extract_ops_from_tree_1): Adjust declaration. (gimple_assign_set_rhs_with_ops_1): Likewise. (gimple_build_assign_with_ops): Pass NULL for last operand. (gimple_build_assign_with_ops3): New macro. (gimple_assign_rhs3, gimple_assign_rhs3_ptr, gimple_assign_set_rhs3, gimple_assign_set_rhs_with_ops, extract_ops_from_tree): New inline functions. * tree-cfg.c (verify_gimple_assign_ternary): New static function. (verify_gimple_assign): Call it. * doc/gimple.texi (Manipulating operands): Document GIMPLE_TERNARY_RHS. (Tuple specific accessors, subsection GIMPLE_ASSIGN): Document new functions for dealing with three-operand statements. * tree.c (commutative_ternary_tree_code): New function. * tree.h (commutative_ternary_tree_code): Declare it. * tree-vrp.c (gimple_assign_nonnegative_warnv_p): Return false for ternary statements. (gimple_assign_nonzero_warnv_p): Likewise. * tree-ssa-sccvn.c (stmt_has_constants): Handle GIMPLE_TERNARY_RHS. * tree-ssa-ccp.c (get_rhs_assign_op_for_ccp): New static function. (ccp_fold): Use it. Handle GIMPLE_TERNARY_RHS. * tree-ssa-dom.c (enum expr_kind): Add EXPR_TERNARY. (struct hashtable_expr): New member ternary in the union. (initialize_hash_element): Handle GIMPLE_TERNARY_RHS. (hashable_expr_equal_p): Fix indentation. Handle EXPR_TERNARY. (iterative_hash_hashable_expr): Likewise. (print_expr_hash_elt): Handle EXPR_TERNARY. * gimple-fold.c (fold_gimple_assign): Handle GIMPLE_TERNARY_RHS. * tree-ssa-threadedge.c (fold_assignment_stmt): Remove useless break statements. Handle GIMPLE_TERNARY_RHS. testsuite/ PR target/43902 * gcc.target/mips/madd-9.c: New test. From-SVN: r161366
Bernd Schmidt committed -
From-SVN: r161364
Jan Hubicka committed -
gcc/ 2010-06-25 Shujing Zhao <pearly.zhao@oracle.com> PR c/44517 * c-parser.c (c_parser_parms_list_declarator): Return NULL if one of parameters are not good. (c_parser_parameter_declaration): Error unknown type name if the type name can't start declaration specifiers. gcc/testsuite/ 2010-06-25 Shujing Zhao <pearly.zhao@oracle.com> PR c/44517 * gcc.dg/noncompile/pr44517.c: New. * gcc.dg/noncompile/990416-1.c: Adjust expected error. From-SVN: r161363
Shujing Zhao committed -
* gcc.c (translate_options): Don't mention +e in comment. (process_command): Don't handle +e specially. cp: * lang-specs.h: Remove +e handling. objcp: * lang-specs.h: Remove +e handling. From-SVN: r161355
Joseph Myers committed -
From-SVN: r161354
GCC Administrator committed
-
- 24 Jun, 2010 23 commits
-
-
ira-int.h (struct live_range, [...]): Renamed from struct ira_allocno_live_range and allocno_live_range_t... * ira-int.h (struct live_range, live_range_t): Renamed from struct ira_allocno_live_range and allocno_live_range_t; all uses changed. * ira-build.c (live_range_pool): Renamed from allocno_live_range_pool. All uses changed. From-SVN: r161350
Bernd Schmidt committed -
* ira-int.h (SET_MINMAX_SET_BIT, CLEAR_MINMAX_SET_BIT, TEST_MINMAX_SET_BIT, minmax_set_iterator, minmax_set_iter_init, minmax_set_iter_cond, minmax_set_iter_next, FOR_EACH_BIT_IN_MINMAX_SET): Renamed from SET_ALLOCNO_SET_BIT, CLEAR_ALLOCNO_SET_BIT, TEST_ALLOCNO_SET_BIT, ira_allocno_set_iterator, ira_allocno_set_iter_init, ira_allocno_set_iter_cond, ira_allocno_set_iter_Next and FOR_EACH_ALLOCNO_IN_ALLOCNO_SET. All uses changed. From-SVN: r161349
Bernd Schmidt committed -
* ira-color.c (assign_hard_reg): Improve formatting of multi-line for statement. From-SVN: r161348
Bernd Schmidt committed -
* ira-int.h (ira_parent_allocno, ira_parent_or_cap_allocno): Declare. * ira-build.c (ira_parent_allocno, ira_parent_or_cap_allocno): New functions. (ira_flattening): Use ira_parent_allocno. * ira-conflicts.c (process_regs_for_copy, propagate_copies) build_allocno_conflicts): Use ira_parent_or_cap_allocno. From-SVN: r161347
Bernd Schmidt committed -
* ira-build.c (merge_hard_reg_conflicts): New function. (create_cap_allocno, copy_info_to_removed_store_destinations, propagate_some_info_from_allocno, propagate_allocno_info): Use it. (move_allocno_live_ranges, copy_allocno_live_ranges): New functions. (remove_unnecessary_allocnos, remove_low_level_allocnos) copy_nifo_to_removed_store_destination): Use them. * ira-lives.c (make_hard_regno_born): New function, split out of make_regno_born. (make_allocno_born): Likewise. (make_hard_regno_dead): New function, split out of make_regno_dead. (make_allocno_dead): Likewise. (inc_register_pressure): New function, split out of set_allocno_live. (dec_register_pressure): New function, split out of clear_allocno_live. (mark_pseudo_regno_live): New function, split out of mark_reg_live. (mark_hard_reg_live): Likewise. Use inc_register_pressure. (mark_pseudo_regno_dead): New function, split out of mark_reg_dead. (mark_hard_reg_dead): Likewise. Use dec_register_pressure. (make_pseudo_conflict): Use mark_pseudo_regno_dead and mark_pseudo_regno_live. (process_bb_node_lives): Use mark_pseudo_regno_live, make_hard_regno_born and make_allocno_dead. (make_regno_born, make_regno_dead, mark_reg_live, mark_reg_dead, set_allocno_live, clear_allocno_live): Delete functions. From-SVN: r161346
Bernd Schmidt committed -
From-SVN: r161345
Bernd Schmidt committed -
* thumb2.md (thumb2_tlobits_cbranch): Delete. (peephole2 to convert zero_extract/compare of single bit to lshift/compare): New. From-SVN: r161344
Richard Earnshaw committed -
From-SVN: r161343
Steve Ellcey committed -
2010-06-24 Steve Ellcey <sje@cup.hp.com> PR testsuite/43283 * gcc.dg/lto/20091216-1_0.c: Use newline instead of semicolon and add argument to nop for IA64. From-SVN: r161342
Steve Ellcey committed -
* fold-const.c (const_binop): Remove 'notrunc' argement. Adjust recursive call and call to 'int_const_binop'. (build_range_check, fold_cond_expr_with_comparison, unextend, fold_truthop, extract_muldiv_1, fold_comparison, fold_binary_loc, multiple_of_p): Adjust call to const_binop. From-SVN: r161336
Anatoly Sokolov committed -
2010-06-24 Paolo Carlini <paolo.carlini@oracle.com> * include/profile/impl/profiler_trace.h (__trace_base<>:: __trace_base()): Move inline, simplify; formatting tweaks. * include/profile/impl/profiler_hash_func.h: Formatting tweaks. From-SVN: r161334
Paolo Carlini committed -
2010-06-24 Paolo Carlini <paolo.carlini@oracle.com> * include/profile/impl/profiler_trace.h (__trace_base<>:: __trace_base()): Move inline, simplify; formatting tweaks. * include/profile/impl/profiler_hash_func.h: Formatting tweaks. From-SVN: r161333
Paolo Carlini committed -
* config/i386/i386.md (XFmode push splitter): Use GET_MODE_SIZE to determine size of XFmode operand. (XFmode extended DFmode push splitter): Ditto. (XFmode extended SFmode push splitter): Ditto. From-SVN: r161332
Uros Bizjak committed -
From-SVN: r161330
H.J. Lu committed -
gcc/ 2010-06-24 H.J. Lu <hongjiu.lu@intel.com> PR target/44588 * config/i386/i386.md (extract_code): New. (<u>divmodqi4): Likewise. (divmodhiqi3): Likewise. (udivmodhiqi3): Likewise. (<u>divqi3): Remvoved. gcc/testsuite/ 2010-06-24 H.J. Lu <hongjiu.lu@intel.com> PR target/44588 * gcc.target/i386/mod-1.c: New. * gcc.target/i386/umod-1.c: Likewise. * gcc.target/i386/umod-2.c: Likewise. * gcc.target/i386/umod-3.c: Likewise. From-SVN: r161329
H.J. Lu committed -
PR middle-end/44492 * recog.h (struct recog_data): Add is_asm field. * recog.c (asm_operand_ok, constrain_operands): If neither < nor > is present in constraints of inline-asm operand and memory operand contains {PRE,POST}_{INC,DEC,MODIFY}, return 0. (extract_insn): Initialize recog_data.is_asm. * doc/md.texi (Constraints): Document operand side-effect rules. * g++.dg/torture/pr44492.C: New test. From-SVN: r161328
Jakub Jelinek committed -
2010-06-24 Paolo Carlini <paolo.carlini@oracle.com> * include/profile/impl/profiler_trace.h (__warning_data:: __warning_message): Change to std::string; clean-up includes, qualify size_t, fprintf, etc, with std everywhere. (struct __warn::operator()): Adjust. * include/profile/impl/profiler_list_to_slist.h (__list2slist_info::__advice): Change to return a std::string; clean-up includes, qualify size_t, fprintf, etc, with std. * include/profile/impl/profiler_container_size.h (__container_size_info::__advice): Likewise. * include/profile/impl/profiler_hash_func.h (__hashfunc_info:: __advice): Likewise. * include/profile/impl/profiler_list_to_vector.h (__list2vector_info::__advice): Likewise. * include/profile/impl/profiler_vector_to_list.h (__vector2list_info::__advice): Likewise. * include/profile/impl/profiler_map_to_unordered_map.h (__map2umap_info::__advice): Likewise. * include/profile/impl/profiler.h: Likewise. * include/profile/impl/profiler_hashtable_size.h: Likewise. * include/profile/impl/profiler_node.h: Likewise. * include/profile/impl/profiler_vector_size.h: Likewise. * include/profile/iterator_tracker.h: Formatting and stylistic tweaks. * include/profile/base.h: Likewise. * include/profile/map.h: Likewise. From-SVN: r161325
Paolo Carlini committed -
* update_web_docs_svn: Also pass -I option pointing to ada/ source directory for Ada manual. From-SVN: r161324
Joseph Myers committed -
2010-06-24 Andi Kleen <ak@linux.intel.com> * c-parser.c (c_parser_conditional_expression): Call warn_for_omitted_condop. * doc/invoke.texi: Document omitted condop warning. c-family/ * c-common.c (warn_for_omitted_condop): New. * c-common.h (warn_for_omitted_condop): Add prototype. testsuite/ * c-c++-common/warn-omitted-condop.c: New. cp/ * parser.c: (cp_parser_question_colon_clause): Switch to use cp_lexer_peek_token. Call warn_for_omitted_condop. Call pedwarn for omitted middle operand. From-SVN: r161318
Andi Kleen committed -
loop-unswitch.c (compare_and_jump_seq): Assert that the last insn in the sequence is a jump insn before setting its label. * loop-unswitch.c (compare_and_jump_seq): Assert that the last insn in the sequence is a jump insn before setting its label. From-SVN: r161313
Nick Clifton committed -
* collect2.c (main): Match exactly --version and --help. From-SVN: r161311
Alan Modra committed -
2010-06-24 Tobias Burnus <burnus@net-b.de> PR fortran/44614 * decl.c (variable_decl): Fix IMPORT diagnostic for CLASS. 2010-06-24 Tobias Burnus <burnus@net-b.de> PR fortran/44614 * gfortran.dg/import8.f90: New. From-SVN: r161310
Tobias Burnus committed -
From-SVN: r161307
DJ Delorie committed
-