aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2011-05-02Upgrade the utility of timevars.Lawrence Crowl15-262/+907
Index: gcc/ChangeLog 2011-04-27 Lawrence Crowl <crowl@google.com> * timevar.h (timevar_cond_start): Remove unused POP_TIMEVAR_AND_RETURN. (timevar_cond_start): New for starting a timer only when it is not already running. (timevar_cond_stop): New for stopping a timer when it was not already running. * timevar.c (timevar_stop): Enable start/stop timers to start again. (timevar_cond_start): New as above. (timevar_cond_stop): New as above. * timevar.def: Add start/stop timers for compiler phases, TV_PHASE_SETUP, TV_PHASE_PARSING, TV_PHASE_DEFERRED, TV_PHASE_CGRAPH, TV_PHASE_DBGINFO (C), TV_PHASE_CHECK_DBGINFO (C++), TV_PHASE_GENERATE, and TV_PHASE_FINALIZE. Change push/pop timer TV_PARSE to TV_PARSE_GLOBAL. Add push/pop timers TV_PARSE_STRUCT, TV_PARSE_ENUM, TV_PARSE_FUNC, TV_PARSE_INLINE, TV_PARSE_INMETH, TV_TEMPLATE_INST. Change push/pop timer TV_NAME_LOOKUP into a start/stop timer. Make unused TV_OVERLOAD into a start/stop timer. Remove unused timers TV_OVERLOAD, TV_TEMPLATE_INSTANTIATION. Mark the strings for TV_NAME_LOOKUP and TV_OVERLOAD with a "|" to indicate that they are start/stop timers. * toplev.c (compile_file): Change TV_PARSE to TV_PARSE_GLOBAL. Add start/stop timers TV_PHASE_PARSING and TV_PHASE_GENERATE. Move initialization to do_compile. (do_compile): Add initialization from above. Add start/stop timers TV_PHASE_SETUP and TV_PHASE_FINALIZE. * c-decl.c (c_write_global_declarations): Add start/stop of TV_PHASE_DEFERRED, TV_PHASE_CGRAPH, TV_PHASE_DBGINFO. * c-parser.c (c_parser_declaration_or_fndef): Push/pop TV_PARSE_FUNC or TV_PARSE_INLINE, as appropriate. (c_parser_enum_specifier): Push/pop TV_PARSE_ENUM. (c_parser_struct_or_union_specifier): Push/pop TV_PARSE_STRUCT. Index: gcc/cp/ChangeLog 2011-04-27 Lawrence Crowl <crowl@google.com> * decl.c: (push_local_name): Change TV_NAME_LOOKUP to start/stop. (poplevel): Refactor POP_TIMEVAR_AND_RETURN to plain code. Change TV_NAME_LOOKUP to start/stop. (define_label): Refactor timevar calls out to a wrapper function. Change TV_NAME_LOOKUP to start/stop. (xref_tag): Likewise. (lookup_label): Refactor timevar calls out to a wrapper function. Change TV_NAME_LOOKUP to start_cond/stop_cond. * pt.c: (instantiate_class_template): Add a wrapper to push/pop new TV_TEMPLATE_INST. (instantiate_template): Add a wrapper to push/pop new TV_TEMPLATE_INST. (lookup_template_class): Refactor timevar calls out to a wrapper function. Change use of TV_NAME_LOOKUP to TV_TEMPLATE_INST. (instantiate_decl): Change TV_PARSE to TV_TEMPLATE_INST. * name-lookup.c: (store_bindings): Change TV_NAME_LOOKUP to start/stop. (poplevel_class): Change TV_NAME_LOOKUP to start_cond/stop_cond. (push_namespace): Likewise. (pop_nested_namespace): Likewise. (pushdecl_namespace_level): Likewise. (store_class_bindings): Likewise. (push_to_top_level): Likewise. (identifier_type_value): Refactor timevar calls out to a wrapper function. Change TV_NAME_LOOKUP to start/stop. (find_binding): Likewise. (push_using_decl): Likewise. (lookup_arg_dependent): Likewise. (push_using_directive): Likewise. (qualified_lookup_using_namespace): Refactor POP_TIMEVAR_AND_RETURN to plain code. Change TV_NAME_LOOKUP to start/stop. (lookup_type_current_level): Likewise. Refactor inner return to break. (pushdecl_class_level): Refactor POP_TIMEVAR_AND_RETURN to plain code. Change TV_NAME_LOOKUP to start_cond/stop_cond. (pushdecl_top_level_1): Likewise. (lookup_using_namespace): Likewise. (pushdecl_with_scope): Refactor timevar calls out to a wrapper function. Change TV_NAME_LOOKUP to start_cond/stop_cond. (push_overloaded_decl): Likewise. (push_class_level_binding): Likewise. (namespace_binding): Likewise. (set_namespace_binding): Likewise. (supplement_binding): Likewise. (unqualified_namespace_lookup): Likewise. (lookup_name_real): Likewise. (lookup_type_scope): Likewise. (namespace_ancestor): Likewise. (lookup_name_innermost_nonclass_level): Likewise. (pushtag): Likewise. (pop_from_top_level): Likewise. (pushdecl_maybe_friend): Refactor timevar calls out to a wrapper function. Change TV_NAME_LOOKUP to start_cond/stop_cond. Wrap long lines. (add_using_namespace): Refactor timevar calls out to a wrapper function. Change TV_NAME_LOOKUP to start_cond/stop_cond. Bypass wrapper on call to self. * decl2.c: (cp_write_global_declarations): Add start/stop of new TV_PHASE_DEFERRED, TV_PHASE_CGRAPH, TV_PHASE_CHECK_DBGINFO. Remove push/pop calls to TV_VARCONST. * parser.c: Add include of "timevar.h". (cp_parser_explicit_instantiation): Add push/pop calls to TV_TEMPLATE_INST. (cp_parser_enum_specifier): Add push/pop calls to new TV_PARSE_ENUM. (cp_parser_class_specifier): Add wrapper to add push/pop calls to TV_PARSE_STRUCT. (cp_parser_function_definition_from_specifiers_and_declarator): Add push/pop calls to new TV_PARSE_FUNC or TV_PARSE_INLINE. (cp_parser_late_parsing_for_member): Add push/pop calls to new TV_PARSE_INMETH. * call.c: Add include of "timevar.h". (convert_class_to_reference): Wrap and add push/pop calls to TV_OVERLOAD. (build_op_call): Likewise. (build_conditional_expr): Likewise. (build_new_op): Likewise. (build_new_method_call): Likewise. (build_user_type_conversion): Reorganize to single return and add push/pop calls to TV_OVERLOAD. (perform_overload_resolution): Likewise. * Make-lang.in: Add dependence of call.o and parser.o on $(TIMEVAR_H). From-SVN: r173277
2011-05-02tree.c (build_vec_init_expr): Take complain parm.Jason Merrill4-13/+24
* tree.c (build_vec_init_expr): Take complain parm. (build_vec_init_elt): Likewise. Free arg vector. (diagnose_non_constexpr_vec_init, build_array_copy): Adjust. * cp-tree.h (VEC_INIT_EXPR_SLOT): Use VEC_INIT_EXPR_CHECK. (VEC_INIT_EXPR_INIT): Likewise. Adjust build_vec_init_expr declaration. * init.c (perform_member_init): Adjust. From-SVN: r173275
2011-05-02revert: re PR c++/40975 (ICE in copy_tree_r on array new)Jason Merrill7-105/+56
Revert: PR c++/40975 * cp-tree.def (VEC_INIT_EXPR): Add third operand. * cp-tree.h (VEC_INIT_EXPR_NELTS): New. * cp-gimplify.c (cp_gimplify_expr) [VEC_INIT_EXPR]: Handle it. * tree.c (build_vec_init_expr): Handle getting pointer/nelts. (build_vec_init_elt): Don't expect an array type. (build_array_copy): Adjust. * init.c (perform_member_init): Adjust. (build_new_1): Use build_vec_init_expr. From-SVN: r173274
2011-05-02re PR c++/40975 (ICE in copy_tree_r on array new)Jason Merrill2-2/+19
PR c++/40975 * tree-inline.c (copy_tree_r): Handle STATEMENT_LIST. From-SVN: r173273
2011-05-02re PR c++/48834 (-fno-exceptions causes wrong code generation on C++ code)Jason Merrill4-1/+32
PR c++/48834 * tree.c (build_vec_init_expr): Set TREE_SIDE_EFFECTS. Protect an explicit target. From-SVN: r173272
2011-05-02re PR c/35445 (ICE with conflicting declarations)Simon Martin4-1/+18
gcc/ 2011-05-02 Simon Martin <simartin@users.sourceforge.net> PR c/35445 * c-decl.c (finish_decl): Only create a composite if the types are compatible. gcc/testsuite/ 2011-05-02 Simon Martin <simartin@users.sourceforge.net> PR c/35445 * gcc.dg/pr35445.c: New test. From-SVN: r173269
2011-05-02mmx.md (*movv2sf_internal_rex64): Fix %vmovlps template.Uros Bizjak1-2/+2
* config/i386/mmx.md (*movv2sf_internal_rex64): Fix %vmovlps template. (*movv2sf_internal): Ditto. From-SVN: r173267
2011-05-02fr30-protos.h (Mmode): Don't define.Joseph Myers7-56/+56
* config/fr30/fr30-protos.h (Mmode): Don't define. * config/m32r/m32r-protos.h (Mmode): Don't define. Expand definition where used. * config/mn10300/mn10300-protos.h (Mmode, Cstar, Rclas): Don't define. Expand definitions where used. * config/rx/rx-protos.h (Mmode, Fargs, Rcode): Don't define. Expand definitions where used. * config/rx/rx.c (rx_is_legitimate_address, rx_function_arg_size, rx_function_arg, rx_function_arg_advance, rx_function_arg_boundary): Expand definitions of those macros. * config/v850/v850-protos.h (Mmode): Don't define. Expand definition where used. From-SVN: r173266
2011-05-02mmx.md (*mov<mode>_internal_rex64): Use %vmovq for reg<->xmm moves.Uros Bizjak3-139/+124
* config/i386/mmx.md (*mov<mode>_internal_rex64): Use %vmovq for reg<->xmm moves. (*mov<mode>_internal): Merge with *mov<mode>_internal_avx. (*movv2sf_internal_rex64): Use %vmovq for reg<->xmm moves. Merge with *movv2sf_internal_rex64_avx. (*movv2sf_internal): Merge with *movv2sf_internal_avx. * config/i386/i386.md (*movdi_internal_rex64) <TYPE_SSEMOV>: Use %v prefix in insn mnemonic to handle TARGET_AVX. (*movdi_internal): Add "isa" attribute. Use "maybe_vex" instead of "vex" in "prefix" attribute calculation. (*movdf_internal): Output AVX mnemonics. Add "prefix" attribute. From-SVN: r173265
2011-05-02re PR c++/48446 (internal compiler error: in gimplify_var_or_parm_decl, at ↵Jason Merrill4-11/+80
gimplify.c:1946) PR c++/48446 * decl.c (stabilize_save_expr_r, stabilize_vla_size): New. (compute_array_index_type): Revert earlier 48446 changes. (grokdeclarator): Use stabilize_vla_size. From-SVN: r173264
2011-05-02parser.c (cp_parser_init_declarator): Set pushed_scope to NULL_TREE instead ↵Dmitry Gorbachev2-2/+8
of inappropriate zero values. * parser.c (cp_parser_init_declarator): Set pushed_scope to NULL_TREE instead of inappropriate zero values. Co-Authored-By: Eric Botcazou <ebotcazou@adacore.com> From-SVN: r173263
2011-05-02re PR target/47951 (web.c:union_match_dups segmentation fault for bfin)Stuart Henderson2-4/+10
2011-05-02 Stuart Henderson <shenders@gcc.gnu.org> PR target/47951 * config/bfin/bfin.md (loop_end): Use matching constraints to ensure inputs match the output. From-SVN: r173261
2011-05-02re PR target/47955 (gcc.dg/stack-usage-1.c fails on m68k-linux)Andreas Schwab2-0/+10
PR target/47955 * gcc/config/m68k/m68k.c (m68k_expand_prologue): Set current_function_static_stack_size. From-SVN: r173260
2011-05-02lto-streamer.c (lto_streamer_cache_insert_1, [...]): Use pointer map instead ↵Jan Hubicka3-26/+16
of hashtable. * lto-streamer.c (lto_streamer_cache_insert_1, lto_streamer_cache_lookup, lto_streamer_cache_create, lto_streamer_cache_delete): Use pointer map instead of hashtable. * lto-streamer.h (lto_streamer_cache_d): Turn node_map into pointer_map. From-SVN: r173259
2011-05-02gcc_update (gcc/config/m68k/m68k-tables.opt): New dependencies.Joseph Myers11-113/+728
contrib: * gcc_update (gcc/config/m68k/m68k-tables.opt): New dependencies. gcc: * config/m68k/genopt.sh, config/m68k/m68k-isas.def, config/m68k/m68k-microarchs.def, config/m68k/m68k-opts.h, config/m68k/t-opts: New files. * config/m68k/m68k-tables.opt: New file (generated). * config.gcc (fido-*-*, m68k-*-*): Add m68k/m68k-tables.opt to extra_options and m68k/t-opts to tmake_file. * config/m68k/m68k.c (m68k_library_id_string): More to m68k.opt. (all_isas): Initialize using m68k-isas.def. (all_microarchs): Initialize using m68k-microarchs.def. (m68k_find_selection): Remove. (m68k_handle_option): Don't assert that global structures are in use. Use error_at. Access variables via opts pointer. Don't handle -march=, -mcpu= and -mtune= here. Set gcc_options fields directly for -m68020-40 and -m68020-60. (m68k_option_override): Set m68k_arch_entry, m68k_cpu_entry and m68k_tune_entry here. * config/m68k/m68k.h (enum uarch_type, enum target_device): Move to m68k-opts.h. (m68k_library_id_string): Remove declaration. * config/m68k/m68k.opt (config/m68k/m68k-opts.h): New HeaderInclude. (m68k_library_id_string): New Variable. (march=, mcpu=, mtune=): Use Enum and Var. From-SVN: r173256
2011-05-02varasm.c (output_constructor_regular_field): Compute zero-based index with ↵Richard Guenther3-12/+20
double-ints. 2011-05-02 Richard Guenther <rguenther@suse.de> * varasm.c (output_constructor_regular_field): Compute zero-based index with double-ints. Make sure to ICE instead of producing wrong code. * cgraph.c (cgraph_add_thunk): Do not create new tree nodes in asserts. Properly use a signed type. From-SVN: r173255
2011-05-02sse.md (V): New mode iterator.Uros Bizjak2-358/+377
* config/i386/sse.md (V): New mode iterator. (V_128): Rename from SSEMODE. Make V2DF mode conditional on TARGET_SSE2. (V_256): Rename from AVX256MODE. (VF): Make V4SF mode unconditional. Add TARGET_SSE instruction condition to all users. (VF1): Ditto. (VF2): Make V2DF mode unconditional. Add TARGET_SSE2 instruction condition to all users. (VF_128): Make V4SF mode unconditional. (VF_256): Rename from AVX256MODEF2P. (VI4F_128): Rename from SSEMODE4S. (VI8F_128): Rename from SSEMODE2D. (VI4F_256): Rename from AVX256MODE8P. (VI8F_256): Rename from AVX256MODE4P. (avxsizesuffix): Add V16HI, V4DI, V8HI and V2DI modes. (ssescalarmodesuffix): Remove SF and DF modes. (SSEMODE124): Remove. (SSEMODE1248): Ditto. (SSEMODEF2P): Ditto. (AVXMODEF2P): Ditto. (AVXMODEFDP): Ditto. (AVXMODEFSP): Ditto. (VEC_EXTRACT_MODE): Make V16QI, V8HI, V4SI, V2DI, V4SF and V2DF modes unconditional. (VEC_EXTRACT_EVENODD_MODE): Rename from SSEMODE_EO. Make V4SF mode unconditional. (xop_pcmov_<mode><avxsizesuffix>): Merge from xop_pcmov_<mode> and xop_pcmov_<mode>256. Use V mode iterator. Adjust RTX patterns globally for renamed mode attributes. From-SVN: r173253
2011-05-02haifa-sched.c (sched_emit_insn): Emit insn before first non-scheduled insn.Ulrich Weigand2-2/+15
* haifa-sched.c (sched_emit_insn): Emit insn before first non-scheduled insn. Inform back-end about new insn. Add new insn to scheduled_insns list. From-SVN: r173251
2011-05-02re PR tree-optimization/48822 (G++ gets stucks and never finishes ↵Richard Guenther4-7/+52
compilation when enabling -O2/3 optimization options.) 2011-05-02 Richard Guenther <rguenther@suse.de> PR tree-optimization/48822 * tree-ssa-sccvn.c (set_ssa_val_to): Never go up the lattice. (process_scc): Indicate which iteration we start. * gcc.dg/torture/pr48822.c: New testcase. From-SVN: r173250
2011-05-02re PR c++/47969 ([C++0x] ICE: SIGSEGV in compute_array_index_type ↵Paolo Carlini4-1/+34
(cp/decl.c:7522)) /cp 2011-05-02 Paolo Carlini <paolo.carlini@oracle.com> PR c++/47969 * decl.c (compute_array_index_type): Check build_expr_type_conversion return value for NULL_TREE. /testsuite 2011-05-02 Paolo Carlini <paolo.carlini@oracle.com> PR c++/47969 * g++.dg/cpp0x/constexpr-47969.C: New. From-SVN: r173249
2011-05-02lto-section-in.c (lto_input_1_unsigned): Move to lto-streamer.hJan Hubicka4-32/+55
* lto-section-in.c (lto_input_1_unsigned): Move to lto-streamer.h (lto_section_overrun): New. * lto-section-out.c (append_block): Rename to ... (lto_append_block): ... this one; export. (lto_output_1_stream): Move lto lto-streamer.h (lto_output_data_stream): Update. * lto-streamer.h (lto_section_overrun, lto_append_block): Declare. (lto_output_1_stream, lto_input_1_unsigned): Turn into inline functions. From-SVN: r173247
2011-05-02re PR testsuite/48498 (Several gcc.dg/vect tests XPASS on SPARC)Ira Rosen3-6/+14
PR testsuite/48498 * gcc.dg/vect/slp-3.c: Increase loop bound. Don't expect to fail on vect_no_align targets. * gcc.dg/vect/no-vfa-pr29145.c: Don't expect to fail on vect_no_align targets. From-SVN: r173245
2011-05-02tree.c (tree_code_counts): New global array.Richard Guenther2-0/+14
2011-05-02 Richard Guenther <rguenther@suse.de> * tree.c (tree_code_counts): New global array. (record_node_allocation_statistics): Count individual tree codes. (dump_tree_statistics): Dump individual code stats. From-SVN: r173244
2011-05-02new testsXinliang David Li3-0/+95
From-SVN: r173242
2011-05-02Daily bump.GCC Administrator1-1/+1
From-SVN: r173240
2011-05-01ipa-inline.c (caller_growth_limits): Fix thinko whenJan Hubicka4-8/+32
* ipa-inline.c (caller_growth_limits): Fix thinko when * ipa-inline.c (caller_growth_limits): Fix thinko when looking for largest stack frame. * ipa-inline.h (dump_inline_summary): Declare. * ipa-inline-analysis.c (dump_inline_edge_summary): Dump info on stack usage. (dump_inline_summary): Export. (debug_inline_summary): Declare as DEBUG_FUNCTION. From-SVN: r173234
2011-05-01re PR libfortran/48787 (Invalid UP/DOWN rounding with F editing)Jerry DeLisle2-9/+21
2011-05-01 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libgfortran/48787 * gfortran.dg/round_3.f08: Add more checks. From-SVN: r173233
2011-05-01reginfo.c (memory_move_cost): Change rclass argument type form 'enum ↵Anatoly Sokolov8-24/+45
reg_class' to reg_class_t. * reginfo.c (memory_move_cost): Change rclass argument type form 'enum reg_class' to reg_class_t. * reload.h (memory_move_cost): Update prototype. * postreload.c reload_cse_simplify_set): Change type dclass var to reg_class_t. * ira-int.h (ira_allocate_cost_vector, ira_free_cost_vector): Update prototype. (ira_allocate_and_set_costs): Change aclass argument type form 'enum reg_class' to reg_class_t. * ira-build.c (ira_allocate_cost_vector, ira_free_cost_vector): Change aclass argument type to reg_class_t. (update_conflict_hard_reg_costs): Change type aclass and pref vars to reg_class_t. * gcc/ira.c (setup_class_subset_and_memory_move_costs): Adjust memory_move_cost call. * config/ia64/ia64.c (ia64_register_move_cost): Remove 'from' and 'to' local var. Rename from_i and to_i arguments to 'from' and 'to'. Change type tmp var to reg_class_t. From-SVN: r173232
2011-05-01Daily bump.GCC Administrator1-1/+1
From-SVN: r173229
2011-04-30gnatvsn.ads (Library_Version): Bump to 4.7.Eric Botcazou2-3/+8
* gnatvsn.ads (Library_Version): Bump to 4.7. (Current_Year): Bump to 2011. From-SVN: r173224
2011-04-30dump-prase-tree.c (show_code_node): Set the current namespace to the BLOCK ↵Thomas Koenig2-0/+11
before displaying it; restore afterwards. 2011-04-30 Thomas Koenig <tkoenig@gcc.gnu.org> * dump-prase-tree.c (show_code_node): Set the current namespace to the BLOCK before displaying it; restore afterwards. From-SVN: r173223
2011-04-30re PR fortran/48821 (IMPORT :: dummy_arg is rejected, while "IMPORT" ↵Tobias Burnus4-33/+39
imports it) 2011-04-30 Tobias Burnus <burnus@net-b.de> PR fortran/48821 * gfortran.dg/import9.f90: New, proper test. * gfortran.dg/interface_37.f90: Remove bogus test (bogus copy of interface_36.f90). From-SVN: r173221
2011-04-30re PR fortran/48800 (ICE with non-allocatable/pointer deferred-shape array)Tobias Burnus4-1/+43
2011-04-30 Tobias Burnus <burnus@net-b.de> PR fortran/48800 * decl.c (gfc_match_import): Don't try to find the symbol if already found. 2011-04-30 Tobias Burnus <burnus@net-b.de> PR fortran/48800 * gfortran.dg/interface_37.f90: New. From-SVN: r173219
2011-04-30cp-tree.h (LOOKUP_EXPLICIT_TMPL_ARGS): Define.Diego Novillo8-8/+147
cp/ChangeLog 2011-04-29 Le-Chun Wu <lcwu@google.com> * cp-tree.h (LOOKUP_EXPLICIT_TMPL_ARGS): Define. * call.c (build_new_function_call): Set it for TEMPLATE_ID_EXPRs. (build_over_call): Use it to determine whether to emit a NULL warning for template function instantiations. (build_new_method_call): Set LOOKUP_EXPLICIT_TMPL_ARGS if EXPLICIT_TARGS is set. 2011-04-29 Diego Novillo <dnovillo@google.com> Le-Chun Wu <lcwu@google.com> * call.c (conversion_null_warnings): Also handle assignments when warning about NULL conversions. testsuite/ChangeLog 2011-04-29 Le-Chun Wu <lcwu@google.com> * g++.dg/warn/Wnull-conversion-1.C: New. * g++.dg/warn/Wnull-conversion-2.C: New. 2011-04-29 Le-Chun Wu <lcwu@google.com> * g++.dg/warn/Wconversion-null-2.C: Do not expect a NULL warning in implicitly instantiated templates. 2011-04-29 Diego Novillo <dnovillo@google.com> * g++.old-deja/g++.other/null3.C: Expect warning about converting boolean to a pointer. From-SVN: r173217
2011-04-30ipa-inline.c (can_inline_edge_p): Disregard limits when inlining into ↵Jan Hubicka2-3/+48
function with flatten attribute. * ipa-inline.c (can_inline_edge_p): Disregard limits when inlining into function with flatten attribute. (want_inline_small_function_p): Be more realistic about inlining cold calls where callee size grows. From-SVN: r173216
2011-04-30cgraph.c (cgraph_create_virtual_clone): Clear constructor/destructor flags.Jan Hubicka2-0/+7
* cgraph.c (cgraph_create_virtual_clone): Clear constructor/destructor flags. From-SVN: r173215
2011-04-30re PR fortran/48746 (Matmul with allocate on assignment)Paul Thomas4-6/+54
2011-04-30 Paul Thomas <pault@gcc.gnu.org> PR fortran/48746 * trans-expr.c (fcncall_realloc_result): Set the bounds and the offset so that the lbounds are one. (gfc_trans_arrayfunc_assign): Add rank to arguments of above. 2011-04-30 Paul Thomas <pault@gcc.gnu.org> PR fortran/48746 * gfortran.dg/realloc_on_assign_7.f03: Test bounds. From-SVN: r173213
2011-04-30sparc.h (PRINT_OPERAND, [...]): Remove.Anatoly Sokolov4-94/+127
* config/sparc/sparc.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS, PRINT_OPERAND_PUNCT_VALID_P): Remove. * config/sparc/sparc-protos.h (print_operand): Remove declaration. * config/sparc/sparc.c (TARGET_PRINT_OPERAND_PUNCT_VALID_P, TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define. (print_operand): Rename to... (sparc_print_operand): ...this. Make static. Adjust sparc_print_operand function call. (sparc_print_operand_punct_valid_p, sparc_print_operand_address): New functions. From-SVN: r173212
2011-04-30re PR middle-end/48752 (ICE in evaulate_conditions_for_edge at ↵Jan Hubicka2-0/+15
ipa-inline-analysis.c:466) PR middle-end/48752 * ipa-inline.c (early_inliner): Disable when doing late addition of function. From-SVN: r173211
2011-04-30dwarf2.h (DW_OP_GNU_const_type, [...]): New.Jakub Jelinek2-230/+1037
* 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
2011-04-30re PR testsuite/48809 (switch statement optimization error)Jakub Jelinek4-42/+92
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
2011-04-29tree-ssa-threadedge.c (thread_across_edge): Add missing return.Jeff Law4-0/+72
* tree-ssa-threadedge.c (thread_across_edge): Add missing return. * gcc.dg/tree-ssa/ssa-dom-thread-4.c: New test. From-SVN: r173206
2011-04-30Daily bump.GCC Administrator1-1/+1
From-SVN: r173204
2011-04-30cgraph.h (cgraph_postorder): Remove declaration.Martin Jambor14-137/+177
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
2011-04-29re PR c++/48606 (g++.dg/init/ctor9.C ICE: tree check: expected class 'type', ↵Paolo Carlini4-2/+24
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
2011-04-29inline-10.c: New testcase.Jan Hubicka5-91/+391
* 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
2011-04-29re PR fortran/48462 (realloc on assignment: matmul Segmentation Fault with ↵Paul Thomas4-10/+61
Allocatable Array) 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
2011-04-29re PR middle-end/48819 (350 execution failures in 64-bit libjava testsuite ↵Richard Guenther2-5/+8
on SPARC) 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
2011-04-29In gcc/: 2011-04-29 Nicola Pero <nicola.pero@meta-innovation.com>Nicola Pero4-2/+35
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
2011-04-29use tls for ic varsXinliang David Li3-1/+18
From-SVN: r173177