OSDN Git Service

pf3gnuchains/gcc-fork.git
13 years ago2010-07-04 Richard Guenther <rguenther@suse.de>
rguenth [Sun, 4 Jul 2010 12:20:14 +0000 (12:20 +0000)]
2010-07-04  Richard Guenther  <rguenther@suse.de>

PR middle-end/44785
* tree-inline.c (initialize_inlined_parameters): Do not
re-use pointer-map slot over remap_type call.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161800 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-4 Richard Guenther <rguenther@suse.de>
rguenth [Sun, 4 Jul 2010 11:38:01 +0000 (11:38 +0000)]
2010-07-4  Richard Guenther  <rguenther@suse.de>

* tree-ssa-sccvn.c (vn_reference_lookup_3): Fix last commit.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161799 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-04 Richard Guenther <rguenther@suse.de>
rguenth [Sun, 4 Jul 2010 10:52:43 +0000 (10:52 +0000)]
2010-07-04  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/44656
* tree-ssa-sccvn.c (vn_reference_lookup_3): Try disambiguation
again after value-replacing in the defintions lhs.

* gcc.dg/tree-ssa/loadpre6.c: Remove XFAIL.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161798 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * doc/tm.texi.in (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST):
irar [Sun, 4 Jul 2010 08:54:52 +0000 (08:54 +0000)]
* doc/tm.texi.in (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST):
Document new arguments.
* doc/tm.texi: Regenerate.
* targhooks.c (default_builtin_vectorization_cost): Add new arguments.
Handle unaligned store.
* targhooks.h (default_builtin_vectorization_cost): Add new arguments.
* target.def (builtin_vectorization_cost): Add new arguments.
* target.h (enum vect_cost_for_stmt): Add unaligned_store.
* tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop): Take number
of iterations of prolog loop directly from LOOP_PEELING_FOR_ALIGNMENT.
(vect_vfa_segment_size): Fix indentation.
* tree-vectorizer.h (struct _vect_peel_info): New.
(struct _vect_peel_extended_info): New.
(struct _loop_vec_info): Add new field for peeling hash table and a
macro for its access.
(VECT_MAX_COST): Define.
(vect_get_load_cost): Declare.
(vect_get_store_cost, vect_get_known_peeling_cost,
vect_get_single_scalar_iteraion_cost): Likewise.
(vect_supportable_dr_alignment): Add new argument.
* tree-vect-loop.c (new_loop_vec_info): Initialize peeling hash table
field.
(destroy_loop_vec_info): Free peeling hash table.
(vect_analyze_loop_form): Update call to builtin_vectorization_cost.
(vect_analyze_loop): Move vect_enhance_data_refs_alignment before
vect_analyze_slp. Fix indentation.
(vect_get_single_scalar_iteraion_cost): New function.
(vect_get_known_peeling_cost): Likewise.
(vect_estimate_min_profitable_iters): Rename byte_misalign to npeel.
Call vect_get_single_scalar_iteraion_cost instead of cost_for_stmt per
statement. Move outside cost calculation inside unknown peeling case.
Call vect_get_known_peeling_cost for known amount of peeling.
* tree-vect-data-refs.c (vect_compute_data_ref_alignment): Add data
reference to the print message of forced alignment.
(vect_verify_datarefs_alignment): Update call to
vect_supportable_dr_alignment.
(vect_get_data_access_cost): New function.
(vect_peeling_hash, vect_peeling_hash_eq, vect_peeling_hash_insert,
vect_peeling_hash_get_most_frequent, vect_peeling_hash_get_lowest_cost,
vect_peeling_hash_choose_best_peeling): Likewise.
(vect_enhance_data_refs_alignment): Fix documentation. Use hash table
to store all the accesses in the loop and find best possible access to
align using peeling for known alignment case. For unknown alignment
check if stores are preferred or if peeling is worthy.
(vect_find_same_alignment_drs): Analyze pairs of loads too.
(vect_supportable_dr_alignment): Add new argument and check aligned
accesses according to it.
* tree-vect-stmts.c (vect_get_stmt_cost): New function.
(cost_for_stmt): Call vect_get_stmt_cost.
(vect_model_simple_cost): Likewise.
(vect_model_store_cost): Call vect_get_stmt_cost. Call
vect_get_store_cost to calculate the cost of the statement.
(vect_get_store_cost): New function.
(vect_model_load_cost): Call vect_get_stmt_cost. Call
vect_get_load_cost to calculate the cost of the statement.
(vect_get_load_cost): New function.
(vectorizable_store): Update call to vect_supportable_dr_alignment.
(vectorizable_load): Likewise.
* config/spu/spu.c (spu_builtin_vectorization_cost): Add new
arguments.
* config/i386/i386.c (ix86_builtin_vectorization_cost): Add new
arguments. Handle unaligned store.
* config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost): New.
(rs6000_builtin_support_vector_misalignment): Return true for word and
double word alignments for VSX.
* tree-vect-slp.c (vect_build_slp_tree): Update calls to
vect_supportable_dr_alignment and builtin_vectorization_cost.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161797 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoDaily bump.
gccadmin [Sun, 4 Jul 2010 00:17:09 +0000 (00:17 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161795 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoAdd a testcase for PR 44806.
hjl [Sat, 3 Jul 2010 22:44:32 +0000 (22:44 +0000)]
Add a testcase for PR 44806.

2010-07-03  H.J. Lu  <hongjiu.lu@intel.com>

PR c/44806
* gcc.dg/torture/pr44806.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161787 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR target/44597
danglin [Sat, 3 Jul 2010 22:43:47 +0000 (22:43 +0000)]
PR target/44597
* config/pa/predicates.md (prefetch_cc_operand): Remove.
(prefetch_nocc_operand): Likewise.
* config/pa/pa.md (prefetch): Revise expander to use prefetch_20.
(prefetch_20): New insn.
(prefetch_cc): Remove.
(prefetch_nocc): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161786 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
manu [Sat, 3 Jul 2010 21:17:46 +0000 (21:17 +0000)]
2010-07-03  Manuel López-Ibáñez  <manu@gcc.gnu.org>

* c-family/c-common.c (IN_GCC_FRONTEND): Do not undef.
Do not include expr.h
(vector_mode_valid_p): Move here.
* expr.c (vector_mode_valid_p): Move to c-common.c.
* expr.h (vector_mode_valid_p): Do not declare here.
* system.h: Poison GCC_EXPR_H in front-ends.
* Makefile.in: Update dependencies.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161785 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR target/44705
danglin [Sat, 3 Jul 2010 20:28:44 +0000 (20:28 +0000)]
PR target/44705
* config/pa/pa.h (GO_IF_LEGITIMATE_ADDRESS): Reject LABEL_REF.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161781 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoMove c-family/* ChangeLog entries to their proper place.
steven [Sat, 3 Jul 2010 20:09:45 +0000 (20:09 +0000)]
Move c-family/* ChangeLog entries to their proper place.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161780 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * timevar.def (TV_OUT_OF_SSA, TV_VAR_EXPAND, TV_POST_EXPAND,
hubicka [Sat, 3 Jul 2010 19:34:30 +0000 (19:34 +0000)]
* timevar.def (TV_OUT_OF_SSA, TV_VAR_EXPAND, TV_POST_EXPAND,
TV_VAR_TRACKING_DATAFLOW, TV_VAR_TRACKING_EMIT): New timevars.
* cfgexpand.c (gimple_expand_cfg): Use new timevars.
* var-tracking.c (vt_find_locations, variable_tracking_main_1):
Likewise.

* lto-stramer-out.c (pass_ipa_lto_gimple_out, pass_ipa_lto_finish_out):
Update timevars.V
* timevar.def (TV_IPA_LTO_GIMPLE_IO, TV_IPA_LTO_DECL_IO): Remove.
(TV_IPA_LTO_GIMPLE_IN, TV_IPA_LTO_GIMPLE_OUT, TV_IPA_LTO_DECL_IN,
TV_IPA_LTO_DECL_OUT): New.
* lto.c (read_cgraph_and_symbols, materialize_cgraph): Update timevars.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161779 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * ipa-inline.c (update_edge_key): Break out from ...
hubicka [Sat, 3 Jul 2010 19:33:14 +0000 (19:33 +0000)]
* ipa-inline.c (update_edge_key): Break out from ...
update_callers_keys): ... here;
(update_callee_keys): Update only the edges from caller to callee.
(update_all_calle_keys): Do what update_calle_keys did.
(decide_inlining_of_small_functions): Avoid recomputing of all
callees when badness increase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161778 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR objc/24867
froydnj [Sat, 3 Jul 2010 19:00:52 +0000 (19:00 +0000)]
PR objc/24867
* objc-act.c (build_sized_array_type): New function.
(add_objc_string): Use it.
(generate_protocol_list): Likewise.
(generate_objc_image_info): Likewise.
(add_field_decl): New function.
(objc_build_struct): Use a VEC rather than building a TREE_LIST.
(generate_struct_by_value_array): Use add_field_decl.
(build_objc_symtab_template): Likewise.
(build_module_descriptor): Likewise.
(build_objc_exception_stuff): Likewise.
(build_protocol_template): Likewise.
(build_method_prototype_list_template): Likewise.
(build_method_prototype_template): Likewise.
(build_category_template): Likewise.
(build_selector_template): Likewise.
(build_class_template): Likewise.
(build_super_template): Likewise.
(build_ivar_template): Likewise.
(build_ivar_list_template): Likewise.
(build_method_list_template): Likewise.
(build_method_template): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161777 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/arm/arm.c (arm_attr_length_move_neon): New.
jiez [Sat, 3 Jul 2010 16:49:05 +0000 (16:49 +0000)]
* config/arm/arm.c (arm_attr_length_move_neon): New.
* config/arm/arm-protos.h (arm_attr_length_move_neon): Declare.
* config/arm/neon.md (define_mode_attr V_slen): Remove.
(neon_mov<mode> for VSTRUCT): Use arm_attr_length_move_neon
to compute length attribute.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161776 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/arm/vfp.md (*push_multi_vfp): Use vfp_register_operand
jiez [Sat, 3 Jul 2010 16:35:02 +0000 (16:35 +0000)]
* config/arm/vfp.md (*push_multi_vfp): Use vfp_register_operand
as predicate for operand 1 and remove its constraint.
* config/arm/predicates.md (vfp_register_operand): New.
* config/arm/arm.md (*push_multi): Remove the constraint of
operand 1.
(*push_fp_multi): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161775 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * gimplify.c (mostly_copy_tree_r): Deal with BIND_EXPR.
ebotcazou [Sat, 3 Jul 2010 13:14:48 +0000 (13:14 +0000)]
* gimplify.c (mostly_copy_tree_r): Deal with BIND_EXPR.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161774 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-03 Jonathan Wakely <jwakely.gcc@gmail.com>
redi [Sat, 3 Jul 2010 12:35:03 +0000 (12:35 +0000)]
2010-07-03  Jonathan Wakely  <jwakely.gcc@gmail.com>

* include/bits/regex_compiler.h: Fix filename in doxygen comment.
* include/bits/regex_constants.h: Likewise.
* include/bits/regex_error.h: Likewise.
* include/bits/regex_grep_matcher.h: Likewise.
* include/bits/regex_grep_matcher.tcc: Likewise.
* include/bits/regex_nfa.tcc: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161773 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/i386/i386.c (override_options): Revert accidental commit.
hubicka [Sat, 3 Jul 2010 11:55:30 +0000 (11:55 +0000)]
* config/i386/i386.c (override_options): Revert accidental commit.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161772 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoAdd missing e-mail address.
ktietz [Sat, 3 Jul 2010 10:30:52 +0000 (10:30 +0000)]
Add missing e-mail address.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161771 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Enumeration_Type>:
ebotcazou [Sat, 3 Jul 2010 09:54:13 +0000 (09:54 +0000)]
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Enumeration_Type>:
Branch to common code handling the alignment of discrete types.
<E_Signed_Integer_Type>: Likewise.
<E_Modular_Integer_Type>: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161770 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-03 Iain Sandoe <iains@gcc.gnu.org>
iains [Sat, 3 Jul 2010 08:15:59 +0000 (08:15 +0000)]
2010-07-03  Iain Sandoe  <iains@gcc.gnu.org>
    Mikael Pettersson  <mikpe@it.uu.se>

        PR testsuite/44518
* obj-c++.dg/encode-2.mm: Produce object and save temps.
Make signed-ness of chars explicit.  Scan the object for
strings that are split by some target assemblers.
* obj-c++.dg/encode-3.mm: Make the signed-ness of chars
explicit.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161769 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoFix long lines
ebotcazou [Sat, 3 Jul 2010 06:23:09 +0000 (06:23 +0000)]
Fix long lines

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161768 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * gfortran.dg/char_bounds_check_fail_1.f90: Correct dg-output string.
hp [Sat, 3 Jul 2010 06:07:59 +0000 (06:07 +0000)]
* gfortran.dg/char_bounds_check_fail_1.f90: Correct dg-output string.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161767 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR/44128
lcwu [Sat, 3 Jul 2010 01:10:06 +0000 (01:10 +0000)]
   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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161765 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-02 Daniel Jacobowitz <dan@codesourcery.com>
sandra [Sat, 3 Jul 2010 01:00:37 +0000 (01:00 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161764 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-02 Julian Brown <julian@codesourcery.com>
sandra [Sat, 3 Jul 2010 00:46:51 +0000 (00:46 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161763 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-02 Sandra Loosemore <sandra@codesourcery.com>
sandra [Sat, 3 Jul 2010 00:31:43 +0000 (00:31 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161762 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoDaily bump.
gccadmin [Sat, 3 Jul 2010 00:18:48 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161760 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * ipa-split.c (split_function): For aggregate values set return_slot_opt;
hubicka [Fri, 2 Jul 2010 23:38:19 +0000 (23:38 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161756 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-02 Sandra Loosemore <sandra@codesourcery.com>
sandra [Fri, 2 Jul 2010 23:16:35 +0000 (23:16 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161755 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoMinor fixes
ebotcazou [Fri, 2 Jul 2010 21:38:40 +0000 (21:38 +0000)]
Minor fixes

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161751 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * expr.h (emit_stack_probe): Declare.
ebotcazou [Fri, 2 Jul 2010 21:25:28 +0000 (21:25 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161749 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-02 Jerry DeLisle <jvdelisle@gcc.gnu.org>
jvdelisle [Fri, 2 Jul 2010 20:57:08 +0000 (20:57 +0000)]
2010-07-02  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

* gfortran.dg/runtime_warning_1.f90: Remove extra dg line.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161747 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR target/43958
danglin [Fri, 2 Jul 2010 20:51:58 +0000 (20:51 +0000)]
PR target/43958
* config/pa/pa.c (hppa_gimplify_va_arg_expr): Use pointer arithmetic
for argument alignment.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161746 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-02 Jerry DeLisle <jvdelisle@gcc.gnu.org>
jvdelisle [Fri, 2 Jul 2010 20:51:50 +0000 (20:51 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161745 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * ipa-split.c (verify_non_ssa_vars): Break out from ...; perform DFS walk
hubicka [Fri, 2 Jul 2010 20:45:00 +0000 (20:45 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161744 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * objc-obj-c++-shared/Object1.h: Correct Line endings.
iains [Fri, 2 Jul 2010 20:34:27 +0000 (20:34 +0000)]
* objc-obj-c++-shared/Object1.h: Correct Line endings.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161743 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR c++/44780
jakub [Fri, 2 Jul 2010 20:22:32 +0000 (20:22 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161742 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoPR target/44771
schwab [Fri, 2 Jul 2010 20:15:59 +0000 (20:15 +0000)]
PR target/44771
* config/m68k/m68k.c (m68k_expand_prologue): Remove set but not
used variable insn.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161741 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-02 Mikael Morin <mikael@gcc.gnu.org>
mikael [Fri, 2 Jul 2010 20:01:05 +0000 (20:01 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161739 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * trans-types.h (gfc_add_field_to_struct): Add tree ** parameter.
froydnj [Fri, 2 Jul 2010 19:53:24 +0000 (19:53 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161738 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * implicit-zee.c (combine_reaching_defs): Fix long lines.
ebotcazou [Fri, 2 Jul 2010 19:25:30 +0000 (19:25 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161736 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-06-28 Tobias Burnus <burnus@net-b.de>
burnus [Fri, 2 Jul 2010 19:07:30 +0000 (19:07 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161735 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * Makefile.am (AM_MAKEFLAGS): Pass also mandir to submakes.
jakub [Fri, 2 Jul 2010 16:52:38 +0000 (16:52 +0000)]
* Makefile.am (AM_MAKEFLAGS): Pass also mandir to submakes.
* Makefile.in: Regenerated.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161731 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoScript to check patches violating the GNU style.
spop [Fri, 2 Jul 2010 16:34:55 +0000 (16:34 +0000)]
Script to check patches violating the GNU style.

2010-07-02  Sebastian Pop  <sebastian.pop@amd.com>

* check_GNU_style.sh: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161729 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoReduce the cost in miss rate computation.
spop [Fri, 2 Jul 2010 16:34:38 +0000 (16:34 +0000)]
Reduce the cost in miss rate computation.

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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161728 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoPR 44576: miss rate computation improvement for prefetching loop arrays.
spop [Fri, 2 Jul 2010 16:34:29 +0000 (16:34 +0000)]
PR 44576: miss rate computation improvement for prefetching loop arrays.

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).

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161727 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR target/42172
bernds [Fri, 2 Jul 2010 16:25:59 +0000 (16:25 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161726 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR target/42835
bernds [Fri, 2 Jul 2010 16:22:33 +0000 (16:22 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161725 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago libgfortran:
ro [Fri, 2 Jul 2010 16:17:04 +0000 (16:17 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161724 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-02 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Fri, 2 Jul 2010 15:17:10 +0000 (15:17 +0000)]
2010-07-02  Paolo Carlini  <paolo.carlini@oracle.com>

* g++.dg/template/crash101.C: Remove stray // from dg-error comment.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161722 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-02 Sandra Loosemore <sandra@codesourcery.com>
sandra [Fri, 2 Jul 2010 14:48:04 +0000 (14:48 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161720 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-02 Sandra Loosemore <sandra@codesourcery.com>
sandra [Fri, 2 Jul 2010 14:43:26 +0000 (14:43 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161719 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-02 Richard Guenther <rguenther@suse.de>
rguenth [Fri, 2 Jul 2010 13:25:23 +0000 (13:25 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161716 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-02 Christian Borntraeger <borntraeger@de.ibm.com>
uweigand [Fri, 2 Jul 2010 12:43:00 +0000 (12:43 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161709 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * df-problems.c (df_kill_notes): Do not collect dead notes.
hubicka [Fri, 2 Jul 2010 12:30:38 +0000 (12:30 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161708 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-02 Richard Guenther <rguenther@suse.de>
rguenth [Fri, 2 Jul 2010 12:28:54 +0000 (12:28 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161707 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
paolo [Fri, 2 Jul 2010 12:09:29 +0000 (12:09 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161706 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-02 Richard Guenther <rguenther@suse.de>
rguenth [Fri, 2 Jul 2010 12:05:59 +0000 (12:05 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161705 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * gcc-interface/misc.c (gnat_handle_option): Do not populate gnat_argv.
ebotcazou [Fri, 2 Jul 2010 11:52:30 +0000 (11:52 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161704 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoChangeLog:
uweigand [Fri, 2 Jul 2010 11:48:30 +0000 (11:48 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161703 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago- Revert two chunks from libstdc++-v3/python/libstdcxx/v6/printers.py,
doko [Fri, 2 Jul 2010 10:55:51 +0000 (10:55 +0000)]
- Revert two chunks from libstdc++-v3/python/libstdcxx/v6/printers.py,
  left over from testing.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161702 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoMissed in last commit.
ro [Fri, 2 Jul 2010 10:26:12 +0000 (10:26 +0000)]
Missed in last commit.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161701 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * configure.ac: Check for Sun symbol versioning.
ro [Fri, 2 Jul 2010 10:15:09 +0000 (10:15 +0000)]
* configure.ac: Check for Sun symbol versioning.
Check for memmove.
* configure: Regenerate.
* config.h.in: Regenerate.

* Makefile.am [LIBSSP_USE_SYMVER]: Protect version_arg,
version_dep with LIBSSP_USE_SYMVER_GNU.
[LIBSSP_USE_SYMVER_SUN]: Handle Sun symbol versioning.
* Makefile.in: Regenerate.

* ssp.map: Reformat.

* memmove-chk.c: Change guard to HAVE_MEMMOVE.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161699 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago/cp
paolo [Fri, 2 Jul 2010 10:13:21 +0000 (10:13 +0000)]
/cp
2010-07-02  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/44039
* pt.c (tsubst_baselink): Return error_mark_node if lookup_fnfields
returns NULL_TREE.

/testsuite
2010-07-02  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/44039
* g++.dg/template/crash101.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161698 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * configure.ac: Check for Sun symbol versioning.
ro [Fri, 2 Jul 2010 10:12:34 +0000 (10:12 +0000)]
* configure.ac: Check for Sun symbol versioning.
* configure: Regenerate.

* Makefile.am [LIBGFOR_USE_SYMVER]: Protect version_arg with
LIBGFOR_USE_SYMVER_GNU.
Add version_dep.
[LIBGFOR_USE_SYMVER_SUN]: Handle Sun symbol versioning.
[!LIBGFOR_USE_SYMVER]: Add version_dep.
(libgfortran_la_DEPENDENCIES): Set to $(version_dep).
* Makefile.in: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161697 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago config:
ro [Fri, 2 Jul 2010 10:05:49 +0000 (10:05 +0000)]
config:
* gc++filt.m4: New file.

contrib:
* make_sunver.pl: New file.

libstdc++v3:
* acinclude.m4 (GLIBCXX_ENABLE_SYMVERS): Handle sun style.
Require GCC_PROG_GNU_CXXFILT.
(_GLIBCXX_HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define
unless targetting solaris2*.
Include ../config/gc++filt.m4.
* configure.host (i?86-*-solaris2*): Set abi_baseline_pair.
(sparc-*-solaris2*): Likewise.
* src/Makefile.am [ENABLE_SYMVERS_SUN] (version_dep, version_arg):
New variables.
(libstdc++-symbols.ver-sun): New target.
* configure: Regenerate.
* config.h.in: Regenerate.
* Makefile.in: Likewise.
* doc/Makefile.in: Likewise.
* include/Makefile.in: Likewise.
* libsupc++/Makefile.in: Likewise.
* po/Makefile.in: Likewise.
* python/Makefile.in: Likewise.
* src/Makefile.in: Likewise.
* src/atomic.cc: Only define/use _GLIBCXX_ASM_SYMVER if
_GLIBCXX_HAVE_SYMVER_RENAMING_RUNTIME_SUPPORT.
* src/compatibility.cc: Likewise.
* testsuite/Makefile.am (baseline_subdir): Define.
(baseline_symbols): Use it.
(new-abi-baseline): Likewise.
* testsuite/Makefile.in: Regenerate.

* config/abi/pre/gnu.ver (GLIBCXX_3.4.5): Enclose duplicates in
#ifdef HAVE_SYMVER_RENAMING_RUNTIME_SUPPORT.
(GLIBCXX_3.4.6): Likewise.

* doc/xml/manual/configure.xml (--enable-symvers): Document sun
style.

* doc/xml/manual/abi.xml: Fix grammar.
(Symbol versioning on the libstdc++.so binary): Fix mapfile path.
(Incremental bumping of a library pre-defined macro): Fix
c++config path.
(Incremental bumping of a library pre-defined macro,
_GLIBCPP_VERSION): Likewise.
(Matching each specific C++ compiler release to a specific set of
C++ include files): Fix acinclude.m4 path.
(Prerequisites): Allow for Sun linker on Solaris 2.5+.
Use proper link to Configuring.
Fix acinclude.m4 path.
(Checking Active): Allow for additional symbol versioning styles.
Provide Solaris 2 example with pvs -r.
(Bibliography): Update Linker and Libraries Guide, C++ Migration
Guide entries.

gcc:
* doc/install.texi (Prerequisites): Document Perl requirement on
Solaris 2.
(Specific, *-*-solaris2*): Document GNU c++filt requirement.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161696 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-02 Richard Guenther <rguenther@suse.de>
rguenth [Fri, 2 Jul 2010 09:57:12 +0000 (09:57 +0000)]
2010-07-02  Richard Guenther  <rguenther@suse.de>

PR middle-end/44777
* tree-cfg.c (gimple_block_ends_with_call_p): Handle empty BBs.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161694 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agorestore cxx-ivar-3 test functionality
iains [Fri, 2 Jul 2010 09:49:53 +0000 (09:49 +0000)]
restore cxx-ivar-3 test functionality

* obj-c++.dg/cxx-ivars-3.mm: Make the test require OSX <= 10.4.
Use the ABI-0 accessors and fail it for m64.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161692 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR middle-end/44706
hubicka [Fri, 2 Jul 2010 09:39:54 +0000 (09:39 +0000)]
PR middle-end/44706
* predict.c (predict_paths_for_bb): Handle case when control dependence
BB has only abnormal edges.
* g++.dg/tree-ssa/pr44706.C: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161691 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-02 Richard Guenther <rguenther@suse.de>
rguenth [Fri, 2 Jul 2010 09:14:03 +0000 (09:14 +0000)]
2010-07-02  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/44748
* tree-ssa-ccp.c (fold_const_aggregate_ref): Properly handle
the embedded conversion in MEM_REFs.

* gcc.dg/tree-ssa/ssa-ccp-29.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161689 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agorestore darwin8 objc/c++ test functionality.
iains [Fri, 2 Jul 2010 09:04:55 +0000 (09:04 +0000)]
restore darwin8 objc/c++ test functionality.

* objc-obj-c++-shared/next-abi.h: Remove dependency on system
headers.  Add clause to reflect that, pre-10.5, ABI is always 0.
* objc/execute/forward-1.m: Depend only on __NEXT_RUNTIME__ for
the method types to forward:.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161687 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agofix darwin8 bootstrap issue
iains [Fri, 2 Jul 2010 08:56:04 +0000 (08:56 +0000)]
fix darwin8 bootstrap issue

       * compare-debug (Darwin): Remove '-x' flag from ld-based object
       stripping.  Add a comment as to why we do it this way.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161686 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoDaily bump.
gccadmin [Fri, 2 Jul 2010 00:17:05 +0000 (00:17 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161685 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * g++.dg/cpp0x/nullptr04.C: Use __INTPTR_TYPE__.
jason [Thu, 1 Jul 2010 14:37:22 +0000 (14:37 +0000)]
* g++.dg/cpp0x/nullptr04.C: Use __INTPTR_TYPE__.
* g++.dg/other/pr25632.C: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161673 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * reload.c: Include toplev.h.
hp [Thu, 1 Jul 2010 13:47:36 +0000 (13:47 +0000)]
* reload.c: Include toplev.h.
* recog.c:  Likewise.
* Makefile.in: Adjust dependencies.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161671 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR tree-optimization/40421
jakub [Thu, 1 Jul 2010 12:53:44 +0000 (12:53 +0000)]
PR tree-optimization/40421
* gfortran.fortran-torture/compile/pr40421.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161669 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/ia64/ia64.c (ia64_register_move_cost): Fix argument types.
amylaar [Thu, 1 Jul 2010 12:35:37 +0000 (12:35 +0000)]
* config/ia64/ia64.c (ia64_register_move_cost): Fix argument types.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161667 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR debug/44694
jakub [Thu, 1 Jul 2010 11:11:46 +0000 (11:11 +0000)]
PR debug/44694
* dwarf2out.c (reg_loc_descriptor): For eliminated arg_pointer_rtx
or frame_pointer_rtx use DW_OP_fbreg offset DW_OP_stack_value.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161662 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-01 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 1 Jul 2010 10:50:14 +0000 (10:50 +0000)]
2010-07-01  Richard Guenther  <rguenther@suse.de>

* emit-rtl.c (set_mem_attributes_minus_bitpos): Use unsigned
types for offsets.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161659 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR target/44732
amylaar [Thu, 1 Jul 2010 10:27:34 +0000 (10:27 +0000)]
    PR target/44732
        * config/ia64/ia64.c (ia64_register_move_cost): Remove stray '{'.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161658 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR target/44727
bernds [Thu, 1 Jul 2010 09:20:40 +0000 (09:20 +0000)]
PR target/44727
* config/i386/i386.md (peephole2 for arithmetic ops with memory):
Make sure operand 0 dies.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161656 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-01 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 1 Jul 2010 08:49:19 +0000 (08:49 +0000)]
2010-07-01  Richard Guenther  <rguenther@suse.de>

PR middle-end/42834
PR middle-end/44468
* doc/gimple.texi (is_gimple_mem_ref_addr): Document.
* doc/generic.texi (References to storage): Document MEM_REF.
* tree-pretty-print.c (dump_generic_node): Handle MEM_REF.
(print_call_name): Likewise.
* tree.c (recompute_tree_invariant_for_addr_expr): Handle MEM_REF.
(build_simple_mem_ref_loc): New function.
(mem_ref_offset): Likewise.
* tree.h (build_simple_mem_ref_loc): Declare.
(build_simple_mem_ref): Define.
(mem_ref_offset): Declare.
* fold-const.c: Include tree-flow.h.
(operand_equal_p): Handle MEM_REF.
(build_fold_addr_expr_with_type_loc): Likewise.
(fold_comparison): Likewise.
(fold_unary_loc): Fold
VIEW_CONVERT_EXPR <T1, MEM_REF <T2, ...>> to MEM_REF <T1, ...>.
(fold_binary_loc): Fold MEM[&MEM[p, CST1], CST2] to MEM[p, CST1 + CST2],
fold MEM[&a.b, CST2] to MEM[&a, offsetof (a, b) + CST2].
* tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Handle MEM_REF.
(ptr_deref_may_alias_ref_p_1): Likewise.
(ao_ref_base_alias_set): Properly differentiate base object for
offset and TBAA.
(ao_ref_init_from_ptr_and_size): Use MEM_REF.
(indirect_ref_may_alias_decl_p): Handle MEM_REFs properly.
(indirect_refs_may_alias_p): Likewise.
(refs_may_alias_p_1): Likewise.  Remove pointer SSA name def
chasing code.
(ref_maybe_used_by_call_p_1): Handle MEM_REF.
(call_may_clobber_ref_p_1): Likewise.
* dwarf2out.c (loc_list_from_tree): Handle MEM_REF.
* expr.c (expand_assignment): Handle MEM_REF.
(store_expr): Handle MEM_REFs from STRING_CSTs.
(store_field): If expanding a MEM_REF of a non-addressable
decl use bitfield operations.
(get_inner_reference): Handle MEM_REF.
(expand_expr_addr_expr_1): Likewise.
(expand_expr_real_1): Likewise.
* tree-eh.c (tree_could_trap_p): Handle MEM_REF.
* alias.c (ao_ref_from_mem): Handle MEM_REF.
(get_alias_set): Likewise.  Properly handle VIEW_CONVERT_EXPRs.
* tree-data-ref.c (dr_analyze_innermost): Handle MEM_REF.
(dr_analyze_indices): Likewise.
(dr_analyze_alias): Likewise.
(object_address_invariant_in_loop_p): Likewise.
* gimplify.c (mark_addressable): Handle MEM_REF.
(gimplify_cond_expr): Build MEM_REFs.
(gimplify_modify_expr_to_memcpy): Likewise.
(gimplify_init_ctor_preeval_1): Handle MEM_REF.
(gimple_fold_indirect_ref): Adjust.
(gimplify_expr): Handle MEM_REF.  Gimplify INDIRECT_REF to MEM_REF.
* tree.def (MEM_REF): New tree code.
* tree-dfa.c: Include toplev.h.
(get_ref_base_and_extent): Handle MEM_REF.
(get_addr_base_and_unit_offset): New function.
* emit-rtl.c (set_mem_attributes_minus_bitpos): Handle MEM_REF.
* gimple-fold.c (may_propagate_address_into_dereference): Handle
MEM_REF.
(maybe_fold_offset_to_array_ref): Allow possibly out-of bounds
accesses if the array has just one dimension.  Remove always true
parameter.  Do not require type compatibility here.
(maybe_fold_offset_to_component_ref): Remove.
(maybe_fold_stmt_indirect): Remove.
(maybe_fold_reference): Remove INDIRECT_REF handling.
Fold back to non-MEM_REF.
(maybe_fold_offset_to_address): Simplify.  Deal with type
mismatches here.
(maybe_fold_reference): Likewise.
(maybe_fold_stmt_addition): Likewise.  Also handle
&ARRAY + I in addition to &ARRAY[0] + I.
(fold_gimple_assign): Handle ADDR_EXPR of MEM_REFs.
(gimple_get_relevant_ref_binfo): Handle MEM_REF.
* cfgexpand.c (expand_debug_expr): Handle MEM_REF.
* tree-ssa.c (useless_type_conversion_p): Make most pointer
conversions useless.
(warn_uninitialized_var): Handle MEM_REF.
(maybe_rewrite_mem_ref_base): New function.
(execute_update_addresses_taken): Implement re-writing of MEM_REFs
to SSA form.
* tree-inline.c (remap_gimple_op_r): Handle MEM_REF, remove
INDIRECT_REF handling.
(copy_tree_body_r): Handle MEM_REF.
* gimple.c (is_gimple_addressable): Adjust.
(is_gimple_address): Likewise.
(is_gimple_invariant_address): ADDR_EXPRs of MEM_REFs with
invariant base are invariant.
(is_gimple_min_lval): Adjust.
(is_gimple_mem_ref_addr): New function.
(get_base_address): Handle MEM_REF.
(count_ptr_derefs): Likewise.
(get_base_loadstore): Likewise.
* gimple.h (is_gimple_mem_ref_addr): Declare.
(gimple_call_fndecl): Handle invariant MEM_REF addresses.
* tree-cfg.c (verify_address): New function, split out from ...
(verify_expr): ... here.  Use for verifying ADDR_EXPRs and
the address operand of MEM_REFs.  Verify MEM_REFs.  Reject
INDIRECT_REFs.
(verify_types_in_gimple_min_lval): Handle MEM_REF.  Disallow
INDIRECT_REF.  Allow conversions.
(verify_types_in_gimple_reference): Verify VIEW_CONVERT_EXPR of
a register does not change its size.
(verify_types_in_gimple_reference): Verify MEM_REF.
(verify_gimple_assign_single): Disallow INDIRECT_REF.
Handle MEM_REF.
* tree-ssa-operands.c (opf_non_addressable, opf_not_non_addressable):
New.
(mark_address_taken): Handle MEM_REF.
(get_indirect_ref_operands): Pass through opf_not_non_addressable.
(get_asm_expr_operands): Pass opf_not_non_addressable.
(get_expr_operands): Handle opf_[not_]non_addressable.
Handle MEM_REF.  Remove INDIRECT_REF handling.
* tree-vrp.c: (check_array_ref): Handle MEM_REF.
(search_for_addr_array): Likewise.
(check_array_bounds): Likewise.
(vrp_stmt_computes_nonzero): Adjust for MEM_REF.
* tree-ssa-loop-im.c (for_each_index): Handle MEM_REF.
(ref_always_accessed_p): Likewise.
(gen_lsm_tmp_name): Likewise.  Handle ADDR_EXPR.
* tree-complex.c (extract_component): Do not handle INDIRECT_REF.
Handle MEM_REF.
* cgraphbuild.c (mark_load): Properly check for NULL result
from get_base_address.
(mark_store): Likewise.
* tree-ssa-loop-niter.c (array_at_struct_end_p): Handle MEM_REF.
* tree-loop-distribution.c (generate_builtin): Exchange INDIRECT_REF
handling for MEM_REF.
* tree-scalar-evolution.c (follow_ssa_edge_expr): Handle
&MEM[ptr + CST] similar to POINTER_PLUS_EXPR.
* builtins.c (stabilize_va_list_loc): Use the function ABI
valist type if we couldn't canonicalize the argument type.
Always dereference with the canonical va-list type.
(maybe_emit_free_warning): Handle MEM_REF.
(fold_builtin_memory_op): Simplify and handle MEM_REFs in folding
memmove to memcpy.
* builtins.c (fold_builtin_memory_op): Use ref-all types
for all memcpy foldings.
* omp-low.c (build_receiver_ref): Adjust for MEM_REF.
(build_outer_var_ref): Likewise.
(scan_omp_1_op): Likewise.
(lower_rec_input_clauses): Likewise.
(lower_lastprivate_clauses): Likewise.
(lower_reduction_clauses): Likewise.
(lower_copyprivate_clauses): Likewise.
(expand_omp_atomic_pipeline): Likewise.
(expand_omp_atomic_mutex): Likewise.
(create_task_copyfn): Likewise.
* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Handle MEM_REF.
Remove old union trick.  Initialize constant offsets.
(ao_ref_init_from_vn_reference): Likewise.  Do not handle
INDIRECT_REF.  Init base_alias_set properly.
(vn_reference_lookup_3): Replace INDIRECT_REF handling with
MEM_REF.
(vn_reference_fold_indirect): Adjust for MEM_REFs.
(valueize_refs): Fold MEM_REFs.  Re-evaluate constant offset
for ARRAY_REFs.
(may_insert): Remove.
(visit_reference_op_load): Do not test may_insert.
(run_scc_vn): Remove parameter, do not fiddle with may_insert.
* tree-ssa-sccvn.h (struct vn_reference_op_struct): Add
a field to store the constant offset this op applies.
(run_scc_vn): Adjust prototype.
* cgraphunit.c (thunk_adjust): Adjust for MEM_REF.
* tree-ssa-ccp.c (ccp_fold): Replace INDIRECT_REF folding with
MEM_REF.  Propagate &foo + CST as &MEM[&foo, CST].  Do not
bother about volatile qualifiers on pointers.
(fold_const_aggregate_ref): Handle MEM_REF, do not handle INDIRECT_REF.
* tree-ssa-loop-ivopts.c
* tree-ssa-loop-ivopts.c (determine_base_object): Adjust
for MEM_REF.
(strip_offset_1): Likewise.
(find_interesting_uses_address): Replace INDIRECT_REF handling with
MEM_REF handling.
(get_computation_cost_at): Likewise.
* ipa-pure-const.c (check_op): Handle MEM_REF.
* tree-stdarg.c (check_all_va_list_escapes): Adjust for MEM_REF.
* tree-ssa-sink.c (is_hidden_global_store): Handle MEM_REF
and constants.
* ipa-inline.c (likely_eliminated_by_inlining_p): Handle MEM_REF.
* tree-parloops.c (take_address_of): Adjust for MEM_REF.
(eliminate_local_variables_1): Likewise.
(create_call_for_reduction_1): Likewise.
(create_loads_for_reductions): Likewise.
(create_loads_and_stores_for_name): Likewise.
* matrix-reorg.c (may_flatten_matrices_1): Sanitize.
(ssa_accessed_in_tree): Handle MEM_REF.
(ssa_accessed_in_assign_rhs): Likewise.
(update_type_size): Likewise.
(analyze_accesses_for_call_stmt): Likewise.
(analyze_accesses_for_assign_stmt): Likewise.
(transform_access_sites): Likewise.
(transform_allocation_sites): Likewise.
* tree-affine.c (tree_to_aff_combination): Handle MEM_REF.
* tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref): Do
not handle INDIRECT_REF.
* tree-ssa-phiopt.c (add_or_mark_expr): Handle MEM_REF.
(cond_store_replacement): Likewise.
* tree-ssa-pre.c (create_component_ref_by_pieces_1): Handle
MEM_REF, no not handle INDIRECT_REFs.
(insert_into_preds_of_block): Properly initialize avail.
(phi_translate_1): Fold MEM_REFs.  Re-evaluate constant offset
for ARRAY_REFs.  Properly handle reference lookups that
require a bit re-interpretation.
(can_PRE_operation): Do not handle INDIRECT_REF.  Handle MEM_REF.
* tree-sra.c
* tree-sra.c (build_access_from_expr_1): Handle MEM_REF.
(build_ref_for_offset_1): Remove.
(build_ref_for_offset): Build MEM_REFs.
(gate_intra_sra): Disable for now.
(sra_ipa_modify_expr): Handle MEM_REF.
(ipa_early_sra_gate): Disable for now.
* tree-sra.c (create_access): Swap INDIRECT_REF handling for
MEM_REF handling.
(disqualify_base_of_expr): Likewise.
(ptr_parm_has_direct_uses): Swap INDIRECT_REF handling for
MEM_REF handling.
(sra_ipa_modify_expr): Remove INDIRECT_REF handling.
Use mem_ref_offset.  Remove bogus folding.
(build_access_from_expr_1): Properly handle MEM_REF for
non IPA-SRA.
(make_fancy_name_1): Add support for MEM_REF.
* tree-predcom.c (ref_at_iteration): Handle MEM_REFs.
* tree-mudflap.c (mf_xform_derefs_1): Adjust for MEM_REF.
* ipa-prop.c (compute_complex_assign_jump_func): Handle MEM_REF.
(compute_complex_ancestor_jump_func): Likewise.
(ipa_analyze_virtual_call_uses): Likewise.
* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Replace
INDIRECT_REF folding with more generalized MEM_REF folding.
(tree_ssa_forward_propagate_single_use_vars): Adjust accordingly.
(forward_propagate_addr_into_variable_array_index): Also handle
&ARRAY + I in addition to &ARRAY[0] + I.
* tree-ssa-dce.c (ref_may_be_aliased): Handle MEM_REF.
* tree-ssa-ter.c (find_replaceable_in_bb): Avoid TER if that
creates assignments with overlap.
* tree-nested.c (get_static_chain): Adjust for MEM_REF.
(get_frame_field): Likewise.
(get_nonlocal_debug_decl): Likewise.
(convert_nonlocal_reference_op): Likewise.
(struct nesting_info): Add mem_refs pointer-set.
(create_nesting_tree): Allocate it.
(convert_local_reference_op): Insert to be folded mem-refs.
(fold_mem_refs): New function.
(finalize_nesting_tree_1): Perform defered folding of mem-refs
(free_nesting_tree): Free the pointer-set.
* tree-vect-stmts.c (vectorizable_store): Adjust for MEM_REF.
(vectorizable_load): Likewise.
* tree-ssa-phiprop.c (phiprop_insert_phi): Adjust for MEM_REF.
(propagate_with_phi): Likewise.
* tree-object-size.c (addr_object_size): Handle MEM_REFs
instead of INDIRECT_REFs.
(compute_object_offset): Handle MEM_REF.
(plus_stmt_object_size): Handle MEM_REF.
(collect_object_sizes_for): Dispatch to plus_stmt_object_size
for &MEM_REF.
* tree-flow.h (get_addr_base_and_unit_offset): Declare.
(symbol_marked_for_renaming): Likewise.
* Makefile.in (tree-dfa.o): Add $(TOPLEV_H).
(fold-const.o): Add $(TREE_FLOW_H).
* tree-ssa-structalias.c (get_constraint_for_1): Handle MEM_REF.
(find_func_clobbers): Likewise.
* ipa-struct-reorg.c (decompose_indirect_ref_acc): Handle MEM_REF.
(decompose_access): Likewise.
(replace_field_acc): Likewise.
(replace_field_access_stmt): Likewise.
(insert_new_var_in_stmt): Likewise.
(get_stmt_accesses): Likewise.
(reorg_structs_drive): Disable.
* config/i386/i386.c (ix86_va_start): Adjust for MEM_REF.
(ix86_canonical_va_list_type): Likewise.

cp/
* cp-gimplify.c (cp_gimplify_expr): Open-code the rhs
predicate we are looking for, allow non-gimplified
INDIRECT_REFs.

testsuite/
* gcc.c-torture/execute/20100316-1.c: New testcase.
* gcc.c-torture/execute/pr44468.c: Likewise.
* gcc.c-torture/compile/20100609-1.c: Likewise.
* gcc.dg/volatile2.c: Adjust.
* gcc.dg/plugin/selfassign.c: Likewise.
* gcc.dg/pr36902.c: Likewise.
* gcc.dg/tree-ssa/foldaddr-2.c: Remove.
* gcc.dg/tree-ssa/foldaddr-3.c: Likewise.
* gcc.dg/tree-ssa/forwprop-8.c: Adjust.
* gcc.dg/tree-ssa/pr17141-1.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-13.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-14.c: Likewise.
* gcc.dg/tree-ssa/ssa-ccp-21.c: Likewise.
* gcc.dg/tree-ssa/pta-ptrarith-1.c: Likewise.
* gcc.dg/tree-ssa/20030807-7.c: Likewise.
* gcc.dg/tree-ssa/forwprop-10.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-1.c: Likewise.
* gcc.dg/tree-ssa/pta-ptrarith-2.c: Likewise.
* gcc.dg/tree-ssa/ssa-ccp-23.c: Likewise.
* gcc.dg/tree-ssa/forwprop-1.c: Likewise.
* gcc.dg/tree-ssa/forwprop-2.c: Likewise.
* gcc.dg/tree-ssa/struct-aliasing-1.c: Likewise.
* gcc.dg/tree-ssa/ssa-ccp-25.c: Likewise.
* gcc.dg/tree-ssa/ssa-pre-26.c: Likewise.
* gcc.dg/tree-ssa/struct-aliasing-2.c: Likewise.
* gcc.dg/tree-ssa/ssa-ccp-26.c: Likewise.
* gcc.dg/tree-ssa/ssa-sccvn-4.c: Likewise.
* gcc.dg/tree-ssa/ssa-pre-7.c: Likewise.
* gcc.dg/tree-ssa/forwprop-5.c: Likewise.
* gcc.dg/struct/w_prof_two_strs.c: XFAIL.
* gcc.dg/struct/wo_prof_escape_arg_to_local.c: Likewise.
* gcc.dg/struct/wo_prof_global_var.c: Likewise.
* gcc.dg/struct/wo_prof_malloc_size_var.c: Likewise.
* gcc.dg/struct/w_prof_local_array.c: Likewise.
* gcc.dg/struct/w_prof_single_str_global.c: Likewise.
* gcc.dg/struct/wo_prof_escape_str_init.c: Likewise.
* gcc.dg/struct/wo_prof_array_through_pointer.c: Likewise.
* gcc.dg/struct/w_prof_global_array.c: Likewise.
* gcc.dg/struct/wo_prof_array_field.c: Likewise.
* gcc.dg/struct/wo_prof_single_str_local.c: Likewise.
* gcc.dg/struct/w_prof_local_var.c: Likewise.
* gcc.dg/struct/wo_prof_two_strs.c: Likewise.
* gcc.dg/struct/wo_prof_empty_str.c: Likewise.
* gcc.dg/struct/wo_prof_local_array.c: Likewise.
* gcc.dg/struct/w_prof_global_var.c: Likewise.
* gcc.dg/struct/wo_prof_single_str_global.c: Likewise.
* gcc.dg/struct/wo_prof_escape_substr_value.c: Likewise.
* gcc.dg/struct/wo_prof_global_array.c: Likewise.
* gcc.dg/struct/wo_prof_escape_return.c: Likewise.
* gcc.dg/struct/wo_prof_escape_substr_array.c: Likewise.
* gcc.dg/struct/wo_prof_double_malloc.c: Likewise.
* gcc.dg/struct/w_ratio_cold_str.c: Likewise.
* gcc.dg/struct/wo_prof_escape_substr_pointer.c: Likewise.
* gcc.dg/struct/wo_prof_local_var.c: Likewise.
* gcc.dg/tree-prof/stringop-1.c: Adjust.
* g++.dg/tree-ssa/pr31146.C: Likewise.
* g++.dg/tree-ssa/copyprop-1.C: Likewise.
* g++.dg/tree-ssa/pr33604.C: Likewise.
* g++.dg/plugin/selfassign.c: Likewise.
* gfortran.dg/array_memcpy_3.f90: Likewise.
* gfortran.dg/array_memcpy_4.f90: Likewise.
* c-c++-common/torture/pr42834.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161655 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoDaily bump.
gccadmin [Thu, 1 Jul 2010 00:17:09 +0000 (00:17 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161653 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago/cp
paolo [Wed, 30 Jun 2010 20:46:46 +0000 (20:46 +0000)]
/cp
2010-06-30  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/44628
* typeck.c (cp_build_unary_op): Early return error_mark_node when
arg is NULL_TREE too.
* call.c (convert_class_to_reference): Return error_mark_node when
expr is NULL_TREE.

/testsuite
2010-06-30  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/44628
* g++.dg/template/crash100.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161639 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR other/44566
amylaar [Wed, 30 Jun 2010 18:47:43 +0000 (18:47 +0000)]
    PR other/44566
        * coretypes.h [!USED_FOR_TARGET] (reg_class_t): Define.
        * target.def (struct gcc_target): Replace enum reg_class with
        reg_class_t in hook argument / return types.
        * doc/tm.texi.in (TARGET_SECONDARY_RELOAD): Likewise.
        (TARGET_IRA_COVER_CLASSES, TARGET_MEMORY_MOVE_COST): Likewise.
        (TARGET_BRANCH_TARGET_REGISTER_CLASS): Likewise.
        * targhooks.h (default_branch_target_register_class): Likewise.
        (default_ira_cover_classes, default_secondary_reload): Likewise.
        (default_memory_move_cost, default_register_move_cost): Likewise.
        * targhooks.c (default_branch_target_register_class): Likewise.
        (default_ira_cover_classes, default_secondary_reload): Likewise.
        (default_memory_move_cost, default_register_move_cost): Likewise.
        * reload.c (push_secondary_reload, secondary_reload_class): Likewise.
        * bt-load.c (branch_target_load_optimize): Likewise.
        * ira.c (setup_cover_and_important_classes): Likewise.
        * ira-costs.c (copy_cost): Likewise.
        * reload1.c (emit_input_reload_insns): Likewise.
        * config/alpha/alpha.c (alpha_secondary_reload): Likewise.
        * config/frv/frv.c (frv_secondary_reload): Likewise.
        * config/s390/s390.c (s390_secondary_reload): Likewise.
        * config/i386/i386.c (i386_ira_cover_classes): Likewise.
        (ix86_secondary_reload, ix86_memory_move_cost): Likewise.
        (ix86_register_move_cost): Likewise.
        * config/sh/sh-protos.h (sh_secondary_reload): Likewise.
        * config/sh/sh.c (sh_target_reg_class, sh_secondary_reload): Likewise.
        * config/xtensa/xtensa.c (xtensa_secondary_reload): Likewise.
        * config/xtensa/xtensa-protos.h (xtensa_secondary_reload): Likewise.
        * config/rs6000/rs6000.c (rs6000_secondary_reload): Likewise.
        (rs6000_ira_cover_classes): Likewise.
        * config/picochip/picochip.c (picochip_secondary_reload): Likewise.
        * config/picochip/picochip-protos.h (picochip_secondary_reload):
        Likewise.
        * config/pa/pa.c (pa_secondary_reload): Likewise.
        * config/mips/mips.c (mips_ira_cover_classes): Likewise.
        * config/bfin/bfin.c (bfin_secondary_reload): Likewise.
        * config/ia64/ia64.c (ia64_register_move_cost): Likewise.
        * doc/tm.texi: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161633 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-06-30 Sebastian Pop <sebastian.pop@amd.com>
rguenth [Wed, 30 Jun 2010 18:38:37 +0000 (18:38 +0000)]
2010-06-30  Sebastian Pop  <sebastian.pop@amd.com>

PR bootstrrap/44726
* graphite-sese-to-poly.c (build_poly_dr): Avoid uninitialized
use.
(build_alias_set_optimal_p): Likewise.
(build_base_obj_set_for_drs): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161631 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * target.def (print_operand, print_operand_address): Update comment.
amylaar [Wed, 30 Jun 2010 18:24:20 +0000 (18:24 +0000)]
* target.def (print_operand, print_operand_address): Update comment.
(print_operand_punct_valid_p): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161629 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * target.def (dfa_new_cycle): Use DEFHOOK. Rename dump_file to dump,
amylaar [Wed, 30 Jun 2010 18:11:35 +0000 (18:11 +0000)]
* target.def (dfa_new_cycle): Use DEFHOOK.  Rename dump_file to dump,
last-sched_cycle to last_clock, cur_cycle to clock.
* doc/tm.texi.in: Use @hook.
* doc/tm.texi: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161628 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * target.def (return_pops_args): Use DEFHOOK.
amylaar [Wed, 30 Jun 2010 18:10:23 +0000 (18:10 +0000)]
* target.def (return_pops_args): Use DEFHOOK.
* doc/tm.texi.in (TARGET_RETURN_POPS_ARGS): Use @hook.
Rename stack-size to size.
* doc/tm.texi: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161627 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * target.def (resolve_overloaded_builtin): Rename params to arglist.
amylaar [Wed, 30 Jun 2010 18:08:56 +0000 (18:08 +0000)]
* target.def (resolve_overloaded_builtin): Rename params to arglist.
Use DEFHOOK.
* doc/tm.texi.in (TARGET_RESOLVE_OVERLOADED_BUILTIN): Use @hook.
* doc/tm.texi: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161626 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * target.def (pass_by_reference): Use DEFHOOK.
amylaar [Wed, 30 Jun 2010 18:06:11 +0000 (18:06 +0000)]
* target.def (pass_by_reference): Use DEFHOOK.
* doc/tm.texi.in (TARGET_PASS_BY_REFERENCE): Use @hook.
* doc/tm.texi: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161625 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * target.def (pragma_parse): Use DEFHOOK.
amylaar [Wed, 30 Jun 2010 18:04:48 +0000 (18:04 +0000)]
    * target.def (pragma_parse): Use DEFHOOK.
        * doc/tm.texi.in (TARGET_OPTION_PRAGMA_PARSE): Use @hook.
        s/TARGET_VALID_OPTION_ATTRIBUTE_P/TARGET_OPTION_VALID_ATRIBUTE_P/ .
        * doc/tm.texi: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161624 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * target.def (memory_move_cost): Use DEFHOOK.
amylaar [Wed, 30 Jun 2010 17:56:15 +0000 (17:56 +0000)]
* target.def (memory_move_cost): Use DEFHOOK.
* doc/tm.texi.in (TARGET_MEMORY_MOVE_COST): Use @hook.
Rename regclass AKA class to rclass.
* doc/tm.texi: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161623 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * target.def (fold_builtin): Rename nargs to n_args. Use DEFHOOK.
amylaar [Wed, 30 Jun 2010 17:55:03 +0000 (17:55 +0000)]
* target.def (fold_builtin): Rename nargs to n_args.  Use DEFHOOK.
* doc/tm.texi.in (TARGET_FOLD_BUILTIN): Use @hook.
* doc/tm.texi: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161622 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * target.def (enum_va_list_p): Use DEFHOOK.
amylaar [Wed, 30 Jun 2010 17:53:44 +0000 (17:53 +0000)]
    * target.def (enum_va_list_p): Use DEFHOOK.
        * doc/tm.texi.in (TARGET_ENUM_VA_LIST_P): Use @hook.
        Rename ptype to ptree.
        * doc/tm.texi: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161621 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * target.def (builtin_reciprocal): Change tm_fn to md_fn. Use DEFHOOK.
amylaar [Wed, 30 Jun 2010 17:52:17 +0000 (17:52 +0000)]
* target.def (builtin_reciprocal): Change tm_fn to md_fn.  Use DEFHOOK.
* doc/tm.texi.in (TARGET_BUILTIN_RECIPROCAL): Use @hook.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161620 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * target.def (declare_constant_name): Change exp to expr. Use DEFHOOK.
amylaar [Wed, 30 Jun 2010 17:49:36 +0000 (17:49 +0000)]
    * target.def (declare_constant_name): Change exp to expr.  Use DEFHOOK.
        * doc/tm.texi.in (TARGET_ASM_DECLARE_CONSTANT_NAME): Use @hook.
        * doc/tm.texi: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161619 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * target.def: Remove comment about licensing problems of function
amylaar [Wed, 30 Jun 2010 17:48:41 +0000 (17:48 +0000)]
* target.def: Remove comment about licensing problems of function
declaration.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161618 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
manu [Wed, 30 Jun 2010 17:12:36 +0000 (17:12 +0000)]
2010-06-30  Manuel López-Ibáñez  <manu@gcc.gnu.org>

* toplev.h (_fatal_insn_not_found, _fatal_insn): Move declarations
to rtl.h.
(error_for_asm, warning_for_asm): Move declarations to rtl-error.h.
* rtl.h (_fatal_insn_not_found, _fatal_insn): Move declarations
here.
* rtl-error.h: New.
* regrename.c: Do not include toplev.h. Include rtl-error.h.
* rtl-error.c: Likewise.
* reload.c: Likewise.
* recog.c:  Likewise.
* sel-sched.c: Likewise.
* function.c: Likewise.
* reg-stack.c: Likewise.
* cfgrtl.c: Likewise.
* reload1.c: Likewise.
* final.c: Include rtl-error.
* Makefile.in: Adjust dependencies.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161617 138bc75d-0d04-0410-961f-82ee72b054a4