- 03 Jul, 2010 5 commits
-
-
PR/44128 * gcc/doc/invoke.texi: Update documentation of -Wshadow. * gcc/cp/name-lookup.c (pushdecl_maybe_friend): Warn when a local decl (variable or type) shadows another type. * gcc/testsuite/g++.dg/warn/Wshadow-7.C: New test. From-SVN: r161765
Le-Chun Wu committed -
2010-07-02 Daniel Jacobowitz <dan@codesourcery.com> Julian Brown <julian@codesourcery.com> Sandra Loosemore <sandra@codesourcery.com> gcc/ * config/arm/arm.c (arm_canonicalize_comparison): Canonicalize DImode comparisons. Adjust to take both operands. (arm_select_cc_mode): Handle DImode comparisons. (arm_gen_compare_reg): Generate a scratch register for DImode comparisons which require one. Use xor for Thumb equality checks. (arm_const_double_by_immediates): New. (arm_print_operand): Allow 'Q' and 'R' for constants. (get_arm_condition_code): Handle new CC_CZmode and CC_NCVmode. * config/arm/arm.h (CANONICALIZE_COMPARISON): Always use arm_canonicalize_comparison. * config/arm/arm-modes.def: Add CC_CZmode and CC_NCVmode. * config/arm/arm-protos.h (arm_canonicalize_comparison): Update prototype. (arm_const_double_by_immediates): Declare. * config/arm/constraints.md (Di): New constraint. * config/arm/predicates.md (arm_immediate_di_operand) (arm_di_operand, cmpdi_operand): New. * config/arm/arm.md (cbranchdi4): Handle non-Cirrus also. (*arm_cmpdi_insn, *arm_cmpdi_unsigned) (*arm_cmpdi_zero, *thumb_cmpdi_zero): New insns. (cstoredi4): Handle non-Cirrus also. gcc/testsuite/ * gcc.c-torture/execute/20100416-1.c: New test case. Co-Authored-By: Julian Brown <julian@codesourcery.com> Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com> From-SVN: r161764
Daniel Jacobowitz committed -
2010-07-02 Julian Brown <julian@codesourcery.com> Sandra Loosemore <sandra@codesourcery.com> PR target/43703 gcc/ * config/arm/vec-common.md (add<mode>3, sub<mode>3, smin<mode>3) (smax<mode>3): Disable for NEON float modes when flag_unsafe_math_optimizations is false. * config/arm/neon.md (*add<mode>3_neon, *sub<mode>3_neon) (*mul<mode>3_neon) (mul<mode>3add<mode>_neon, mul<mode>3neg<mode>add<mode>_neon) (reduc_splus_<mode>, reduc_smin_<mode>, reduc_smax_<mode>): Disable for NEON float modes when flag_unsafe_math_optimizations is false. (quad_halves_<code>v4sf): Only enable if flag_unsafe_math_optimizations is true. * doc/invoke.texi (ARM Options): Add note about floating point vectorization requiring -funsafe-math-optimizations. gcc/testsuite/ * gcc.dg/vect/vect.exp: Add -ffast-math for NEON. * gcc.dg/vect/vect-reduc-6.c: Add XFAIL for NEON. Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com> From-SVN: r161763
Julian Brown committed -
2010-07-02 Sandra Loosemore <sandra@codesourcery.com> Julian Brown <julian@codesourcery.com> gcc/ * config/arm/neon.md (UNSPEC_VABA): Delete. (UNSPEC_VABAL): Delete. (UNSPEC_VABS): Delete. (UNSPEC_VMUL_N): Delete. (adddi3_neon): New. (subdi3_neon): New. (mul<mode>3add<mode>_neon): Make the pattern named. (mul<mode>3neg<mode>add<mode>_neon): Likewise. (neon_vadd<mode>): Replace with define_expand, and move the remaining unspec parts... (neon_vadd<mode>_unspec): ...to this. (neon_vmla<mode>, neon_vmla<mode>_unspec): Likewise. (neon_vlms<mode>, neon_vmls<mode>_unspec): Likewise. (neon_vsub<mode>, neon_vsub<mode>_unspec): Likewise. (neon_vaba<mode>): Rewrite in terms of vabd. (neon_vabal<mode>): Rewrite in terms of vabdl. (neon_vabs<mode>): Rewrite without unspec. * config/arm/arm.md (*arm_adddi3): Disable for TARGET_NEON. (*arm_subdi3): Likewise. * config/arm/neon.ml (Vadd, Vsub): Split out 64-bit variants and add No_op attribute to disable assembly output checks. * config/arm/arm_neon.h: Regenerated. * doc/arm-neon-intrinsics.texi: Regenerated. gcc/testsuite/ * gcc.target/arm/neon/vadds64.c: Regenerated. * gcc.target/arm/neon/vaddu64.c: Regenerated. * gcc.target/arm/neon/vsubs64.c: Regenerated. * gcc.target/arm/neon/vsubu64.c: Regenerated. * gcc.target/arm/neon-vmla-1.c: Add -ffast-math to options. * gcc.target/arm/neon-vmls-1.c: Likewise. * gcc.target/arm/neon-vsubs64.c: New execution test. * gcc.target/arm/neon-vsubu64.c: New execution test. * gcc.target/arm/neon-vadds64.c: New execution test. * gcc.target/arm/neon-vaddu64.c: New execution test. Co-Authored-By: Julian Brown <julian@codesourcery.com> From-SVN: r161762
Sandra Loosemore committed -
From-SVN: r161760
GCC Administrator committed
-
- 02 Jul, 2010 35 commits
-
-
* ipa-split.c (split_function): For aggregate values set return_slot_opt; when passing DECL_BY_REFERENCE produce *<retval> = fncall.part () (execute_split_functions): Do not care about DECL_BY_REFERENCE. From-SVN: r161756
Jan Hubicka committed -
2010-07-02 Sandra Loosemore <sandra@codesourcery.com> gcc/ * config/arm/neon.md (UNSPEC_VAND): Delete. (UNSPEC_VBIC): Delete. (UNSPEC_VCLZ): Delete. (UNSPEC_VCNT): Delete. (UNSPEC_VEOR): Delete. (UNSPEC_VORN): Delete. (UNSPEC_VORR): Delete. (iordi3_neon): Rewrite RTL without unspec. Add alternatives to handle core registers too. (anddi3_neon): Likewise. (orndi3_neon): Likewise. (bicdi3_neon): Likewise. (xordi3_neon): Likewise. (neon_vclz<mode>): Rewrite as define_expand and clz<mode>2 to get rid of unspec and handle unused operand. (neon_vcnt<mode>): Similarly, with popcount<mode>2. * config/arm/predicates.md (imm_for_neon_logic_operand): Require TARGET_NEON. (imm_for_neon_inv_logic_operand): Likewise. * config/arm/arm.md (define_split for logical_binary_operator): Disable for NEON registers. (anddi3): Add new define_expand, and rename the insn. Disable this insn for NEON, where anddi3_neon now applies. (*anddi_notdi_di): Disable for TARGET_NEON, where bicdi3_neon applies. (iordi3): As for anddi3. (xordi3): Likewise. * config/arm/neon.ml (Vand): Split DImode variants and mark them as No_op to disable testing for exact instruction match. (Vorr): Likewise. (Veor): Likewise. (Vbic): Likewise. (Vorn): Likewise. * config/arm/arm_neon.h: Regenerated. * doc/arm-neon-intrinsics.texi: Regenerated. gcc/testsuite/ * gcc.target/arm/neon-vands64.c: New. * gcc.target/arm/neon-vandu64.c: New. * gcc.target/arm/neon-vbics64.c: New. * gcc.target/arm/neon-vbicu64.c: New. * gcc.target/arm/neon-veors64.c: New. * gcc.target/arm/neon-veoru64.c: New. * gcc.target/arm/neon-vorns64.c: New. * gcc.target/arm/neon-vornu64.c: New. * gcc.target/arm/neon-vorrs64.c: New. * gcc.target/arm/neon-vorru64.c: New. * gcc.target/arm/neon/vands64.c: Regenerated. * gcc.target/arm/neon/vandu64.c: Regenerated. * gcc.target/arm/neon/vbics64.c: Regenerated. * gcc.target/arm/neon/vbicu64.c: Regenerated. * gcc.target/arm/neon/veors64.c: Regenerated. * gcc.target/arm/neon/veoru64.c: Regenerated. * gcc.target/arm/neon/vorns64.c: Regenerated. * gcc.target/arm/neon/vornu64.c: Regenerated. * gcc.target/arm/neon/vorrs64.c: Regenerated. * gcc.target/arm/neon/vorru64.c: Regenerated. From-SVN: r161755
Sandra Loosemore committed -
From-SVN: r161751
Eric Botcazou committed -
* expr.h (emit_stack_probe): Declare. * explow.c (emit_stack_probe): Make global. (anti_adjust_stack_and_probe): Fix comments. * config/sparc/linux.h (STACK_CHECK_STATIC_BUILTIN): Define to 1. * config/sparc/linux64.h (STACK_CHECK_STATIC_BUILTIN): Likewise. * config/sparc/sol2.h (STACK_CHECK_STATIC_BUILTIN): Likewise. * config/sparc/sparc.c: Include except.h. (sparc_emit_probe_stack_range): New function. (output_probe_stack_range): Likewise. (sparc_expand_prologue): Invoke sparc_emit_probe_stack_range if static built-in stack checking is enabled. * config/sparc/sparc-protos.h (output_probe_stack_range): Declare. * config/sparc/sparc.md (UNSPECV_PROBE_STACK_RANGE): New constant. (probe_stack_range): New insn. From-SVN: r161749
Eric Botcazou committed -
2010-07-02 Jerry DeLisle <jvdelisle@gcc.gnu.org> * gfortran.dg/runtime_warning_1.f90: Remove extra dg line. From-SVN: r161747
Jerry DeLisle committed -
PR target/43958 * config/pa/pa.c (hppa_gimplify_va_arg_expr): Use pointer arithmetic for argument alignment. From-SVN: r161746
Richard Guenther committed -
2010-07-02 Jerry DeLisle <jvdelisle@gcc.gnu.org> * gfortran.dg/runtime_warning_1.f90: Fix dg syntax. * gfortran.dg/intent_out_5.f90: Same. * gfortran.dg/ltrans-7.f90: Same. * gfortran.dg/char_bounds_check_fail_1.f90: Same. From-SVN: r161745
Jerry DeLisle committed -
* ipa-split.c (verify_non_ssa_vars): Break out from ...; perform DFS walk backwards from entry_bb to check only those basic block of header that might lead to execution of split part. (consider_split) ... here. (find_return_bb): Allow assignment in return BB. (find_retval): New. (split_function): Fix name of cloned function; take care of updating return value in return_bb containing move. * gcc.dg/tree-ssa/ipa-split-5.c: New function. From-SVN: r161744
Jan Hubicka committed -
* objc-obj-c++-shared/Object1.h: Correct Line endings. From-SVN: r161743
Iain Sandoe committed -
PR c++/44780 * typeck.c (convert_for_assignment): When converting a convertible vector type or objc++ types, call mark_rvalue_use. * typeck2.c (build_m_component_ref): Use return values from mark_rvalue_use or mark_lvalue_use. * class.c (build_base_path): Likewise. * call.c (build_conditional_expr): Likewise. * c-c++-common/Wunused-var-12.c: New test. From-SVN: r161742
Jakub Jelinek committed -
PR target/44771 * config/m68k/m68k.c (m68k_expand_prologue): Remove set but not used variable insn. From-SVN: r161741
Andreas Schwab committed -
2010-07-02 Mikael Morin <mikael@gcc.gnu.org> PR fortran/44662 * decl.c (match_procedure_in_type): Clear structure before using. (gfc_match_generic): Ditto. From-SVN: r161739
Mikael Morin committed -
* trans-types.h (gfc_add_field_to_struct): Add tree ** parameter. * trans-types.c (gfc_add_field_to_struct_1): New function, most of which comes from... (gfc_add_field_to_struct): ...here. Call it. Add new parameter. (gfc_get_desc_dim_type): Call gfc_add_field_to_struct_1 for building fields. (gfc_get_array_descriptor_base): Likewise. (gfc_get_mixed_entry_union): Likewise. (gfc_get_derived_type): Add extra chain parameter for gfc_add_field_to_struct. * trans-stmt.c (gfc_trans_character_select): Likewise. * trans-io.c (gfc_build_st_parameter): Likewise. From-SVN: r161738
Nathan Froyd committed -
* implicit-zee.c (combine_reaching_defs): Fix long lines. (is_set_with_extension_DI): Delete. (struct zero_extend_info): New structure. (add_removable_zero_extend ): New function. (find_removable_zero_extends): Use note_stores to find SETs. (find_and_remove_ze): Fix long line, remove superfluous parentheses. From-SVN: r161736
Eric Botcazou committed -
2010-06-28 Tobias Burnus <burnus@net-b.de> PR fortran/43298 * list_read.c (parse_real): Do not pass (..) on for NAN(..). * read.c (convert_real): Fix comment about NAN/INF. From-SVN: r161735
Tobias Burnus committed -
* Makefile.am (AM_MAKEFLAGS): Pass also mandir to submakes. * Makefile.in: Regenerated. From-SVN: r161731
Jakub Jelinek committed -
2010-07-02 Sebastian Pop <sebastian.pop@amd.com> * check_GNU_style.sh: New. From-SVN: r161729
Sebastian Pop committed -
2010-07-02 Changpeng Fang <changpeng.fang@amd.com> * tree-ssa-loop-prefetch.c (compute_miss_rate): Rename to is_miss_rate_acceptable. Pull total_positions computation out of the loops. Early return if miss_positions exceeds the acceptable threshold. * tree-ssa-loop-prefetch.c (prune_ref_by_group_reuse): Call is_miss_rate_acceptable after renaming of compute_miss_rate. From-SVN: r161728
Changpeng Fang committed -
2010-07-02 Changpeng Fang <changpeng.fang@amd.com> PR middle-end/44576 * tree-ssa-loop-prefetch.c (compute_miss_rate): Return 1000 (out of 1000) for miss rate if the address diference is greater than or equal to the cache line size (the two reference will never hit the same cache line). From-SVN: r161727
Changpeng Fang committed -
PR target/42172 * config/arm/arm.c (thumb1_rtx_costs): Improve support for SIGN_EXTEND and ZERO_EXTEND. (arm_rtx_costs_1): Likewise. (arm_size_rtx_costs): Use arm_rtx_costs_1 for these codes. * config/arm/arm.md (is_arch6): New attribute. (zero_extendhisi2, zero_extendqisi2, extendhisi2, extendqisi2): Tighten the code somewhat, avoiding invalid RTL to occur in the expander patterns. (thumb1_zero_extendhisi2): Merge with thumb1_zero_extendhisi2_v6. (thumb1_zero_extendhisi2_v6): Delete. (thumb1_extendhisi2): Merge with thumb1_extendhisi2_v6. (thumb1_extendhisi2_v6): Delete. (thumb1_extendqisi2): Merge with thumb1_extendhisi2_v6. (thumb1_extendqisi2_v6): Delete. (zero_extendhisi2 for register input splitter): New. (zero_extendqisi2 for register input splitter): New. (thumb1_extendhisi2 for register input splitter): New. (extendhisi2 for register input splitter): New. (extendqisi2 for register input splitter): New. (TARGET_THUMB1 extendqisi2 for memory input splitter): New. (arm_zero_extendhisi2): Allow nonimmediate_operand for operand 1, and add support for a register alternative requiring a split. (thumb1_zero_extendqisi2): Likewise. (arm_zero_extendqisi2): Likewise. (arm_extendhisi2): Likewise. (arm_extendqisi2): Likewise. testsuite/ PR target/42172 * gcc.target/arm/pr42172-1.c: New test. From-SVN: r161726
Bernd Schmidt committed -
PR target/42835 * config/arm/arm-modes.def (CC_NOTB): New mode. * config/arm/arm.c (get_arm_condition_code): Handle it. * config/arm/thumb2.md (thumb2_compare_scc): Delete pattern. * config/arm/arm.md (subsi3_compare0_c): New pattern. (compare_scc): Now a define_and_split. Add a number of extra splitters before it. testsuite/ PR target/42835 * gcc.target/arm/pr42835.c: New test. From-SVN: r161725
Bernd Schmidt committed -
libgfortran: * configure.ac (gfortran_use_symver): Only check for Sun-style symbol versioning on Solaris 2. * configure: Regenerate. libssp: * configure.ac (ssp_use_symver): Only check for Sun-style symbol versioning on Solaris 2. * configure: Regenerate. From-SVN: r161724
Rainer Orth committed -
2010-07-02 Paolo Carlini <paolo.carlini@oracle.com> * g++.dg/template/crash101.C: Remove stray // from dg-error comment. From-SVN: r161722
Paolo Carlini committed -
2010-07-02 Sandra Loosemore <sandra@codesourcery.com> gcc/ * config/arm/arm.c (neon_vdup_constant): Expand into canonical RTL instead of an unspec. (neon_expand_vector_init): Likewise. * config/arm/neon.md (UNSPEC_VCOMBINE): Delete. (UNSPEC_VDUP_LANE): Delete. (UNSPEC VDUP_N): Delete. (UNSPEC_VGET_HIGH): Delete. (UNSPEC_VGET_LANE): Delete. (UNSPEC_VGET_LOW): Delete. (UNSPEC_VMVN): Delete. (UNSPEC_VSET_LANE): Delete. (V_double_vector_mode): New. (vec_set<mode>_internal): Make code emitted match that for the corresponding intrinsics. (vec_setv2di_internal): Likewise. (neon_vget_lanedi): Rewrite to expand into emit_move_insn. (neon_vget_lanev2di): Rewrite to expand into vec_extractv2di. (neon_vset_lane<mode>): Combine double and quad patterns and expand into vec_set<mode>_internal instead of UNSPEC_VSET_LANE. (neon_vset_lanedi): Rewrite to expand into emit_move_insn. (neon_vdup_n<mode>): Rewrite RTL without unspec. (neon_vdup_ndi): Rewrite as define_expand and use emit_move_insn. (neon_vdup_nv2di): Rewrite RTL without unspec and merge with with neon_vdup_lanev2di, adjusting the pattern from the latter to be predicable for consistency. (neon_vdup_lane<mode>_internal): New. (neon_vdup_lane<mode>): Turn into a define_expand and rewrite to avoid using an unspec. (neon_vdup_lanedi): Rewrite RTL pattern to avoid unspec. (neon_vdup_lanev2di): Turn into a define_expand. (neon_vcombine): Rewrite pattern to eliminate UNPSEC_VCOMBINE. (neon_vget_high<mode>): Replace with.... (neon_vget_highv16qi): New pattern using canonical RTL. (neon_vget_highv8hi): Likewise. (neon_vget_highv4si): Likewise. (neon_vget_highv4sf): Likewise. (neon_vget_highv2di): Likewise. (neon_vget_low<mode>): Replace with.... (neon_vget_lowv16qi): New pattern using canonical RTL. (neon_vget_lowv8hi): Likewise. (neon_vget_lowv4si): Likewise. (neon_vget_lowv4sf): Likewise. (neon_vget_lowv2di): Likewise. * config/arm/neon.ml (Vget_lane): Add No_op attribute to suppress test for this emitting vmov. (Vset_lane): Likewise. (Vdup_n): Likewise. (Vmov_n): Likewise. * doc/arm-neon-intrinsics.texi: Regenerated. gcc/testsuite/ * gcc.target/arm/neon/vdup_ns64.c: Regenerated. * gcc.target/arm/neon/vdup_nu64.c: Regenerated. * gcc.target/arm/neon/vdupQ_ns64.c: Regenerated. * gcc.target/arm/neon/vdupQ_nu64.c: Regenerated. * gcc.target/arm/neon/vmov_ns64.c: Regenerated. * gcc.target/arm/neon/vmov_nu64.c: Regenerated. * gcc.target/arm/neon/vmovQ_ns64.c: Regenerated. * gcc.target/arm/neon/vmovQ_nu64.c: Regenerated. * gcc.target/arm/neon/vget_lanes64.c: Regenerated. * gcc.target/arm/neon/vget_laneu64.c: Regenerated. * gcc.target/arm/neon/vset_lanes64.c: Regenerated. * gcc.target/arm/neon/vset_laneu64.c: Regenerated. * gcc.target/arm/neon-vdup_ns64.c: New. * gcc.target/arm/neon-vdup_nu64.c: New. * gcc.target/arm/neon-vdupQ_ns64.c: New. * gcc.target/arm/neon-vdupQ_nu64.c: New. * gcc.target/arm/neon-vdupQ_lanes64.c: New. * gcc.target/arm/neon-vdupQ_laneu64.c: New. * gcc.target/arm/neon-vmov_ns64.c: New. * gcc.target/arm/neon-vmov_nu64.c: New. * gcc.target/arm/neon-vmovQ_ns64.c: New. * gcc.target/arm/neon-vmovQ_nu64.c: New. * gcc.target/arm/neon-vget_lanes64.c: New. * gcc.target/arm/neon-vget_laneu64.c: New. * gcc.target/arm/neon-vset_lanes64.c: New. * gcc.target/arm/neon-vset_laneu64.c: New. From-SVN: r161720
Sandra Loosemore committed -
neon.md (vec_extractv2di): Correct error in register numbering to reconcile with neon_vget_lanev2di. 2010-07-02 Sandra Loosemore <sandra@codesourcery.com> gcc/ * config/arm/neon.md (vec_extractv2di): Correct error in register numbering to reconcile with neon_vget_lanev2di. From-SVN: r161719
Sandra Loosemore committed -
2010-07-02 Richard Guenther <rguenther@suse.de> * tree-ssa-structalias.c (pt_solution_set_var): New function. * tree-ssa-alias.h (pt_solution_set_var): Declare. * tree-ssa-loop-ivopts.c (copy_ref_info): Also copy or create points-to information. From-SVN: r161716
Richard Guenther committed -
s390.c (override_options): Adopt prefetching at -O3 to handle flag_prefetch_loop_arrays as a tristate. 2010-07-02 Christian Borntraeger <borntraeger@de.ibm.com> * config/s390/s390.c (override_options): Adopt prefetching at -O3 to handle flag_prefetch_loop_arrays as a tristate. From-SVN: r161709
Christian Borntraeger committed -
* df-problems.c (df_kill_notes): Do not collect dead notes. (df_set_note): Just call add_reg_note. (df_set_unused_notes_for_mw, df_set_dead_notes_for_mw, df_create_unused_note): Do not deal with lists of old notes. (df_note_bb_compute): Likewise. From-SVN: r161708
Jan Hubicka committed -
2010-07-02 Richard Guenther <rguenther@suse.de> * tree-ssa-structalias.c (find_func_aliases): Handle pointer alignment via BIT_AND_EXPR. * tree-vrp.c (extract_range_from_binary_expr): Likewise. From-SVN: r161707
Richard Guenther committed -
2010-07-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> * acinclude.m4 (symvers_renaming): Define HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT instead of _GLIBCXX_HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT. Fix syntax error. * config.h.in: Regenerate. * configure: Regenerate. From-SVN: r161706
Rainer Orth committed -
tree-data-ref.c (initialize_data_dependence_relation): Handle mismatching number of dimensions properly. 2010-07-02 Richard Guenther <rguenther@suse.de> * tree-data-ref.c (initialize_data_dependence_relation): Handle mismatching number of dimensions properly. * g++.dg/torture/20100702-1.C: New testcase. From-SVN: r161705
Richard Guenther committed -
* gcc-interface/misc.c (gnat_handle_option): Do not populate gnat_argv. (gnat_handle_option): Allocate only one element for gnat_argv. (gnat_init): Do not populate gnat_argv. From-SVN: r161704
Eric Botcazou committed -
ChangeLog: PR target/44707 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Recognize (lo_sum (high ...) ...) patterns generated by earlier passes. testsuite/ChangeLog: PR target/44707 * gcc.c-torture/compile/pr44707.c: New test. From-SVN: r161703
Ulrich Weigand committed -
left over from testing. From-SVN: r161702
Matthias Klose committed -
From-SVN: r161701
Rainer Orth committed
-