1. 30 Apr, 2011 5 commits
    • re PR middle-end/48752 (ICE in evaulate_conditions_for_edge at ipa-inline-analysis.c:466) · ecb62563
      
      	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, [...]): New. · be80a87e
      	* 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
    • re PR testsuite/48809 (switch statement optimization error) · edb9b69e
      	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. · a6545a3d
      
       	* 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
    • Daily bump. · 8dc7645f
      From-SVN: r173204
      GCC Administrator committed
  2. 29 Apr, 2011 27 commits
    • cgraph.h (cgraph_postorder): Remove declaration. · af8bca3c
      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',… · 48e5d119
      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
    • inline-10.c: New testcase. · b15c64ee
      	* 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
    • re PR fortran/48462 (realloc on assignment: matmul Segmentation Fault with Allocatable Array) · 7097b041
      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
    • re PR middle-end/48819 (350 execution failures in 64-bit libjava testsuite on SPARC) · fdf390e6
      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
    • In gcc/: 2011-04-29 Nicola Pero <nicola.pero@meta-innovation.com> · a88fdc2a
      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
    • use tls for ic vars · d984c8ef
      From-SVN: r173177
      Xinliang David Li committed
    • re PR fortran/48810 ([OOP] TPB rejected because module procedure is private) · 12578be7
      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
    • Whitespace fixes · 176f076f
      From-SVN: r173173
      Janne Blomqvist committed
    • Fix path handling · 1e030602
      From-SVN: r173172
      Janne Blomqvist committed
    • PR 48488 Typo · 848eab5c
      From-SVN: r173171
      Janne Blomqvist committed
    • PR 48488 Fix comments · ef6d0b67
      From-SVN: r173170
      Janne Blomqvist committed
    • PR 48488 Fix comments · d785f6a3
      From-SVN: r173169
      Janne Blomqvist committed
    • re PR libfortran/48488 (Wrong default format for real numbers) · f4c31037
      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
    • builtins.c (fold_builtin_classify_type): Use integer_type_node for the type of the result. · 45a2c477
      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
    • re PR libfortran/48488 (Wrong default format for real numbers) · a3f02fe4
      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
    • expr.h (expand_shift): Rename to ... · eb6c3df1
      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
    • tree-inline.c (remap_eh_region_tree_nr): Use integer_type_node for the remapped region number. · 9f616812
      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. · b823cdfe
      	* 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
    • misc.c (gnat_handle_option): Set warn_maybe_uninitialized. · fa5e5a76
      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
    • tree-nested.c (get_trampoline_type): Use size_int. · 413581ba
      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
    • tree-ssa-structalias.c (get_fi_for_callee): Restructure. · 5c04e9f4
      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
    • osf.S (UA_SI, [...]): Define. · 9d9305ea
      	* 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. · 5c24671b
      * haifa-sched.c (last_nondebug_scheduled_insn): New.
      (rank_for_schedule): Use it.
      (schedule_block): Set it.
      
      From-SVN: r173150
      Alexandre Oliva committed
    • split checksum into cfg checksum and line checksum · 10adac51
      From-SVN: r173147
      Xinliang David Li committed
    • Daily bump. · 112cee35
      From-SVN: r173146
      GCC Administrator committed
  3. 28 Apr, 2011 8 commits