aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2010-04-12pa.c (hppa_legitimize_address): Remove unused variable orig_base.Steve Ellcey3-20/+21
2010-04-12 Steve Ellcey <sje@cup.hp.com> * config/pa/pa.c (hppa_legitimize_address): Remove unused variable orig_base. * config/pa/pa.md (call, call_value): Remove unused variable call_insn. From-SVN: r158230
2010-04-12function.c (assign_parms_initialize_all): Add unused attribute to fntype.Steve Ellcey2-1/+6
2010-04-12 Steve Ellcey <sje@cup.hp.com> * function.c (assign_parms_initialize_all): Add unused attribute to fntype. From-SVN: r158228
2010-04-12gsstruct.def (GSS_CALL): New.Richard Biener1-2/+0
2010-04-12 Richard Guenther <rguenther@suse.de> * gsstruct.def (GSS_CALL): New. * gimple.def (GIMPLE_CALL): Change to GSS_CALL. * gimple.h: Include tree-ssa-alias.h. (struct gimple_statement_call): New. (union gimple_statement_struct_d): Add gimple_call member. (gimple_call_reset_alias_info): Declare. (gimple_call_use_set): New function. (gimple_call_clobber_set): Likewise. * Makefile.in (GIMPLE_H): Add tree-ssa-alias.h. * gimple.c (gimple_call_reset_alias_info): New function. (gimple_build_call_1): Call it. * lto-streamer-in.c (input_gimple_stmt): Likewise. * tree-inline.c (remap_gimple_stmt): Likewise. (expand_call_inline): Remove callused handling. * cfgexpand.c (update_alias_info_with_stack_vars): Likewise. * tree-dfa.c (dump_variable): Likewise. * tree-parloops.c (parallelize_loops): Likewise. * tree-ssa.c (init_tree_ssa): Likewise. (delete_tree_ssa): Likewise. * tree-flow-inline.h (is_call_used): Remove. * tree-flow.h (struct gimple_df): Remove callused member. * tree-nrv.c (dest_safe_for_nrv_p): Adjust predicate. * tree-ssa-alias.c (dump_alias_info): Remove callused handling. (ref_maybe_used_by_call_p_1): Simplify. (call_may_clobber_ref_p_1): Likewise. * tree-ssa-structalias.c (compute_points_to_sets): Set the call stmt used and clobbered sets. * tree-tailcall.c (suitable_for_tail_opt_p): Adjust predicate. (find_tail_calls): Verify the tail call. From-SVN: r158227
2010-04-12gsstruct.def (GSS_CALL): New.Richard Guenther17-78/+197
2010-04-12 Richard Guenther <rguenther@suse.de> * gsstruct.def (GSS_CALL): New. * gimple.def (GIMPLE_CALL): Change to GSS_CALL. * gimple.h: Include tree-ssa-alias.h. (struct gimple_statement_call): New. (union gimple_statement_struct_d): Add gimple_call member. (gimple_call_reset_alias_info): Declare. (gimple_call_use_set): New function. (gimple_call_clobber_set): Likewise. * Makefile.in (GIMPLE_H): Add tree-ssa-alias.h. * gimple.c (gimple_call_reset_alias_info): New function. (gimple_build_call_1): Call it. * lto-streamer-in.c (input_gimple_stmt): Likewise. * tree-inline.c (remap_gimple_stmt): Likewise. (expand_call_inline): Remove callused handling. * cfgexpand.c (update_alias_info_with_stack_vars): Likewise. * tree-dfa.c (dump_variable): Likewise. * tree-parloops.c (parallelize_loops): Likewise. * tree-ssa.c (init_tree_ssa): Likewise. (delete_tree_ssa): Likewise. * tree-flow-inline.h (is_call_used): Remove. * tree-flow.h (struct gimple_df): Remove callused member. * tree-nrv.c (dest_safe_for_nrv_p): Adjust predicate. * tree-ssa-alias.c (dump_alias_info): Remove callused handling. (ref_maybe_used_by_call_p_1): Simplify. (call_may_clobber_ref_p_1): Likewise. * tree-ssa-structalias.c (compute_points_to_sets): Set the call stmt used and clobbered sets. * tree-tailcall.c (suitable_for_tail_opt_p): Adjust predicate. (find_tail_calls): Verify the tail call. From-SVN: r158226
2010-04-12ipa.c (cgraph_postorder): Adjust postorder to guarantee single-iteration ↵Richard Guenther5-242/+277
always-inline inlining. 2010-04-12 Richard Guenther <rguenther@suse.de> * ipa.c (cgraph_postorder): Adjust postorder to guarantee single-iteration always-inline inlining. * ipa-inline.c (cgraph_mark_inline): Do not return anything. (cgraph_decide_inlining): Do not handle always-inline specially. (try_inline): Remove always-inline cycle detection special case. Do not recurse on always-inlines. (cgraph_early_inlining): Do not iterate if not optimizing. (cgraph_gate_early_inlining): remove. (pass_early_inline): Run unconditionally. (gate_cgraph_decide_inlining): New function. (pass_ipa_inline): Use it. Do not run the IPA inliner if not inlining or optimizing. (cgraph_decide_inlining_of_small_functions): Also consider always-inline functions. (cgraph_default_inline_p): Return true for nodes which should disregard inline limits. (estimate_function_body_sizes): Assume zero size and time for nodes which are marked as disregarding inline limits. (cgraph_decide_recursive_inlining): Do not perform recursive inlining on always-inline nodes. * gcc.dg/torture/inline-2.c: New testcase. From-SVN: r158225
2010-04-12re PR bootstrap/43699 ("variable set but not used" error during bootstrap)Jakub Jelinek4-1/+41
PR bootstrap/43699 * c-typeck.c (c_process_expr_stmt): Call mark_exp_read even for exprs satisfying handled_component_p. * gcc.dg/Wunused-var-7.c: New test. From-SVN: r158224
2010-04-12re PR tree-optimization/43560 (possible wrong code bug)Jakub Jelinek2-0/+33
PR tree-optimization/43560 * gcc.c-torture/execute/pr43560.c: New test. From-SVN: r158220
2010-04-12expr.c (categorize_ctor_elements_1): Properly count sub-elements of ↵Eric Botcazou8-11/+85
non-constant aggregate elements. * expr.c (categorize_ctor_elements_1): Properly count sub-elements of non-constant aggregate elements. * gimplify.c (gimplify_init_constructor): Do not pre-evaluate if this is a real initialization. From-SVN: r158219
2010-04-12re PR c++/43611 (ICE: SIGSEGV with -fipa-cp-clone -fkeep-inline-functions)Richard Guenther4-1/+36
2010-04-12 Richard Guenther <rguenther@suse.de> PR c++/43611 * semantics.c (expand_or_defer_fn_1): Do not keep extern template inline functions. * g++.dg/torture/pr43611.C: New testcase. From-SVN: r158218
2010-04-12trans.c (Identifier_to_gnu): Use boolean variable.Eric Botcazou3-103/+75
* gcc-interface/trans.c (Identifier_to_gnu): Use boolean variable. (call_to_gnu): Test gigi's flag TYPE_BY_REFERENCE_P instead of calling front-end's predicate Is_By_Reference_Type. Use consistent order and remove ??? comment. Use original conversion in all cases, if any. * gcc-interface/utils.c (make_dummy_type): Minor tweak. (convert): Use local copy in more cases. <INDIRECT_REF>: Remove deactivated code. (unchecked_convert): Use a couple of local copies. From-SVN: r158216
2010-04-12re PR c/36774 (-Wmissing-prototypes triggers on nested functions)Shujing Zhao5-4/+33
gcc/ 2010-04-12 Shujing Zhao <pearly.zhao@oracle.com> PR c/36774 * c-decl.c (start_function): Move forward check for nested function. gcc/testsuite/ 2010-04-12 Shujing Zhao <pearly.zhao@oracle.com> PR c/36774 * gcc.dg/pr36774-1.c: New test. * gcc.dg/pr36774-2.c: New test. From-SVN: r158214
2010-04-12Daily bump.GCC Administrator1-1/+1
From-SVN: r158212
2010-04-11sh-protos.h (sh_legitimize_reload_address): Declare.Kaz Kojima4-77/+99
* config/sh/sh-protos.h (sh_legitimize_reload_address): Declare. * config/sh/sh.c: Include reload.h. (sh_legitimize_reload_address): New. * config/sh/sh.h (LEGITIMIZE_RELOAD_ADDRESS): Use sh_legitimize_reload_address. From-SVN: r158208
2010-04-11sh.md (*movqi_pop): New insn pattern.Kaushik Phatak5-2/+80
* config/sh/sh.md (*movqi_pop): New insn pattern. * config/sh/predicates.md (sh_no_delay_pop_operand): New predicate. * gcc.target/sh/rte-delay-slot.c: New test. From-SVN: r158207
2010-04-11i386.md (any_shiftrt): New code iterator.Uros Bizjak2-266/+90
* config/i386/i386.md (any_shiftrt): New code iterator. (shiftrt_insn): New code attribute. (shiftrt): Ditto. (<shiftrt_insn><mode>3): Macroize expander from ashr<mode>3 and lshr<mode>3 using any_shiftrt code iterator. (*<shiftrt_insn><mode>3_doubleword): Macroize insn_and_split from *ashr<mode>3_doubleword and *lshr<mode>3_doubleword using any_shiftrt code iterator. (*<shiftrt_insn><mode>3_doubleword peephole2): Macroize peephole2 pattern from corresponding peephole2 patterns. (*<shiftrt_insn><mode>3_1): Macroize insn from *ashr<mode>3_1 and *lshr<mode>3_1 using any_shiftrt code iterator. (*<shiftrt_insn>si3_1_zext): Ditto from *ashrsi3_1_zext and *lshrsi3_1_zext. (*<shiftrt_insn>qi3_1_slp): Ditto from *ashrqi3_1_slp and *lshrqi3_1_slp. (*<shiftrt_insn><mode>3_cmp): Ditto from *ashr<mode>3_cmp and *lshr<mode>3_cmp. (*<shiftrt_insn><mode>3_cmp_zext): Ditto from *ashr<mode>3_cmp_zext and *lshr<mode>3_cmp_zext. (*<shiftrt_insn><mode>3_cconly): Ditto from *ashr<mode>3_cconly and *lshr<mode>3_cconly. From-SVN: r158205
2010-04-11i386.md (*ashr<mode>3_cconly): Fix wrong mode of scratch register.Uros Bizjak2-5/+11
* config/i386/i386.md (*ashr<mode>3_cconly): Fix wrong mode of scratch register. (*lshr<mode>3_cconly): Ditto. From-SVN: r158204
2010-04-11i386.md (lshr<mode>3): Macroize expander from lshr{qi,hi,si,di,ti}3_1 using ↵Uros Bizjak2-512/+197
SDWIM mode iterator. * config/i386/i386.md (lshr<mode>3): Macroize expander from lshr{qi,hi,si,di,ti}3_1 using SDWIM mode iterator. (*lshr<mode>3_doubleword): New insn_and_split_pattern. Macroize pattern from *lshr{di,ti}3_1 and corresponding splitters using DWI mode iterator. (*lshr<mode>3_doubleword peephole2): Macroize peephole2 pattern from corresponding peephole2 patterns. (*lshr<mode>3_1): Merge with *lshr{qi,hi,si}3_1_one_bit and *lshrdi3_1_one_bit_rex64. Macroize insn from *lshr{qi,hi,si}3_cmp and *lshrdi3_cmp_rex64 using SWI mode iterator. (*lshrqi3_1_slp): Merge with *lshrqi3_1_one_bit_slp. (*lshr<mode>3_cmp): Merge with *lshr{qi,hi,si}3_one_bit_cmp and *lshrdi3_one_bit_cmp_rex64. Macroize insn from *lshr{qi,hi,si}3_cmp and *lshrdi3_cmp_rex64 using SWI mode iterator. (*lshrsi3_cmp_zext): Merge with *lshrsi3_cmp_one_bit_zext. (*lshr<mode>3_cconly): Merge with *lshr{qi,hi,si}3_one_bit_cconly and *lshrdi3_one_bit_cconly_rex64. Macroize insn from *lshr{qi,hi,si}3_cconly and *lshrdi3_cconly_rex64 using SWI mode iterator. From-SVN: r158203
2010-04-11trans.c (lvalue_required_for_attribute_p): New static function.Eric Botcazou8-19/+109
* gcc-interface/trans.c (lvalue_required_for_attribute_p): New static function. (lvalue_required_p) <N_Attribute_Reference>: Call it. (gnat_to_gnu) <N_Selected_Component>: Prevent build_component_ref from folding the result only if lvalue_required_for_attribute_p is true. * gcc-interface/utils.c (maybe_unconstrained_array): Pass correctly typed constant to build_component_ref. (unchecked_convert): Likewise. * gcc-interface/utils2.c (maybe_wrap_malloc): Likewise. (build_allocator): Likewise. From-SVN: r158202
2010-04-11utils2.c (build_cond_expr): Take the address and dereference if the result ↵Eric Botcazou2-3/+10
type is passed by reference. * gcc-interface/utils2.c (build_cond_expr): Take the address and dereference if the result type is passed by reference. From-SVN: r158201
2010-04-11trans.c (Case_Statement_to_gnu): Bool-ify variable.Eric Botcazou2-4/+25
* gcc-interface/trans.c (Case_Statement_to_gnu): Bool-ify variable. (gnat_to_gnu) <N_Null_Statement>: When not optimizing, generate a goto to the next statement. From-SVN: r158200
2010-04-11Daily bump.GCC Administrator1-1/+1
From-SVN: r158199
2010-04-10i386.md (ashr<mode>3): Macroize expander from ashr{qi,hi,si,di,ti}3_1 using ↵Uros Bizjak4-604/+262
SDWIM mode iterator. * config/i386/i386.md (ashr<mode>3): Macroize expander from ashr{qi,hi,si,di,ti}3_1 using SDWIM mode iterator. (*ashr<mode>3_doubleword): New insn_and_split_pattern. Macroize pattern from *ashr{di,ti}3_1 and corresponding splitters using DWI mode iterator. (*ashr<mode>3_doubleword peephole2): Macroize peephole2 pattern from corresponding peephole2 patterns. (ashrdi3_cvt): Rename from ashrdi3_63_rex64. (ashrsi3_cvt): Rename from ashrsi3_31. (*ashrsi3_cvt_zext): Rename from *ashrsi3_31_zext. (x86_shift<mode>_adj_3): Macroize expander from x86_shift_adj_3 and x86_64_shift_adj_3 using SWI48 mode iterator. (*ashr<mode>3_1): Merge with *ashr{qi,hi,si}3_1_one_bit and *ashrdi3_1_one_bit_rex64. Macroize insn from *ashr{qi,hi,si}3_cmp and *ashrdi3_cmp_rex64 using SWI mode iterator. (*ashrqi3_1_slp): Merge with *ashrqi3_1_one_bit_slp. (*ashr<mode>3_cmp): Merge with *ashr{qi,hi,si}3_one_bit_cmp and *ashrdi3_one_bit_cmp_rex64. Macroize insn from *ashr{qi,hi,si}3_cmp and *ashrdi3_cmp_rex64 using SWI mode iterator. (*ashrsi3_cmp_zext): Merge with *ashrsi3_cmp_one_bit_zext. (*ashr<mode>3_cconly): Merge with *ashr{qi,hi,si}3_one_bit_cconly and *ashrdi3_one_bit_cconly_rex64. Macroize insn from *ashr{qi,hi,si}3_cconly and *ashrdi3_cconly_rex64 using SWI mode iterator. (sign_extend splitters): Update for renamed ashr{di,si}3_patterns. * config/i386/i386.c (ix86_split_ashr): Update for renamed x86_shift<mode>_adj_3 expander. From-SVN: r158195
2010-04-10re PR target/43417 (SH: 4.4 ICE in final_scan_insn, at final.c:2604)Jie Zhang2-0/+41
PR target/43417 * gcc.target/sh/pr43417.c: New test. From-SVN: r158192
2010-04-10re PR fortran/43591 (PPC: internal compiler error: in gfc_traverse_expr, at ↵Tobias Burnus4-1/+72
fortran/expr.c:3604) 2010-04-10 Tobias Burnus <burnus@net-b.de> PR fortran/43591 * expr.c (gfc_is_constant_expr, gfc_traverse_expr): Handle proc-pointers and type-bound procedures. (gfc_specification_expr): Check proc-pointers for pureness. 2010-04-10 Tobias Burnus <burnus@net-b.de> PR fortran/43591 * gfortran.dg/spec_expr_6.f90: New test. From-SVN: r158191
2010-04-10re PR target/42601 (Simplify code to address function static variables with ↵Wei Guozhi3-17/+70
option -fpic) PR target/42601 * config/arm/arm.c (arm_pic_static_addr): New function. (legitimize_pic_address): Call arm_pic_static_addr when it detects a static symbol. (arm_output_addr_const_extra): Output expression for new pattern. * config/arm/arm.md (UNSPEC_SYMBOL_OFFSET): New unspec symbol. From-SVN: r158189
2010-04-10reload1.c (eliminate_regs_in_insn): Don't restore an operand if doing so ↵Bernd Schmidt2-1/+7
would replace the entire pattern. * reload1.c (eliminate_regs_in_insn): Don't restore an operand if doing so would replace the entire pattern. From-SVN: r158188
2010-04-10Makefile.in (web.o): Depend on insn-config.h and $(RECOG_H).Bernd Schmidt3-19/+52
* Makefile.in (web.o): Depend on insn-config.h and $(RECOG_H). * web.c: Include "insn-config.h" and "recog.h". (union_match_dups): New function. (web_main): Call it. (union_defs): Don't try to recognize match_dups. From-SVN: r158187
2010-04-10ira-costs.c (record_reg_classes): Ignore alternatives that are not enabled.Bernd Schmidt2-0/+13
* ira-costs.c (record_reg_classes): Ignore alternatives that are not enabled. From-SVN: r158186
2010-04-10Daily bump.GCC Administrator1-1/+1
From-SVN: r158181
2010-04-09re PR target/43707 (gcc.c-torture/execute/ashldi-1.c)Uros Bizjak2-10/+23
PR target/43707 PR target/43709 * config/i386/i386.md (*ashl<mode>3_doubleword): Split to insn and splitter pattern. Change splitter operand 1 predicate to nonmemory_operand. From-SVN: r158177
2010-04-09ipa-cp.c (ipcp_lats_are_equal): Return true also if the two lattices are ↵Martin Jambor3-5/+31
addresses of CONST_DECLs with the same... 2010-04-09 Martin Jambor <mjambor@suse.cz> * ipa-cp.c (ipcp_lats_are_equal): Return true also if the two lattices are addresses of CONST_DECLs with the same initial value. (ipcp_print_all_lattices): Print values of CONST_DECLs. * ipa-prop.c (ipa_print_node_jump_functions): Likewise. From-SVN: r158176
2010-04-09loop-invariant.c (replace_uses): New static function.Eric Botcazou2-26/+50
* loop-invariant.c (replace_uses): New static function. (move_invariant_reg): Use it to ensure we can replace the uses. From-SVN: r158175
2010-04-09picochip.c (picochip_rtx_costs): Use correct function template.Hariharan Sandanagobalane2-11/+17
* config/picochip/picochip.c (picochip_rtx_costs): Use correct function template. (picochip_override_options): Enable section anchors only above O1. (picochip_reorg): Fixed a couple of build warnings. From-SVN: r158174
2010-04-09configure.ac (plugin -rdynamic test): Log result.Rainer Orth5-0/+23
* configure.ac (plugin -rdynamic test): Log result. * configure: Regenerate. * config/sol2.h (LINK_SPEC): Handle -rdynamic. (RDYNAMIC_SPEC): Define. * config/sol2-gld.h (RDYNAMIC_SPEC): Redefine. From-SVN: r158173
2010-04-09configure.ac: Determine Sun ld version numbers.Rainer Orth4-8/+111
* configure.ac: Determine Sun ld version numbers. (comdat_group): Restrict GNU ld version checks to gld. (comdat_group, *-*-solaris2.1[1-9]*): Enable for Sun ld > 1.1688. (enable_comdat): Support --enable-comdat. * configure: Regenerate. * doc/install.texi (Configuration): Document --enable-comdat. From-SVN: r158172
2010-04-09sol2-gld.h: Remove SPARC reference.Rainer Orth3-2/+13
* config/sparc/sol2-gld.h: Remove SPARC reference. Rename ... * config/sol2-gld.h: ... here. * config.gcc (sparc*-*-solaris2*): Reflect this. (i[34567]86-*-solaris2*): Use it. From-SVN: r158171
2010-04-09ia64.c (ia64_dfa_new_cycle): Remove unused variable setup_clocks_p.Steve Ellcey2-15/+7
2010-04-09 Steve Ellcey <sje@cup.hp.com> * config/ia64/ia64.c (ia64_dfa_new_cycle): Remove unused variable setup_clocks_p. (final_emit_insn_group_barriers): Remove unused variable prev_insn. From-SVN: r158170
2010-04-09re PR preprocessor/43195 (#pragma once and -H)Manuel López-Ibáñez5-1/+20
2010-04-09 Manuel López-Ibáñez <manu@gcc.gnu.org> PR cpp/43195 libcpp/ * files.c (report_missing_guard): Test for #pragma once. testsuite/ * gcc.dg/cpp/pr43195.c: New. * gcc.dg/cpp/pr43195.h: New. From-SVN: r158169
2010-04-09re PR other/42965 (no "warnings being treated as errors" for individual ↵Manuel López-Ibáñez31-57/+109
-Werror=x options) 2010-04-09 Manuel López-Ibáñez <manu@gcc.gnu.org> PR 42965 * diagnostic.c (diagnostic_initialize): Initialize some_warnings_are_errors. (diagnostic_finish): New. (diagnostic_action_after_output): Call it before exiting. (diagnostic_report_diagnostic): Do not print message here. Set some_warnings_are_errors. * diagnostic.h (diagnostic_context): Delete issue_warnings_are_errors_message. Add some_warnings_are_errors. (diagnostic_finish): Declare. * toplev.c (toplev_main): Call it before exit. testsuite/ * gcc.dg/Werror-6.c: Adjust. * gcc.dg/Werror-implicit-function-declaration.c: Likewise. * gcc.dg/Werror-4.c: Likewise. * gcc.dg/Wdeclaration-after-statement-3.c: Likewise. * gcc.dg/Wswitch-enum-error.c: Likewise. * gcc.dg/Wpointer-arith.c: Likewise. * gcc.dg/Wfatal.c: Likewise. * gcc.dg/Wswitch-error.c: Likewise. * g++.dg/warn/unused-result1-Werror.c: Likewise. * gcc.dg/Werror-9.c: Delete. Duplicate of Werror-4.c. * gcc.dg/cpp/warn-undef-2.c: Likewise. * gcc.dg/cpp/warn-traditional-2.c: Likewise. * gcc.dg/cpp/warn-comments-2.c: Likewise. * gcc.dg/cpp/warn-variadic-2.c: Likewise. * gcc.dg/cpp/warning-directive-2.c: Likewise. * gcc.dg/cpp/warn-long-long-2.c: Likewise. * gcc.dg/cpp/warn-deprecated-2.c: Likewise. * gcc.dg/cpp/warn-multichar-2.c: Likewise. * gcc.dg/cpp/warn-normalized-3.c: Likewise. * gcc.dg/cpp/warn-cxx-compat-2.c: Likewise. * gcc.dg/cpp/warn-trigraphs-3.c: Likewise. * gcc.dg/cpp/warn-unused-macros-2.c: Likewise. * gcc.dg/cpp/warn-trigraphs-4.c: Likewise. * gcc.dg/cpp/warn-redefined-2.c: Likewise. * g++.dg/cpp/warning-directive-2.C: Likewise. * gfortran.dg/warning-directive-2.F90: Likewise. From-SVN: r158168
2010-04-09re PR c++/42623 ([C++0x] Function template default arguments: Invalid ↵Jason Merrill4-1/+27
expressions are allowed) PR c++/42623 * c-common.c (c_sizeof_or_alignof_type): Return error_mark_node for incomplete type. From-SVN: r158167
2010-04-09re PR c++/41788 (-Wpacked option changes the layout of packed non-POD structs)Jason Merrill2-2/+6
PR c++/41788 * stor-layout.c (finalize_record_size): Don't change TYPE_PACKED based on a warning flag. From-SVN: r158166
2010-04-09tree-pretty-print.c (dump_generic_node): Dump TYPE_VECTOR_SUBPARTS.Richard Guenther2-1/+9
2010-04-09 Richard Guenther <rguenther@suse.de> * tree-pretty-print.c (dump_generic_node): Dump TYPE_VECTOR_SUBPARTS. From-SVN: r158165
2010-04-09re PR bootstrap/43684 (multiple 'set but not used' errors.)Iain Sandoe6-15/+38
gcc/ 2010-04-09 Iain Sandoe <iains@gcc.gnu.org> PR bootstrap/43684 * varasm.c (default_assemble_visibility): Wrap vars that are set, but unused, by targets without GAS. * config/rs6000/rs6000.c: (paired_emit_vector_compare): Remove set, but unused, vars. (rs6000_legitimize_tls_address): Likewise. (altivec_expand_dst_builtin): Likewise. * config/darwin.c (machopic_classify_symbol): Likewise. (machopic_indirection_name): Likewise. gcc/fortran/ 2010-04-09 Iain Sandoe <iains@gcc.gnu.org> PR bootstrap/43684 * gfortranspec.c (lang_specific_driver): Do not expose vars only used by HAVE_LD_STATIC_DYNAMIC targets unless compiling for such. From-SVN: r158164
2010-04-09i386.md (DWI): New mode iterator.Uros Bizjak4-756/+332
* config/i386/i386.md (DWI): New mode iterator. (S): New mode attribute. (shift_operand): Ditto. (shift_immediate_operand): Ditto. (ashl_input_operand): Ditto. (ashl<mode>3): Macroize expander from ashl{qi,hi,si,di,ti}3_1 using SDWIM mode iterator. (*ashl<mode>3_doubleword): New insn_and_split_pattern. Macroize pattern from *ashl{di,ti}3_1 and corresponding splitters using DWI mode iterator. (*ashl<mode>3_doubleword peephole2): Macroize peephole2 pattern from corresponding peephole2 patterns. (x86_shift<mode>_adj_1): Macroize expander from x86_shift_adj_1 and x86_64_shift_adj_1 using SWI48 mode iterator. (x86_shift<mode>_adj_2): Ditto. (*ashldi3_1_rex64): Split TYPE_LEA pattern. (*ashl<mode>3_1): Macroize insn from *ashlsi3_1 and *ashldi3_1_rex64 using SWI48 mode iterator. (*ashl<mode>3_cmp): Macroize insn from *ashl{qi,hi,si}3_cmp and *ashldi3_cmp_rex64 using SWI mode iterator. (*ashl<mode>3_cconly): Macroize insn from *ashl{qi,hi,si}3_cconly and *ashldi3_cconly_rex64 using SWI mode iterator. * config/i386/i386.c (ix86_split_ashl): Update for renamed x86_shift<mode>_adj_{1,2}. (ix86_split_ashr): Ditto. (ix86_split_lshr): Ditto. From-SVN: r158163
2010-04-09target.h (builtin_conversion): Pass in input and output types.Richard Guenther8-39/+95
2010-04-09 Richard Guenther <rguenther@suse.de> * target.h (builtin_conversion): Pass in input and output types. * targhooks.c (default_builtin_vectorized_conversion): Adjust. * targhooks.h (default_builtin_vectorized_conversion): Likewise. * tree-vect-stmts.c (vectorizable_conversion): Adjust. * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_CONVERSION): Adjust. * config/i386/i386.c (ix86_vectorize_builtin_conversion): Adjust. Handle AVX modes. * config/rs6000/rs6000.c (rs6000_builtin_conversion): Adjust. From-SVN: r158162
2010-04-09gigi.h (maybe_variable): Delete.Eric Botcazou6-326/+374
* gcc-interface/gigi.h (maybe_variable): Delete. (protect_multiple_eval): Likewise. (maybe_stabilize_reference): Likewise. (gnat_save_expr): Declare. (gnat_protect_expr): Likewise. (gnat_stabilize_reference): Likewise. * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Use gnat_stabilize_reference. (maybe_variable): Delete. (elaborate_expression_1): Use gnat_save_expr. * gcc-interface/trans.c (Attribute_to_gnu): Use gnat_protect_expr. (call_to_gnu): Pass NULL to gnat_stabilize_reference. (gnat_to_gnu) <N_Object_Declaration>: Use gnat_save_expr. <N_Slice>: Use gnat_protect_exp. <N_Selected_Component>: Pass NULL to gnat_stabilize_reference. <N_In>: Use gnat_protect_expr. Pass NULL to gnat_stabilize_reference. (build_unary_op_trapv): Use gnat_protect_expr. (build_binary_op_trapv): Likewise. (emit_range_check): Likewise. (emit_index_check): Likewise. (convert_with_check): Likewise. (protect_multiple_eval): Move to utils2.c file. (maybe_stabilize_reference): Merge into... (gnat_stabilize_reference): ...this. Move to utils2.c file. (gnat_stabilize_reference_1): Likewise. * gcc-interface/utils.c (convert_to_fat_pointer): Use gnat_protect_expr instead of protect_multiple_eval. * gcc-interface/utils2.c (compare_arrays): Likewise. (nonbinary_modular_operation): Likewise. (maybe_wrap_malloc): Likewise. (build_allocator): Likewise. (gnat_save_expr): New function. (gnat_protect_expr): Rename from protect_multiple_eval. Early return in common cases. Propagate TREE_READONLY onto dereferences. (gnat_stabilize_reference_1): Move from trans.c file. (gnat_stabilize_reference): Likewise. From-SVN: r158159
2010-04-09re PR target/43152 (vcond<> not supported for AVX float modes)Richard Guenther2-7/+13
2010-04-09 Richard Guenther <rguenther@suse.de> PR target/43152 * config/i386/sse.md (vcond<mode>): Handle AVX modes as well. From-SVN: r158158
2010-04-09tree-vectorizer.h (struct _stmt_vec_info): Document that vectype is the type ↵Richard Guenther6-188/+317
of the LHS. 2010-04-09 Richard Guenther <rguenther@suse.de> * tree-vectorizer.h (struct _stmt_vec_info): Document that vectype is the type of the LHS. (supportable_widening_operation, supportable_narrowing_operation): Get both input and output vector types as arguments. (vect_is_simple_use_1): Declare. (get_same_sized_vectype): Likewise. * tree-vect-loop.c (vect_determine_vectorization_factor): Set STMT_VINFO_VECTYPE to the vector type of the def. (vectorizable_reduction): Adjust. * tree-vect-patterns.c (vect_recog_widen_mult_pattern): Adjust. Specify the output vector type. (vect_pattern_recog_1): Adjust. * tree-vect-stmts.c (get_same_sized_vectype): New function. (vectorizable_call): Adjust. (vectorizable_conversion): Likewise. (vectorizable_operation): Likewise. (vectorizable_type_demotion): Likewise. (vectorizable_type_promotion): Likewise. (vect_analyze_stmt): Set STMT_VINFO_VECTYPE to the vector type of the def. (vect_is_simple_use_1): New function. (supportable_widening_operation): Get both input and output vector types. (supportable_narrowing_operation): Likewise. * tree-vect-slp.c (vect_schedule_slp_instance): Adjust. From-SVN: r158157
2010-04-09gigi.h (gnat_mark_addressable): Rename parameter.Eric Botcazou6-283/+223
* gcc-interface/gigi.h (gnat_mark_addressable): Rename parameter. * gcc-interface/decl.c (maybe_variable): Do not set TREE_STATIC on _REF node. Use the type of the operand to set TREE_READONLY. * gcc-interface/trans.c (Identifier_to_gnu): Do not set TREE_STATIC on _REF node. Do not overwrite TREE_READONLY. (call_to_gnu): Rename local variable and fix various nits. In the copy-in/copy-out case, build the SAVE_EXPR manually. (convert_with_check): Call protect_multiple_eval in lieu of save_expr and fold the computations. (protect_multiple_eval): Always save entire fat pointers. (maybe_stabilize_reference): Minor tweaks. (gnat_stabilize_reference_1): Likewise. Do not deal with tcc_constant, tcc_type and tcc_statement. * gcc-interface/utils.c (convert_to_fat_pointer): Call protect_multiple_eval in lieu of save_expr. (convert): Minor tweaks. (maybe_unconstrained_array): Do not set TREE_STATIC on _REF node. (builtin_type_for_size): Call gnat_type_for_size directly. * gcc-interface/utils2.c (contains_save_expr_p): Delete. (contains_null_expr): Likewise (gnat_build_constructor): Do not call it. (compare_arrays): Deal with all side-effects, use protect_multiple_eval instead of gnat_stabilize_reference to protect the operands. (nonbinary_modular_operation): Call protect_multiple_eval in lieu of save_expr. (maybe_wrap_malloc): Likewise. (build_allocator): Likewise. (build_unary_op) <INDIRECT_REF>: Do not set TREE_STATIC on _REF node. (gnat_mark_addressable): Rename parameter. From-SVN: r158156
2010-04-09cygming.h (TARGET_OS_CPP_BUILTINS): Add __thiscall and _thiscall as ↵Kai Tietz5-6/+107
predefined macros. 2010-04-09 Kai Tietz <kai.tietz@onevision.com> * config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Add __thiscall and _thiscall as predefined macros. * config/i386/i386.c (ix86_handle_cconv_attribute): Add thiscall attribute handling. (ix86_comp_type_attributes): Likewise. (ix86_function_regparm): Likewise. (ix86_return_pops_args): Likewise. (init_cumulative_args): Likewise. (find_drap_reg): Likewise. (ix86_static_chain): Likewise. (x86_this_parameter): Likewise. (x86_output_mi_thunk): Likewise. (ix86_attribute_table): Add description for thiscall attribute. * config/i386/i386.h (ix86_args): Adjust comment for member fastcall. * doc/extend.texi: Add documentation for thiscall. From-SVN: r158155