1. 15 May, 2010 9 commits
    • ipa-reference.c: Include toplev.h · f3380641
      	* ipa-reference.c: Include toplev.h
      	(is_proper_for_analysis): Only add to all_module_statics
      	if it is allocated.
      	(write_node_summary_p, stream_out_bitmap,
      	ipa_reference_write_optimization_summary,
      	ipa_reference_read_optimization_summary): New.
      	(struct ipa_opt_pass_d pass_ipa_reference): Add
      	optimization summary streaming.
      	* lto-cgraph.c (referenced_from_this_partition_p, 
      	reachable_from_this_partition_p): New functions.
      	* tree-ssa-alias.c (ref_maybe_used_by_call_p_1,
      	call_may_clobber_ref_p_1): Ask ipa-reference even for public vars.
      	* opts.c (decode_options): Enable ipa_reference.
      	* Makefile.in (ipa-reference.o): Add toplev.h dependency.
      	* lto-streamer.h (referenced_from_this_partition_p,
      	reachable_from_this_partition_p): Declare.
      
      	* gcc.dg/lto/ipareference_1.c: New file.
      	* gcc.dg/lto/ipareference_2.c: New file.
      
      From-SVN: r159435
      Jan Hubicka committed
    • re PR other/44038 (ICE: verify_stmts failed) · 9d0baae1
      2010-05-15  Richard Guenther  <rguenther@suse.de>
      
      	PR tree-optimization/44038
      	* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Avoid
      	taking the address of a V_C_E of a constant.
      
      	* gcc.c-torture/compile/pr44038.c: New testcase.
      
      From-SVN: r159434
      Richard Guenther committed
    • Add -std=c99 to avx-cmpsd-1.c and avx-cmpss-1.c. · 75d2d581
      2010-05-15  H.J. Lu  <hongjiu.lu@intel.com>
      
      	* gcc.target/i386/avx-cmpsd-1.c: Add -std=c99.
      	* gcc.target/i386/avx-cmpss-1.c: Likewise.
      
      From-SVN: r159432
      H.J. Lu committed
    • re PR fortran/43207 ([OOP] invalid (pointer) assignment to and from abstract… · f8dde8af
      re PR fortran/43207 ([OOP] invalid (pointer) assignment to and from abstract non-polymorphic expressions)
      
      2010-05-15  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/43207
      	PR fortran/43969
      	* gfortran.h (gfc_class_null_initializer): New prototype.
      	* expr.c (gfc_class_null_initializer): New function to build a NULL
      	initializer for CLASS pointers.
      	* symbol.c (gfc_build_class_symbol): Modify internal naming of class
      	containers. Remove default NULL initialization of $data component.
      	* trans.c (gfc_allocate_array_with_status): Fix wording of an error 
      	message.
      	* trans-expr.c (gfc_conv_initializer,gfc_trans_subcomponent_assign):
      	Use new function 'gfc_class_null_initializer'.
      	* trans-intrinsic.c (gfc_conv_allocated): Handle allocatable scalar
      	class variables.
      
      
      2010-05-15  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/43207
      	PR fortran/43969
      	* gfortran.dg/class_18.f03: New.
      	* gfortran.dg/class_19.f03: New.
      
      From-SVN: r159431
      Janus Weil committed
    • tree.h (memory_identifier_string): Remove. · 46c30019
      
      	* tree.h (memory_identifier_string): Remove.
      	* ipa-reference.c: Update comment; do not include gt-ipa-reference.h
      	(ipa_reference_global_vars_info_d): Remove statics_not_read and
      	statics_not_written.
      	(ipa_reference_optimization_summary_d): New structure.
      	(ipa_reference_optimization_summary_t): New type and vector.
      	(ipa_reference_vars_info_d): Embedd structures instead of using
      	pointers.
      	(reference_vars_to_consider): Remove out of GGC space.
      	(module_statics_escape): Remove.
      	(global_info_obstack): Rename to ...
      	(optimization_summary_obstack): ... this one.
      	(initialization_status_t): Remove.
      	(memory_identifier_string): Remove.
      	(get_reference_vars_info): Fix indenting.
      	(set_reference_vars_info): Likewise.
      	(get_reference_optimization_summary): New.
      	(set_reference_optimization_summary): New.
      	(get_global_reference_vars_info): Remove.
      	(ipa_reference_get_read_global): Remove.
      	(ipa_reference_get_written_global): Remove.
      	(ipa_reference_get_not_read_global): Update.
      	(ipa_reference_get_not_written_global): Update.
      	(is_proper_for_analysis): Outlaw addressable.
      	(propagate_bits): Update for new datastructures.
      	(analyze_variable): Remove.
      	(init_function_info): Update for new datastructures.
      	(clean_function_local_data): Remove.
      	(clean_function): Remove.
      	(copy_global_bitmap): Use optimizations_summary_obstack.
      	(duplicate_node_data): Duplicate optimization summary only.
      	(remove_node_data): Remove optimization summary only.
      	(generate_summary): Do not analyze variables; do not compute
      	module_statics_escape; do not prune solutions by it.
      	(read_write_all_from_decl): Fix typos in comments.
      	(propagate): Doscover readonly and nonaddressable first;
      	update for new datastructures; share global bitmaps.
      	* ipa-reference.h (ipa_reference_get_read_global,
      	ipa_reference_get_written_global): Remove.
      	* ipa-pure-const.c (check_stmt): Do not use memory_identifier_string.
      	* Makefile.in: Remove ipa-refereference from GT files.
      
      From-SVN: r159430
      Jan Hubicka committed
    • re PR debug/44112 (Revision 159354 causes Fortran test failures) · 22bf7d17
      	PR debug/44112
      	* dwarf2out.c (resolve_one_addr): Check TREE_ASM_WRITTEN
      	for all SYMBOL_REF_DECLs.
      
      	* gcc.dg/debug/dwarf2/const-1.c: Remove.
      	* g++.dg/debug/dwarf2/const1.C: Remove.
      
      From-SVN: r159429
      Jakub Jelinek committed
    • C++ DR 475 · b33a0480
      	C++ DR 475
      	* except.c (build_throw): Simplify, adjust for DR 475.
      
      From-SVN: r159428
      Jason Merrill committed
    • * fi.po: New. · 8efab4c8
      From-SVN: r159426
      Joseph Myers committed
    • Daily bump. · 8123be7a
      From-SVN: r159425
      GCC Administrator committed
  2. 14 May, 2010 21 commits
    • cgraph.h (ipa_discover_readonly_nonaddressable_vars): Declare. · 4a444e58
      	* cgraph.h (ipa_discover_readonly_nonaddressable_vars): Declare.
      	(varpool_all_refs_explicit_p): New inline function.
      	* ipa-reference.c: Update comment.
      	(module_statics_written): Remove.
      	(get_static_decl): Remove.
      	(ipa_init): Do not initialize module_statics_written.
      	(analyze_function): Likewise.
      	(generate_summary): Likewise; do not compute module_statics_readonly
      	and do not update variable flags.
      	(propagate): Call ipa_discover_readonly_nonaddressable_vars.
      	* ipa.c: Inlucde flags.h
      	(cgraph_local_node_p): New.
      	(cgraph_remove_unreachable_nodes): Return early when not optimizing;
      	promote functions to local.
      	(ipa_discover_readonly_nonaddressable_vars): New function.
      	(function_and_variable_visibility): Use cgraph_local_node_p.
      	* varpool.c (varpool_finalize_decl): Set force_output for
      	DECL_PRESERVE_P vars.
      
      From-SVN: r159421
      Jan Hubicka committed
    • re PR fortran/44135 (Negative array bounds lead to spurious warning) · c13af44b
      2010-05-14  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/44135
      	* gfortran.dg/actual_array_interface_2.f90: New test.
      
      2010-05-14  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/44135
      	* fortran/interface.c (get_sym_storage_size): Use signed instead of
      	unsigned mpz_get_?i routines.
      
      From-SVN: r159415
      Steven G. Kargl committed
    • re PR middle-end/44103 (New Java test failures) · c4e64f39
      	PR 44103
      	* java-tree.h (START_RECORD_CONSTRUCTOR): Change first argument to a
      	vector.  Move call to build_constructor...
      	(FINISH_RECORD_CONSTRUCTOR): ...here.  Add necessary arguments.  Clear
      	TREE_CONSTANT on the constructor.
      	(PUSH_SUPER_VALUE): Change first argument to a vector.
      	(PUSH_FIELD_VALUE): Likewise.
      	* resource.c (compile_resource_data): Update calls to above macros.
      	* constants.c (build_constants_constructor): Likewise.
      	* class.c (build_utf8_ref): Likewise.
      	(make_field_value): Likewise.
      	(make_method_value): Likewise.
      	(add_table_and_syms): New function.
      	(make_class_data): Call it.  Update calls to above macros.
      	(build_symbol_table_entry): New function.
      	(build_symbol_entry): Call it.  Update calls to above macros.
      	(emit_symbol_table): Likewise.
      	(make_catch_class_record): Update calls to above macros.
      	(build_assertion_table_entry): New function.
      	(add_assertion_table_entry): Call it.
      	(emit_assertion_table): Likewise.
      
      From-SVN: r159414
      Nathan Froyd committed
    • re PR tree-optimization/44119 (error: SSA name in freelist but still referenced) · 4d2ab9e3
      2010-05-14  Richard Guenther  <rguenther@suse.de>
      
      	PR tree-optimization/44119
      	* tree-ssa-pre.c (eliminate): Properly mark replacement of
      	a PHI node necessary.
      
      	* gcc.c-torture/compile/pr44119.c: New testcase.
      
      From-SVN: r159412
      Richard Guenther committed
    • re PR c++/44127 (G++ emits unnecessary EH code) · 9bb1a81b
      	PR c++/44127
      gcc:
      	* gimple.h (enum gf_mask): Add GF_CALL_NOTHROW.
      	(gimple_call_set_nothrow): New.
      	* gimple.c (gimple_build_call_from_tree): Call it.
      	(gimple_call_flags): Set ECF_NOTHROW from GF_CALL_NOTHROW.
      gcc/cp:
      	* except.c (dtor_nothrow): Return nonzero for type with
      	trivial destructor.
      
      From-SVN: r159408
      Jason Merrill committed
    • re PR c++/44127 (G++ emits unnecessary EH code) · 786f715d
      	PR c++/44127
      gcc:
      	* gimplify.c (gimplify_seq_add_stmt): No longer static.
      	* gimple.h: Declare it.
      	* gimple.c (gimple_build_eh_filter): No ops.
      gcc/cp:
      	* cp-gimplify.c (gimplify_must_not_throw_expr): Use
      	gimple_build_eh_must_not_throw.
      
      From-SVN: r159407
      Jason Merrill committed
    • ipa.c (enqueue_cgraph_node): Update comment; do not re-enqueue nodes already in queue. · 19fb0b86
      
      	* ipa.c (enqueue_cgraph_node): Update comment; do not re-enqueue
      	nodes already in queue.
      	(cgraph_remove_unreachable_nodes): Cleanup; fix problem with re-enqueueing
      	node.
      
      From-SVN: r159405
      Jan Hubicka committed
    • re PR debug/44136 (ICE in expand_debug_expr with -mno-sse) · 88c04a5d
      	PR debug/44136
      	* cfgexpand.c (expand_debug_expr): If non-memory op0
      	has BLKmode, return NULL.
      
      	* gcc.dg/pr44136.c: New test.
      
      From-SVN: r159400
      Jakub Jelinek committed
    • config.gcc: Add support for --with-cpu option for bdver1. · 1133125e
      2010-05-14  Harsha Jagasia  <harsha.jagasia@amd.com>
      
      	* config.gcc: Add support for --with-cpu option for bdver1.
      	* config/i386/i386.h (TARGET_BDVER1): New macro.
      	(ix86_tune_indices): Change SSE_UNALIGNED_MOVE_OPTIMAL
      	to SSE_UNALIGNED_LOAD_OPTIMAL. Add SSE_UNALIGNED_STORE_OPTIMAL.
      	(ix86_tune_features) :Change SSE_UNALIGNED_MOVE_OPTIMAL
      	to SSE_UNALIGNED_LOAD_OPTIMAL. Add SSE_UNALIGNED_STORE_OPTIMAL.
      	Add SSE_PACKED_SINGLE_INSN_OPTIMAL.
      	(TARGET_CPU_DEFAULT_NAMES): Add bdver1.
      	(processor_type): Add PROCESSOR_BDVER1.
      	* config/i386/i386.md: Add bdver1 as a new cpu attribute to match
      	processor_type in config/i386/i386.h.
      	Add check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit
      	movaps <reg, reg> instead of movapd <reg, reg> when replacing
      	movsd <reg, reg> or movss <reg, reg> for SSE and AVX.
      	Add check for  TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL
      	to emit packed xor instead of packed double/packed integer
      	xor for SSE and AVX when moving a zero value.
      	* config/i386/sse.md: Add check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL
      	 to emit movaps instead of movapd/movdqa for SSE and AVX.
      	Add check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit packed single
      	logical operations i.e and, or and xor instead of packed double logical
      	operations for SSE and AVX. 
      	* config/i386/i386-c.c: 
      	(ix86_target_macros_internal): Add PROCESSOR_BDVER1.
      	* config/i386/driver-i386.c: Turn on -mtune=native for BDVER1.
      	(has_fma4, has_xop): New.
      	* config/i386/i386.c (bdver1_cost): New variable.
      	(m_BDVER1): New macro.
      	(m_AMD_MULTIPLE): Add m_BDVER1.
      	(x86_tune_use_leave, x86_tune_push_memory, x86_tune_unroll_strlen,
      	 x86_tune_deep_branch_prediction, x86_tune_use_sahf, x86_tune_movx,
      	 x86_tune_use_simode_fiop, x86_tune_promote_qimode, 
      	 x86_tune_add_esp_8, x86_tune_tune_sub_esp_4, x86_tune_sub_esp_8,
      	 x86_tune_integer_dfmode_moves, x86_tune_partial_reg_dependency,
      	 x86_tune_sse_partial_reg_dependency, x86_tune_sse_unaligned_load_optimal,
      	 x86_tune_sse_unaligned_store_optimal, x86_tune_sse_typeless_stores,
      	 x86_tune_memory_mismatch_stall, x86_tune_use_ffreep,
      	 x86_tune_inter_unit_moves, x86_tune_inter_unit_conversions,
      	 x86_tune_use_bt, x86_tune_pad_returns, x86_tune_slow_imul_imm32_mem,
      	 x86_tune_slow_imul_imm8, x86_tune_fuse_cmp_and_branch): 
      	Enable/disable for bdver1.
      	(processor_target_table): Add bdver1_cost.
      	(cpu_names): Add bdver1.
      	(override_options): Set up PROCESSOR_BDVER1 for bdver1 entry in
      	 processor_alias_table.
      	(ix86_expand_vector_move_misalign): Change 
      	 TARGET_SSE_UNALIGNED_MOVE_OPTIMAL to TARGET_SSE_UNALIGNED_LOAD_OPTIMAL.
      	 Check for TARGET_SSE_UNALIGNED_STORE_OPTIMAL.
      	 Check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit movups instead
      	 of movupd/movdqu for SSE and AVX.
      	(ix86_tune_issue_rate): Add PROCESSOR_BDVER1.
      	(ix86_tune_adjust_cost): Add code for bdver1.
      	(standard_sse_constant_opcode): Add check for
      	TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit packed single xor instead
      	of packed double xor for SSE and AVX.
      
      From-SVN: r159399
      Harsha Jagasia committed
    • tree-ssa-loop.prefetch.c (prune_ref_by_group_reuse): Cast abs() result to unsigned. · e972cc7e
      	* tree-ssa-loop.prefetch.c (prune_ref_by_group_reuse): Cast abs()
      	result to unsigned.
      
      From-SVN: r159397
      Pat Haugen committed
    • toplev.c (default_debug_hooks): Remove this variable. · 6a080096
      2010-05-14  Tristan Gingold  <gingold@adacore.com>
      
      	* toplev.c (default_debug_hooks): Remove this variable.
      	(process_options): Remove assignments to default_debug_hooks.
      
      From-SVN: r159396
      Tristan Gingold committed
    • cp-lang.c (LANG_HOOKS_FOLD_OBJ_TYPE_REF): Remove both its undef and define. · b5023f3c
      2010-05-14  Martin Jambor  <mjambor@suse.cz>
      
      	* cp/cp-lang.c (LANG_HOOKS_FOLD_OBJ_TYPE_REF): Remove both its undef
      	and define.
      
      	* langhooks-def.h (LANG_HOOKS_FOLD_OBJ_TYPE_REF): Remove.
      	(LANG_HOOKS_INITIALIZER): Remove LANG_HOOKS_FOLD_OBJ_TYPE_REF.
      	* langhooks.h (struct lang_hooks_for_decls): Removed field
      	fold_obj_type_ref.
      	* tree.c (free_lang_data): Remove assignment to
      	lang_hooks.fold_obj_type_ref.
      	* tree.def (OBJ_TYPE_REF): Update comment.
      
      From-SVN: r159393
      Martin Jambor committed
    • re PR tree-optimization/44124 (valgrind reports invalid read while compiling compile/pr34091.c) · 6141b7db
      2010-05-14  Richard Guenther  <rguenther@suse.de>
      
      	PR tree-optimization/44124
      	* tree-ssa-sccvn.c (vn_nary_may_trap): Fix invalid memory access.
      
      From-SVN: r159390
      Richard Guenther committed
    • trans.c (trans_code): Set backend locus early. · 88e09c79
      	* trans.c (trans_code): Set backend locus early.
      	* trans-decl.c (gfc_get_fake_result_decl): Use source location
      	of the function instead of current input_location.
      
      	* gfortran.dg/gomp/pr44036-1.f90: Adjust.
      
      From-SVN: r159388
      Jakub Jelinek committed
    • Fix long lines · c46a5e28
      From-SVN: r159386
      Eric Botcazou committed
    • call.c (build_new_method_call): Change warning text. · a940d033
      2010-05-14  Jonathan Wakely  <jwakely.gcc@gmail.com>
      
      	* call.c (build_new_method_call): Change warning text.
      	* typeck2.c (build_functional_cast): Change error text.
      
      From-SVN: r159385
      Jonathan Wakely committed
    • re PR c++/30566 (-Wshadow warns about clashes between nested function parameters in C++) · 74b80262
      gcc/cp/
      2010-05-14  Shujing Zhao  <pearly.zhao@oracle.com>
      
              PR c++/30566
              * name-lookup.c (pushdecl_maybe_friend): Avoid the warnings about
              shadowing the outer parameter or variables by the declaration of
              nested function in nested structure or class. Warn the shadowing by
              the declaration of nested lambda expression.
      
      gcc/testsuite/
      2010-05-14  Shujing Zhao  <pearly.zhao@oracle.com>
      
              PR c++/30566
              * testsuite/g++.dg/warn/Wshadow-4.C: Adjust.
              * testsuite/g++.dg/warn/Wshadow-5.C: New test.
              * testsuite/g++.dg/warn/Wshadow-6.C: New test.
      
      From-SVN: r159383
      Shujing Zhao committed
    • re PR target/44075 (__builtin_eh_return miscompiled) · e15a8cbe
      	PR target/44075
      	* config/rs6000/rs6000.c (struct machine_function): Reorder
      	fields for better packing.  Add lr_save_state.
      	(rs6000_ra_ever_killed): Return lr_save_state if set.
      	(rs6000_emit_eh_reg_restore): Set lr_save_state.
      
      From-SVN: r159382
      Alan Modra committed
    • Daily bump. · 3d8d607e
      From-SVN: r159381
      GCC Administrator committed
  3. 13 May, 2010 10 commits