- 14 May, 2010 18 commits
-
-
From-SVN: r159413
Jan Hubicka committed -
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 -
From-SVN: r159409
Eric Botcazou committed -
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 -
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. (cgraph_remove_unreachable_nodes): Cleanup; fix problem with re-enqueueing node. From-SVN: r159405
Jan Hubicka committed -
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 -
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. From-SVN: r159397
Pat Haugen committed -
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 -
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 -
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. * 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 -
From-SVN: r159386
Eric Botcazou committed -
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 -
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 -
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 -
From-SVN: r159381
GCC Administrator committed
-
- 13 May, 2010 20 commits
-
-
* typeck.c (cp_build_array_ref): Factor out from... (build_array_ref): ...here. Drop complain parm. (build_new_op): Adjust. * class.c (build_vtbl_ref_1): Adjust. * decl2.c (grok_array_decl): Adjust. * cp-tree.h: Adjust prototypes. From-SVN: r159377
Jason Merrill committed -
From-SVN: r159372
Jan Hubicka committed -
* varpool.c (decide_is_variable_needed): Drop code checking TREE_SYMBOL_REFERENCED. From-SVN: r159371
Jan Hubicka committed -
* final.c (output_addr_const): Do not call mark_decl_referenced. * cgraphunit.c (process_function_and_variable_attributes): Use mark_needed_node dirrectly. (assemble_thunk): Do not call mark_decl_referenced. From-SVN: r159370
Jan Hubicka committed -
From-SVN: r159369
Anatoly Sokolov committed -
* ira-conflicts.c (print_allocno_conflicts): New function broken out from... (print_conflicts): Call print_allocno_conflicts. From-SVN: r159368
Jeff Law committed -
PR debug/44104 * dwarf2out.c (modified_type_die): Don't dereference mod_type_die if it is NULL. From-SVN: r159367
Jakub Jelinek committed -
gcc/fortran/: 2010-05-13 Daniel Franke <franke.daniel@gmail.com> PR fortran/35779 * intrinsic.c (gfc_init_expr): Renamed to gfc_init_expr_flag. Updated all usages. * expr.c (init_flag): Removed; use gfc_init_expr_flag everywhere. * array.c (match_array_list): Pass on gfc_init_expr_flag when matching iterators. gcc/testsuite/: 2010-05-13 Daniel Franke <franke.daniel@gmail.com> PR fortran/35779 * gfortran.dg/initialization_25.f90: New. From-SVN: r159366
Daniel Franke committed -
config.gcc (i[34567]86-*-mingw* | x86_64-*-mingw*): Choose t-mingw-w64 or t-mingw-w32 for multilib configuration. 2010-05-13 Kai Tietz <kai.tietz@onevision.com> * config.gcc (i[34567]86-*-mingw* | x86_64-*-mingw*): Choose t-mingw-w64 or t-mingw-w32 for multilib configuration. * config/i386/t-mingw-w32: New. * config/i386/t-mingw-w64 (MULTILIB_OSDIRNAMES): Change lib64 to lib. From-SVN: r159364
Kai Tietz committed -
2010-05-13 Martin Jambor <mjambor@suse.cz> * gimple.c (gimple_fold_obj_type_ref): Removed (a replacement moved to gimple-fold.c). * gimple-fold.c (get_base_binfo_for_type): New function. (gimple_get_relevant_ref_binfo): Likewise. (gimple_fold_obj_type_ref_known_binfo): Likewise. (gimple_fold_obj_type_ref): Likewise. (fold_gimple_call): Simplify condition for folding virtual calls and call gimple_fold_obj_type_ref. * gimple.h (gimple_get_relevant_ref_binfo): Declare. (gimple_fold_obj_type_ref_known_binfo): Likewise. * testsuite/g++.dg/otr-fold-1.C: New test. * testsuite/g++.dg/otr-fold-2.C: New test. From-SVN: r159362
Martin Jambor committed -
PR fortran/44036 * openmp.c (resolve_omp_clauses): Allow procedure pointers in clause variable lists. * trans-openmp.c (gfc_omp_privatize_by_reference): Don't privatize by reference dummy procedures or non-dummy procedure pointers. (gfc_omp_predetermined_sharing): Return OMP_CLAUSE_DEFAULT_FIRSTPRIVATE for dummy procedures. * gfortran.dg/gomp/pr44036-1.f90: New test. * gfortran.dg/gomp/pr44036-2.f90: New test. * gfortran.dg/gomp/pr44036-3.f90: New test. From-SVN: r159361
Jakub Jelinek committed -
(rs6000_mode_dependent_address_ptr): Change argument to const_rtx. * config/rs6000/rs6000.c (rs6000_mode_dependent_address) (rs6000_debug_mode_dependent_address) (rs6000_mode_dependent_address_ptr): Likewise. From-SVN: r159359
Andreas Schwab committed -
From-SVN: r159358
Eric Botcazou committed -
PR debug/43983 * var-tracking.c (track_expr_p): Allow tracking of variables optimized by SRA. * Makefile.in (dwarf2out.o): Depend on $(TREE_FLOW_H). * tree-sra.c (create_access_replacement): Call unshare_expr before passing expr to SET_DECL_DEBUG_EXPR, and remove any SSA_NAMEs from it. * dwarf2out.c: Include tree-flow.h. (struct var_loc_node): Rename var_loc_note field to loc, add comment. (size_of_loc_descr, output_loc_operands, output_loc_operands_raw): Handle DW_OP_bit_piece. (decl_piece_bitsize, decl_piece_varloc_ptr, decl_piece_node, construct_piece_list, adjust_piece_list): New functions. (add_var_loc_to_decl): Handle SRA optimized variables. Adjust for var_loc_note to loc field renaming. (dw_loc_list_1): For WANT_ADDRESS == 2 prefer DECL_MODE of decl in VAR_LOCATION note. (new_loc_descr_op_bit_piece): New function. (dw_sra_loc_expr): New function. (dw_loc_list): Use it. Don't handle the last range after the loop, handle it inside of the loop. Adjust for var_loc_note to loc field renaming. (add_location_or_const_value_attribute): Only special case single entry loc lists if loc is NOTE_P. Adjust for var_loc_note to loc field renaming. (dwarf2out_var_location): Don't set newloc->var_loc_note and newloc->next here. * gcc.dg/guality/sra-1.c: New test. From-SVN: r159357
Jakub Jelinek committed -
* tracebak.c (__gnat_backtrace): Mark top_stack with ATTRIBUTE_UNUSED. From-SVN: r159356
Andreas Schwab committed -
* cgraph.c (cgraph_mark_address_taken_node): No longer imply needed flag. * cgraph.h (cgraph_only_called_directly_p, cgraph_can_remove_if_no_direct_calls_p): test address_taken flag. (cgraph_can_remove_if_no_direct_calls_and_refs_p): New function. * cgraphunit.c (cgraph_mark_functions_to_output): Test address_taken. (assemble * ipa.c (cgraph_remove_unreachable_nodes): Use cgraph_can_remove_if_no_direct_calls_and_refs_p; clear address_taken flags. * tree-inline.c (copy_bb): Check address_taken flag. * tree-profile.c (tree_gen_ic_func_profiler): Check address_taken and externally_visible flag. * tree-ssa/unreachable.c: New test. From-SVN: r159354
Jan Hubicka committed -
* typeck.c (build_array_ref): Take complain parm. * cp-tree.h: Add it to prototype. * call.c (build_new_op): Pass it. * class.c (build_vtbl_ref): Pass it. * decl2.c (grok_array_decl): Pass it. From-SVN: r159351
Jason Merrill committed -
PR bootstrap/44048 PR target/44099 gcc/cp: * cp-tree.def (NULLPTR_TYPE): Remove. * cp-tree.h (NULLPTR_TYPE_P): New. (SCALAR_TYPE_P): Use it. (nullptr_type_node): New. (cp_tree_index): Add CPTI_NULLPTR_TYPE. * decl.c (cxx_init_decl_processing): Call record_builtin_type on nullptr_type_node. * cvt.c (ocp_convert): Use NULLPTR_TYPE_P instead of NULLPTR_TYPE. * cxx-pretty-print.c (pp_cxx_constant): Likewise. * error.c (dump_type, dump_type_prefix, dump_type_suffix): Likewise. * mangle.c (write_type): Likewise. * name-lookup.c (arg_assoc_type): Likewise. * typeck.c (build_reinterpret_cast_1): Likewise. * rtti.c (typeinfo_in_lib_p): Likewise. (emit_support_tinfos): Remove local nullptr_type_node. gcc: * dbxout.c (dbxout_type): Remove NULLPTR_TYPE handling. * sdbout.c (plain_type_1): Likewise. * dwarf2out.c (is_base_type): Likewise. (gen_type_die_with_usage): Likewise. Generate DW_TAG_unspecified_type for any LANG_TYPE. From-SVN: r159350
Jason Merrill committed -
* cp-tree.h (UNKNOWN_TYPE): Remove. * decl.c (cxx_init_decl_processing): Use LANG_TYPE instead. * error.c (dumy_type, dump_type_prefix, dump_type_suffix): Likewise. * typeck2.c (cxx_incomplete_type_diagnostic): Likewise. * class.c (instantiate_type): Check unknown_type_node rather than UNKNOWN_TYPE. * name-lookup.c (maybe_push_decl): Likewise. * rtti.c (get_tinfo_decl_dynamic): Likewise. (get_typeid): Likewise. * semantics.c (finish_offsetof): Likewise. From-SVN: r159349
Jason Merrill committed -
From-SVN: r159348
GCC Administrator committed
-
- 12 May, 2010 2 commits
-
-
* tests/leak_test.c (main): Declare as int. Return 0. * tests/thread_leak_test.c (main): Ditto. * tests/trace_test.c (main): Ditto. From-SVN: r159344
Uros Bizjak committed -
* cgraphbuild.c (build_cgraph_edges, rebuild_cgraph_edges): Build indrect edges too. * cgraph.c (cgraph_create_indirect_edge): Take ecf_flags argument. (cgraph_clone_edge): Update. (cgraph_node_remove_callees): Remove indirect calls too. * cgraph.h (cgraph_indirect_call_info): Add ecf_flags. (cgraph_create_indirect_edge): Update prototype. * ipa-reference.c (has_proper_scope_for_analysis): Rename to is_proper_for_analysis. (add_new_function, visited_nodes, function_insertion_hook_holder, get_local_reference_vars_info, mark_address_taken, mark_address, mark_load, mark_store, check_asm_memory_clobber, check_call, scan_stmt_for_static_refs, scan_initializer_for_static_refs): Remove. (ipa_init): Do not initialize visited_nodes; function_insertion_hook_holder. (analyze_variable): Rewrite. (analyze_function): Rewrite. (copy_local_bitmap): Remove. (duplicate_node_dat): Do not duplicate local info. (generate_summary): Simplify to only walk cgraph. (write_node_summary_p, ipa_reference_write_summary, ipa_reference_read_summary): Remove. (propagate): Do not remove function insertion; generate summary. (pass_ipa_reference): NULLify summary handling fields. * lto-cgraph.c (lto_output_edge): Output ecf_flags. (input_edge): Input ecf_flags. * ipa-prop.c (ipa_note_parm_call): Expect edge to be around. (update_indirect_edges_after_inlining): Ignore edges with unknown param. From-SVN: r159343
Jan Hubicka committed
-