- 30 Apr, 2011 5 commits
-
-
PR middle-end/48752 * ipa-inline.c (early_inliner): Disable when doing late addition of function. From-SVN: r173211
Jan Hubicka committed -
* dwarf2.h (DW_OP_GNU_const_type, DW_OP_GNU_regval_type, DW_OP_GNU_deref_type, DW_OP_GNU_convert, DW_OP_GNU_reinterpret): New. * dwarf2out.c (get_address_mode): New inline. (mem_loc_descriptor): Add MEM_MODE parameter, adjust recursive calls, if not dwarf_strict emit DW_OP_GNU_{{const,regval,deref}_type,convert,reinterpret} when desirable. Handle FLOAT_EXTEND, FLOAT_TRUNCATE, FLOAT, UNSIGNED_FLOAT, FIX and UNSIGNED_FIX. Just return NULL for FMA, STRICT_LOW_PART, CONST_VECTOR and CONST_FIXED. (dwarf2out_frame_debug_cfa_expression, reg_loc_descriptor, dw_loc_list_1, cst_pool_loc_descr, loc_list_from_tree): Adjust mem_loc_descriptor callers. (dwarf_stack_op_name, size_of_loc_descr, output_loc_operands, output_loc_operands_raw, hash_loc_operands, compare_loc_operands): Handle DW_OP_GNU_const_type, DW_OP_GNU_regval_type, DW_OP_GNU_deref_type, DW_OP_GNU_convert and DW_OP_GNU_reinterpret. (base_types): New variable. (get_base_type_offset, calc_base_type_die_sizes, base_type_for_mode, mark_base_types, base_type_cmp, move_marked_base_types): New functions. (calc_die_sizes): Assert that die_offset is 0 or equal to next_die_offset. (loc_descriptor): Only handle here lowpart SUBREGs of REG, for others defer to mem_loc_descriptor. Adjust mem_loc_descriptor callers. If not dwarf_strict, call mem_loc_descriptor even for non-MODE_INT modes or MODE_INT modes larger than DWARF2_ADDR_SIZE. (gen_subprogram_die): Don't give up on call site parameters with non-integral or large integral modes. Adjust mem_loc_descriptor callers. (prune_unused_types): Call prune_unused_types_mark on base_types vector entries. (resolve_addr): Call mark_base_types. (dwarf2out_finish): Call move_marked_base_types. From-SVN: r173210
Jakub Jelinek committed -
PR tree-optimization/48809 * tree-switch-conversion.c (build_arrays): Compute tidx in unsigned type. (gen_inbound_check): Don't compute index_expr - range_min in utype again, instead reuse SSA_NAME initialized in build_arrays. Remove two useless gsi_for_stmt calls. * gcc.c-torture/execute/pr48809.c: New test. From-SVN: r173207
Jakub Jelinek committed -
* tree-ssa-threadedge.c (thread_across_edge): Add missing return. * gcc.dg/tree-ssa/ssa-dom-thread-4.c: New test. From-SVN: r173206
Jeff Law committed -
From-SVN: r173204
GCC Administrator committed
-
- 29 Apr, 2011 27 commits
-
-
2011-04-29 Martin Jambor <mjambor@suse.cz> * cgraph.h (cgraph_postorder): Remove declaration. * ipa-utils.h (ipa_free_postorder_info): Declare. (ipa_reverse_postorder): Likewise. * cgraphunit.c: Include ipa-utils.h. (cgraph_expand_all_functions): Update call to ipa_reverse_postorder. * ipa-inline.c: Include ipa-utils.h. (ipa_inline): Update call to ipa_reverse_postorder. * ipa-pure-const.c (propagate_pure_const): Update call to ipa_reduced_postorder and ipa_print_order. Call ipa_free_postorder_info to clean up. (propagate_nothrow): Likewise. * ipa-reference.c (propagate): Removed a useless call to ipa_utils_reduced_inorder, updated a call to ipa_reduced_postorder and ipa_print_order. Call ipa_free_postorder_info to clean up. * ipa.c: Include ipa-utils.h. (ipa_profile): Update call to ipa_reverse_postorder. (cgraph_postorder): Moved to... * ipa-utils.c (ipa_reverse_postorder): ...here and renamed. (ipa_utils_print_order): Renamed to ipa_print_order. (ipa_utils_reduced_inorder): Renamed to ipa_reduced_postorder. Updated comments. (ipa_free_postorder_info): New function. * passes.c: Include ipa-utils.h. (do_per_function_toporder): Update call to ipa_reverse_postorder. (ipa_write_summaries): Likewise. * Makefile.in (passes.o): Add IPA_UTILS_H to dependencies. (cgraphunit.o): Likewise. (ipa.o): Likewise. (ipa-inline.o): Likewise. lto/ * lto.c: Include ipa-utils.h. (lto_balanced_map): Update call to ipa_reverse_postorder. * Make-lang.in (lto/lto.o): Add IPA_UTILS_H to dependencies. From-SVN: r173197
Martin Jambor committed -
re PR c++/48606 (g++.dg/init/ctor9.C ICE: tree check: expected class 'type', have 'exceptional' (error_mark) with -fkeep-inline-functions) /cp 2011-04-29 Paolo Carlini <paolo.carlini@oracle.com> PR c++/48606 * init.c (perform_member_init): Check build_value_init return value for error_mark_node. /testsuite 2011-04-29 Paolo Carlini <paolo.carlini@oracle.com> PR c++/48606 * g++.dg/init/ctor10.C: New. From-SVN: r173194
Paolo Carlini committed -
* gcc.dg/tree-ssa/inline-10.c: New testcase. * gcc.dg/tree-ssa/inline-9.c: Disable partial inlining. * ipa-inline.h (clause_t): Turn into unsigned int. * ipa-inline-analysis.c (add_clause): Do more simplification. (and_predicates): Shortcut more cases. (predicates_equal_p): Move forward; check that clauses are properly ordered. (or_predicates): Shortcut more cases. (edge_execution_predicate): Rewrite as... (set_cond_stmt_execution_predicate): ... this function; handle __builtin_constant_p. (set_switch_stmt_execution_predicate): New . (compute_bb_predicates): New. (will_be_nonconstant_predicate): Update TODO. (estimate_function_body_sizes): Use compute_bb_predicates and free them later, always try to estimate if stmt is constant. (estimate_time_after_inlining, estimate_size_after_inlining): Gracefully handle optimized out edges. (read_predicate): Fix off by one error. From-SVN: r173190
Jan Hubicka committed -
2011-04-29 Paul Thomas <pault@gcc.gnu.org> PR fortran/48462 * trans-expr.c (arrayfunc_assign_needs_temporary): Deal with automatic reallocation when the lhs is a target. PR fortran/48746 * trans-expr.c (fcncall_realloc_result): Make sure that the result dtype field is set before the function call. 2011-04-29 Paul Thomas <pault@gcc.gnu.org> PR fortran/48462 * gfortran.dg/realloc_on_assign_7.f03: Modify to test for lhs being a target. PR fortran/48746 * gfortran.dg/realloc_on_assign_7.f03: Add subroutine pr48746. From-SVN: r173185
Paul Thomas committed -
2011-04-29 Richard Guenther <rguenther@suse.de> PR middle-end/48819 * constants.c (build_constants_constructor): Use ptr_type_node for temp. From-SVN: r173183
Richard Guenther committed -
From-SVN: r173181
Ian Lance Taylor committed -
In gcc/: 2011-04-29 Nicola Pero <nicola.pero@meta-innovation.com> * Makefile.in (ENABLE_MAINTAINER_RULES): New. In gcc/cp/: 2011-04-29 Nicola Pero <nicola.pero@meta-innovation.com>, Mike Stump <mikestump@comcast.net> * Make-lang.in ($(srcdir)/cp/cfns.h): Enable the dependency only in maintainer mode. Use the --output-file option of gperf instead of > to prevent creating an empty cp/cfns.h when gperf is not available. From-SVN: r173178
Nicola Pero committed -
From-SVN: r173177
Xinliang David Li committed -
2011-04-29 Tobias Burnus <burnus@net-b.de> PR fortran/48810 * resolve.c (resolve_typebound_generic_call): Don't check access flags of the specific function. PR fortran/48800 * resolve.c (resolve_formal_arglist): Don't change AS_DEFERRED to AS_ASSUMED_SHAPE for function results. (resolve_fl_var_and_proc): Print also for function results with AS_DEFERRED an error, if they are not a pointer or allocatable. (resolve_types): Make sure arguments of procedures in interface blocks are resolved. 2011-04-29 Tobias Burnus <burnus@net-b.de> PR fortran/48810 * gfortran.dg/typebound_proc_22.f90: New. PR fortran/48800 * gfortran.dg/interface_36.f90: New. From-SVN: r173175
Tobias Burnus committed -
From-SVN: r173173
Janne Blomqvist committed -
From-SVN: r173172
Janne Blomqvist committed -
From-SVN: r173171
Janne Blomqvist committed -
From-SVN: r173170
Janne Blomqvist committed -
From-SVN: r173169
Janne Blomqvist committed -
2011-04-29 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libgfortran/48488 PR libgfortran/48602 PR libgfortran/48615 PR libgfortran/48684 PR libgfortran/48787 * gfortran.dg/fmt_g.f: Adjust test. * gfortran.dg/fmt_g0_1.f08: Adjust test. * gfortran.dg/round_3.f08: New test. * gfortran.dg/namelist_print_1.f: Adjust test. * gfortran.dg/char4_iunit_1.f03: Adjust test. * gfortran.dg/f2003_io_5.f03: Adjust test. * gfortran.dg/coarray_15.f90: Adjust test. * gfortran.dg/namelist_65.f90: Adjust test. * gfortran.dg/fmt_cache_1.f: Adjust test. * gfortran.dg/char4_iunit_2.f03: Adjust test. * gfortran.dg/real_const_3.f90: Adjust test. From-SVN: r173168
Jerry DeLisle committed -
2011-04-29 Richard Guenther <rguenther@suse.de> * builtins.c (fold_builtin_classify_type): Use integer_type_node for the type of the result. (fold_builtin_isascii): Likewise. (fold_builtin_toascii): Use integer_type_node where appropriate. (fold_builtin_logb): Likewise. (fold_builtin_frexp): Likewise. (fold_builtin_strstr): Likewise. (fold_builtin_strpbrk): Likewise. (fold_builtin_fputs): Likewise. (fold_builtin_sprintf): Likewise. (fold_builtin_snprintf): Likewise. (fold_builtin_printf): Likewise. (do_mpfr_remquo): Use a proper type for the assigned constant. (do_mpfr_lgamma_r): Likewise. * dwarf2out.c (resolve_one_addr): Use size_int. * except.c (init_eh): Likewise. (assign_filter_values): Use integer_type_node for filter values. (sjlj_emit_dispatch_table): Use integer_type_node for dispatch indices. * tree-cfg.c (move_stmt_eh_region_tree_nr): Use integer_type_node for EH region numbers. * tree-vrp.c (simplify_div_or_mod_using_ranges): Use integer_type_node for the shift amount. From-SVN: r173167
Richard Guenther committed -
2011-04-29 Jerry DeLisle <jvdelisle@gcc.gnu.org> Janne Blomqvist <jb@gcc.gnu.org> PR libgfortran/48488 PR libgfortran/48602 PR libgfortran/48615 PR libgfortran/48684 PR libgfortran/48787 * io/write.c (write_d, write_e, write_f, write_en, write_es): Add precision compemsation parameter to call. (set_fnode_default): Adjust default widths to assure round trip on write and read. (write_real): Adjust call to write_float. (write_real_g0): Calculate compensation for extra precision and adjust call to write_float. * io/write_float.def (output_float_FMT_G_): Use volatile rather than asm volatile to avoid optimization issue. Correctly calculate the number of blanks (nb) to be appended and simplify calculation logic. (write_float): Increase MIN_FIELD_WIDTH by one to accomodate the new default widths. Eliminate the code that attempted to reduce the the precision used in later sprintf functions. Add call parameter to compensate for extra precision. Co-Authored-By: Janne Blomqvist <jb@gcc.gnu.org> From-SVN: r173166
Jerry DeLisle committed -
2011-04-29 Richard Guenther <rguenther@suse.de> * expr.h (expand_shift): Rename to ... (expand_variable_shift): ... this. (expand_shift): Take a constant shift amount. * expmed.c (expand_shift): Rename to ... (expand_variable_shift): ... this. (expand_shift): New wrapper around expand_variable_shift. * expr.c (convert_move, emit_group_load_1, emit_group_store, optimize_bitfield_assignment_op, store_field, expand_expr_real_2, expand_expr_real_1, reduce_to_bit_field_precision): Adjust. * expmed.c (store_fixed_bit_field, extract_bit_field_1, extract_fixed_bit_field, extract_split_bit_field, expand_mult_const, expand_mult, expand_widening_mult, expand_mult_highpart_adjust, extract_high_half, expand_sdiv_pow2, expand_divmod, emit_cstore, emit_store_flag_1, emit_store_flag): Likewise. * builtins.c (expand_builtin_signbit): Likewise. * calls.c (load_register_parameters): Likewise. * function.c (assign_parm_setup_block): Likewise. * lower-subreg.c (resolve_shift_zext): Likewise. * optabs.c (widen_bswap, expand_abs_nojump, expand_one_cmpl_abs_nojump, expand_float): Likewise. * spu/spu.c (spu_expand_extv): Likewise. * sparc/sparc.c (sparc32_initialize_trampoline): Likewise. From-SVN: r173157
Richard Guenther committed -
2011-04-29 Richard Guenther <rguenther@suse.de> * tree-inline.c (remap_eh_region_tree_nr): Use integer_type_node for the remapped region number. * predict.c (build_predict_expr): Use integer_type_node for the predict kind. * fold-const.c (fold_binary_loc): Use integer_type_node for the shift amount. Use a proper type for the PLUS_EXPR operand. From-SVN: r173156
Richard Guenther committed -
* lto-streamer.c (lto_streamer_cache_insert_1): Accept to override other trees that just builtins. (lto_record_common_node): Don't leave NULL TYPE_CANONICAL. lto/ * lto.c (toplevel): Include tree-flow.h. (lto_read_in_decl_state): Don't merge types here. (tree_with_vars): New static hash table. (remember_with_vars): New static functions. (LTO_FIXUP_TYPE): New macro. (lto_ft_common, lto_ft_decl_minimal, lto_ft_decl_common, lto_ft_decl_with_vis, lto_ft_decl_non_common, lto_ft_function, lto_ft_field_decl, lto_ft_type, lto_ft_binfo, lto_ft_constructor, lto_ft_expr, lto_fixup_types, uniquify_nodes): New static functions. (lto_read_decls): Uniquify while reading in trees. (lto_fixup_data_t, LTO_FIXUP_SUBTREE, LTO_REGISTER_TYPE_AND_FIXUP_SUBTREE, no_fixup_p, lto_fixup_common, lto_fixup_decl_minimal, lto_fixup_decl_common, lto_fixup_decl_with_vis, lto_fixup_decl_non_common, lto_fixup_function, lto_fixup_field_decl, lto_fixup_type, lto_fixup_binfo, lto_fixup_constructor, lto_fixup_tree): Remove. (lto_fixup_state): Remove data argument. Use lto_symtab_prevailing_decl. (LTO_SET_PREVAIL, LTO_NO_PREVAIL): New macros. (lto_fixup_prevailing_decls): New function. (lto_fixup_state_aux): Argument aux is unused. (lto_fixup_decls): Don't allocate pointer sets, don't use lto_fixup_tree, use lto_fixup_prevailing_decls. (read_cgraph_and_symbols): Allocate and remove tree_with_vars. * Make-lang.in (lto/lto.o): Depend on $(TREE_FLOW_H). From-SVN: r173155
Michael Matz committed -
ada/ * gcc-interface/misc.c (gnat_handle_option): Set warn_maybe_uninitialized. fortran/ * options.c (options.c): Set warn_maybe_uninitialized. From-SVN: r173154
Michael Matz committed -
2011-04-29 Richard Guenther <rguenther@suse.de> * tree-nested.c (get_trampoline_type): Use size_int. (get_nl_goto_field): Likewise. * tree-eh.c (lower_try_finally_switch): Use integer_type_node for all indexes. (lower_eh_constructs_2): Likewise. (lower_resx): Likewise. (lower_eh_dispatch): Likewise. * tree-mudflap.c (mf_build_string): Use size_int. (mudflap_register_call): Use integer_type_node for the flag. (mudflap_enqueue_constant): Use size_int. * tree-chrec.c (reset_evolution_in_loop): Copy CHREC_VAR instead of rebuilding it. From-SVN: r173153
Richard Guenther committed -
2011-04-29 Richard Guenther <rguenther@suse.de> * tree-ssa-structalias.c (get_fi_for_callee): Restructure. Handle OBJ_TYPE_REF. (find_func_aliases_for_call): Use it more consistently. From-SVN: r173152
Richard Guenther committed -
* src/alpha/osf.S (UA_SI, FDE_ENCODING, FDE_ENCODE, FDE_ARANGE): Define. Use them to handle ELF vs. ECOFF differences. [__osf__] (_GLOBAL__F_ffi_call_osf): Define. From-SVN: r173151
Rainer Orth committed -
* haifa-sched.c (last_nondebug_scheduled_insn): New. (rank_for_schedule): Use it. (schedule_block): Set it. From-SVN: r173150
Alexandre Oliva committed -
From-SVN: r173147
Xinliang David Li committed -
From-SVN: r173146
GCC Administrator committed
-
- 28 Apr, 2011 8 commits
-
-
* config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle unspec plus offset. Tidy macho code. From-SVN: r173141
Alan Modra committed -
2011-04-29 Martin Jambor <mjambor@suse.cz> * cgraphunit.c (cgraph_preserve_function_body_p): Accept a cgraph node instead of a decl. Update all callers. * cgraph.h: Update declaration. From-SVN: r173138
Martin Jambor committed -
From-SVN: r173135
Michael Meissner committed -
PR tree-optimization/48765 * tree-vectorizer.h (vect_make_slp_decision): Return bool. * tree-vect-loop.c (vect_analyze_loop_operations): Add new argument to indicate if loop aware SLP is being used. Scan the statements and update the vectorization factor according to the type of vectorization before statement analysis. (vect_analyze_loop_2): Get a return value from vect_make_slp_decision, pass it to vect_analyze_loop_operations. (vectorizable_reduction): Set number of copies to 1 in case of pure SLP statement. * tree-vect-stmts.c (vectorizable_conversion, vectorizable_assignment, vectorizable_shift, vectorizable_operation, vectorizable_type_demotion, vectorizable_type_promotion, vectorizable_store, vectorizable_load): Likewise. (vectorizable_condition): Move the check that it is not SLP vectorization before the number of copies check. * tree-vect-slp.c (vect_make_slp_decision): Return TRUE if decided to vectorize the loop using SLP. From-SVN: r173132
Ira Rosen committed -
From-SVN: r173128
Michael Meissner committed -
PR tree-optimization/48775 * gcc.dg/pr48616.c: Also add -fno-common on alpha*-dec-osf*. From-SVN: r173125
Rainer Orth committed -
/cp 2011-04-28 Paolo Carlini <paolo.carlini@oracle.com> PR c++/48798 * semantics.c (finish_base_specifier): cv-qualified base class is fine, per DR 484. /testsuite 2011-04-28 Paolo Carlini <paolo.carlini@oracle.com> PR c++/48798 * g++.dg/inherit/pr48798.C: New. * g++.old-deja/g++.other/base1.C: Adjust. From-SVN: r173124
Paolo Carlini committed -
Fix PR c++/48656 gcc/cp/ * semantics.c (finish_call_expr): Don't forget BASELINK nodes when considering call expressions involving a member function. gcc/testsuite/ * gcc/testsuite/g++.dg/template/inherit7.C: New test case. From-SVN: r173123
Dodji Seketeli committed
-