- 12 Apr, 2010 1 commit
-
-
From-SVN: r158212
GCC Administrator committed
-
- 11 Apr, 2010 9 commits
-
-
* 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
Kaz Kojima committed -
* 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
Kaushik Phatak committed -
* 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
Uros Bizjak committed -
* config/i386/i386.md (*ashr<mode>3_cconly): Fix wrong mode of scratch register. (*lshr<mode>3_cconly): Ditto. From-SVN: r158204
Uros Bizjak committed -
* 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
Uros Bizjak committed -
* 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
Eric Botcazou committed -
utils2.c (build_cond_expr): Take the address and dereference if the result 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
Eric Botcazou committed -
* 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
Eric Botcazou committed -
From-SVN: r158199
GCC Administrator committed
-
- 10 Apr, 2010 8 commits
-
-
* 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
Uros Bizjak committed -
PR target/43417 * gcc.target/sh/pr43417.c: New test. From-SVN: r158192
Jie Zhang committed -
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
Tobias Burnus committed -
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
Wei Guozhi committed -
reload1.c (eliminate_regs_in_insn): Don't restore an operand if doing so 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
Bernd Schmidt committed -
* 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
Bernd Schmidt committed -
* ira-costs.c (record_reg_classes): Ignore alternatives that are not enabled. From-SVN: r158186
Bernd Schmidt committed -
From-SVN: r158181
GCC Administrator committed
-
- 09 Apr, 2010 22 commits
-
-
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
Uros Bizjak committed -
ipa-cp.c (ipcp_lats_are_equal): Return true also if the two lattices are 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
Martin Jambor committed -
* loop-invariant.c (replace_uses): New static function. (move_invariant_reg): Use it to ensure we can replace the uses. From-SVN: r158175
Eric Botcazou committed -
* 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
Hariharan Sandanagobalane committed -
* 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
Rainer Orth committed -
* 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
Rainer Orth committed -
* 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
Rainer Orth committed -
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
Steve Ellcey committed -
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
Manuel López-Ibáñez committed -
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
Manuel López-Ibáñez committed -
PR c++/42623 * c-common.c (c_sizeof_or_alignof_type): Return error_mark_node for incomplete type. From-SVN: r158167
Jason Merrill committed -
PR c++/41788 * stor-layout.c (finalize_record_size): Don't change TYPE_PACKED based on a warning flag. From-SVN: r158166
Jason Merrill committed -
2010-04-09 Richard Guenther <rguenther@suse.de> * tree-pretty-print.c (dump_generic_node): Dump TYPE_VECTOR_SUBPARTS. From-SVN: r158165
Richard Guenther committed -
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
Iain Sandoe committed -
* 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
Uros Bizjak committed -
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
Richard Guenther committed -
* 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
Eric Botcazou committed -
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
Richard Guenther committed -
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
Richard Guenther committed -
* 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
Eric Botcazou committed -
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
Kai Tietz committed -
2010-04-09 Kai Tietz <kai.tietz@onevision.com> * g++.dg/other/pr35504.C: Add check for thiscall. * g++.dg/torture/stackalign/eh-thiscall-1.C: New. * gcc.dg/torture/stackalign/thiscall-1.c: New. From-SVN: r158153
Kai Tietz committed
-