gcc.git
14 years agogimple.h (create_tmp_reg): Declare.
Martin Jambor [Mon, 19 Apr 2010 17:58:54 +0000 (19:58 +0200)]
gimple.h (create_tmp_reg): Declare.

2010-04-19  Martin Jambor  <mjambor@suse.cz>

* gimple.h (create_tmp_reg): Declare.
* gimplify.c (create_tmp_reg): New function.
(gimplify_return_expr): Use create_tmp_reg.
(gimplify_omp_atomic): Likewise.
(gimple_regimplify_operands): Likewise.
* tree-dfa.c (make_rename_temp): Likewise.
* tree-predcom.c (predcom_tmp_var): Likewise.
(reassociate_to_the_same_stmt): Likewise.
* tree-sra.c (replace_uses_with_default_def_ssa_name): Likewise.
(get_replaced_param_substitute): Likewise.
* tree-ssa-phiprop.c (phiprop_insert_phi): Likewise.
* tree-ssa-phiopt.c (cond_store_replacement): Likewise.
* tree-ssa-pre.c (get_representative_for): Likewise.
(create_expression_by_pieces): Likewise.
* tree-tailcall.c (adjust_return_value_with_ops): Likewise.
(create_tailcall_accumulator): Likewise.

From-SVN: r158523

14 years agocgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Update new_stmt.
Martin Jambor [Mon, 19 Apr 2010 17:55:22 +0000 (19:55 +0200)]
cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Update new_stmt.

2010-04-19  Martin Jambor  <mjambor@suse.cz>

* cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Update
new_stmt.
(cgraph_materialize_all_clones): Assert !need_ssa_update_p.

From-SVN: r158522

14 years agore PR middle-end/43796 (ICE in is_overflow_infinity (tree-vrp.c:184) with gfortran...
Richard Guenther [Mon, 19 Apr 2010 15:17:26 +0000 (15:17 +0000)]
re PR middle-end/43796 (ICE in is_overflow_infinity (tree-vrp.c:184) with gfortran -fcheck=bounds -O2)

2010-04-19  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/43796
* tree-vrp.c (adjust_range_with_scev): Lookup init and step
from SCEV in the lattice.
(vrp_visit_phi_node): Dump change.

* gfortran.dg/pr43796.f90: New testcase.

From-SVN: r158520

14 years agoconfigure.ac: Fix quoting around elf_getshstrndx ABI check.
Richard Guenther [Mon, 19 Apr 2010 15:13:50 +0000 (15:13 +0000)]
configure.ac: Fix quoting around elf_getshstrndx ABI check.

2010-04-19  Richard Guenther  <rguenther@suse.de>

* configure.ac: Fix quoting around elf_getshstrndx ABI check.
* configure: Re-generated.

From-SVN: r158519

14 years agore PR tree-optimization/43783 (-O -ftree-pre options compile libbid wrong)
Richard Guenther [Mon, 19 Apr 2010 13:36:54 +0000 (13:36 +0000)]
re PR tree-optimization/43783 (-O -ftree-pre options compile libbid wrong)

2010-04-19  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/43783
* tree-ssa-pre.c (create_component_ref_by_pieces_1): Drop
constant ARRAY_REF operands two and three if possible.

* gcc.c-torture/execute/pr43783.c: New testcase.

From-SVN: r158517

14 years agore PR target/43766 (x86 prefetch doesn't use complex memory addressing)
Uros Bizjak [Mon, 19 Apr 2010 12:37:16 +0000 (14:37 +0200)]
re PR target/43766 (x86 prefetch doesn't use complex memory addressing)

PR target/43766
* config/i386/i386.c (ix86_decompose_address): Handle ASHIFT addends.

testsuite/ChangeLog:

PR target/43766
* gcc.target/i386/pr43766.c: New test.

From-SVN: r158515

14 years agozh_CN.po: Update.
Joseph Myers [Mon, 19 Apr 2010 10:12:53 +0000 (11:12 +0100)]
zh_CN.po: Update.

gcc/po:
* zh_CN.po: Update.

libcpp/po:
* zh_CN.po: Update.

From-SVN: r158512

14 years agore PR target/43662 (ICE in insert_save with ms_abi attribute)
Jie Zhang [Mon, 19 Apr 2010 10:02:52 +0000 (10:02 +0000)]
re PR target/43662 (ICE in insert_save with ms_abi attribute)

PR target/43662
* reginfo.c (reinit_regs): Set caller_save_initialized_p
to false.

testsuite/
PR target/43662
* gcc.target/i386/pr43662.c: New test.

From-SVN: r158509

14 years agore PR c++/43704 (ICE: tree check: accessed elt 2 of tree_vec with 1 elts in tsubst...
Dodji Seketeli [Mon, 19 Apr 2010 09:32:16 +0000 (09:32 +0000)]
re PR c++/43704 (ICE: tree check: accessed elt 2 of tree_vec with 1 elts in tsubst, at cp/pt.c:10074)

Fix PR c++/43704

gcc/cp/ChangeLog:
PR c++/43704
* typeck.c (structural_comptypes): Test dependent typedefs
incompatibility before testing for their main variant based
equivalence.

gcc/testsuite/ChangeLog:
PR c++/43704
* g++.dg/template/typedef32.C: New test.

From-SVN: r158508

14 years agore PR tree-optimization/37027 (SLP loop vectorization missing support for reductions)
Ira Rosen [Mon, 19 Apr 2010 09:10:45 +0000 (09:10 +0000)]
re PR tree-optimization/37027 (SLP loop vectorization missing support for reductions)

PR tree-optimization/37027
* tree-vectorizer.h (struct _loop_vec_info): Add new field reductions
and macro to access it.
(vectorizable_reduction): Add argument.
(vect_get_slp_defs): Likewise.
* tree-vect-loop.c (vect_analyze_scalar_cycles_1): Collect reduction
statements for possible use in SLP.
(new_loop_vec_info): Initialize LOOP_VINFO_REDUCTIONS.
(destroy_loop_vec_info): Free LOOP_VINFO_REDUCTIONS.
(vect_create_epilog_for_reduction): Handle SLP. Modify documentation,
add new argument.
(vectorizable_reduction): Likewise.
* tree-vect-stmts.c (vect_get_vec_defs): Update call to
vect_get_slp_defs.
(vectorizable_type_demotion, vectorizable_type_promotion,
vectorizable_store): Likewise.
(vect_analyze_stmt): Update call to vectorizable_reduction.
(vect_transform_stmt): Likewise.
* tree-vect-slp.c (vect_get_and_check_slp_defs): Handle reduction.
(vect_build_slp_tree): Fix indentation. Check that there are no loads
from different interleaving chains in same node.
(vect_slp_rearrange_stmts): New function.
(vect_supported_load_permutation_p): Allow load permutations for
reductions. Call vect_slp_rearrange_stmts() to rearrange statements
inside SLP nodes if necessary.
(vect_analyze_slp_instance): Handle reductions.
(vect_analyze_slp): Try to build SLP instances originating from groups
of reductions.
(vect_detect_hybrid_slp_stmts): Skip reduction statements.
(vect_get_constant_vectors): Create initial vectors for reductions
according to reduction code. Add new argument.
(vect_get_slp_defs): Add new argument, pass it to
vect_get_constant_vectors.
(vect_schedule_slp_instance): Remove SLP tree root statements.

From-SVN: r158506

14 years agotree.h (ENUM_IS_SCOPED): Define.
Jakub Jelinek [Mon, 19 Apr 2010 07:48:46 +0000 (09:48 +0200)]
tree.h (ENUM_IS_SCOPED): Define.

* tree.h (ENUM_IS_SCOPED): Define.
* dwarf2out.c (gen_enumeration_type_die): Add DW_AT_enum_class
for ENUM_IS_SCOPED enums.
cp/
* cp-tree.h (SCOPED_ENUM_P, UNSCOPED_ENUM_P, SET_SCOPED_ENUM_P): Use
ENUM_IS_SCOPED bit instead of TYPE_LANG_FLAG_5.
testsuite/
* g++.dg/debug/dwarf2/enum1.C: New test.

From-SVN: r158505

14 years agoDaily bump.
GCC Administrator [Mon, 19 Apr 2010 00:17:30 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r158501

14 years agofold-const.c (fold_comparison): Use ssizetype.
Eric Botcazou [Sun, 18 Apr 2010 21:49:29 +0000 (21:49 +0000)]
fold-const.c (fold_comparison): Use ssizetype.

2010-04-18  Eric Botcazou  <ebotcazou@adacore.com>

* fold-const.c (fold_comparison): Use ssizetype.
* gimple-fold.c (maybe_fold_offset_to_array_ref): Likewise.
* ipa-prop.c (ipa_modify_call_arguments): Use sizetype.
* tree-loop-distribution.c (build_size_arg_loc): Likewise.
* tree-object-size.c (compute_object_sizes): Use size_type_node.

* tree.h (initialize_sizetypes): Remove parameter.
(build_common_tree_nodes): Remove second parameter.
* stor-layout.c (initialize_sizetypes): Remove parameter.
Always create an unsigned type.
(set_sizetype): Assert that the passed type is unsigned and simplify.
* tree.c (build_common_tree_nodes): Remove second parameter.
Adjust call to initialize_sizetypes.
* c-decl.c (c_init_decl_processing): Remove second argument in call to
build_common_tree_nodes.
cp/
* decl.c (cxx_init_decl_processing): Remove second argument in call to
build_common_tree_nodes.
java/
* decl.c (java_init_decl_processing): Remove argument in call to
initialize_sizetypes
fortran/
* f95-lang.c (gfc_init_decl_processing): Remove second argument in call
to build_common_tree_nodes.
ada/
* gcc-interface/misc.c (gnat_init): Remove second argument in call to
build_common_tree_nodes.
lto/
* lto-lang.c (lto_init): Remove second argument in call to
build_common_tree_nodes.

From-SVN: r158496

14 years agogcc.c (main): Search for liblto_plugin.so with mode R_OK.
Matthias Klose [Sun, 18 Apr 2010 17:44:42 +0000 (17:44 +0000)]
gcc.c (main): Search for liblto_plugin.so with mode R_OK.

2010-04-18  Matthias Klose  <doko@ubuntu.com>

        * gcc.c (main): Search for liblto_plugin.so with mode R_OK.

From-SVN: r158494

14 years agorep_clause5.ad[sb]: New test.
Eric Botcazou [Sun, 18 Apr 2010 15:47:10 +0000 (15:47 +0000)]
rep_clause5.ad[sb]: New test.

* gnat.dg/rep_clause5.ad[sb]: New test.
* gnat.dg/rep_clause5_pkg.ads: New helper.

From-SVN: r158488

14 years ago* es.po: Update.
Joseph Myers [Sun, 18 Apr 2010 12:33:22 +0000 (13:33 +0100)]
* es.po: Update.

From-SVN: r158485

14 years agore PR tree-optimization/43771 (ICE on valid when compiling ParMetis with gcc 4.5...
Ira Rosen [Sun, 18 Apr 2010 12:20:34 +0000 (12:20 +0000)]
re PR tree-optimization/43771 (ICE on valid when compiling ParMetis with gcc 4.5.0 and -O3)

PR tree-optimization/43771
* tree-vect-slp.c (vect_supported_load_permutation_p): Check that
load permutation doesn't have gaps.

From-SVN: r158484

14 years agoi386.md (UNSPEC_SSE_PROLOGUE_SAVE_LOW): New.
Jan Hubicka [Sun, 18 Apr 2010 10:52:26 +0000 (12:52 +0200)]
i386.md (UNSPEC_SSE_PROLOGUE_SAVE_LOW): New.

* i386.md (UNSPEC_SSE_PROLOGUE_SAVE_LOW): New.
(sse_prologue_save_insn expander): Use new pattern.
(sse_prologue_save_insn1): New pattern and splitter.
(sse_prologue_save_insn): Update to deal also with 64bit aligned
blocks.
* i386.c (setup_incoming_varargs_64): Do not compute jump destination here.
(ix86_gimplify_va_arg): Update alignment needed.
(ix86_local_alignment): Do not align all local arrays
to 128bit.

From-SVN: r158483

14 years agogsocket.h: Make sure that winsock2.h is included before windows.h.
Ozkan Sezer [Sun, 18 Apr 2010 10:15:52 +0000 (10:15 +0000)]
gsocket.h: Make sure that winsock2.h is included before windows.h.

2010-04-18  Ozkan Sezer  <sezeroz@gmail.com>

        * gsocket.h: Make sure that winsock2.h is included before windows.h.

From-SVN: r158482

14 years agoDaily bump.
GCC Administrator [Sun, 18 Apr 2010 00:17:01 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r158481

14 years ago* ipa-inline.c (cgraph_early_inlining): Handle flattening too.
Jan Hubicka [Sat, 17 Apr 2010 23:42:04 +0000 (01:42 +0200)]
* ipa-inline.c (cgraph_early_inlining): Handle flattening too.

From-SVN: r158477

14 years agore PR fortran/31538 (misleading bounds check error)
Steven G. Kargl [Sat, 17 Apr 2010 21:05:53 +0000 (21:05 +0000)]
re PR fortran/31538 (misleading bounds check error)

2010-04-17  Steven G. Kargl  <kargl@gcc.gnu.org>

   PR fortran/31538
   * gfortran.dg/bounds_check_fail_4.f90: Adjust error message.
   * gfortran.dg/bounds_check_fail_3.f90: Ditto.

2010-04-17  Steven G. Kargl  <kargl@gcc.gnu.org>

   PR fortran/31538
   * fortran/trans-array.c (gfc_conv_ss_startstride): Remove the use of
   gfc_msg_bounds by using 'Array bound mismatch' directly.
   (gfc_trans_dummy_array_bias):  Remove the use of gfc_msg_bounds.  Reword
   error message to include the mismatch in the extent of array bound.
   * fortran/trans.c: Remove gfc_msg_bounds.  It is only used in one place.
   * fortran/trans.h: Remove extern definition of gfc_msg_bounds.

From-SVN: r158474

14 years agogfortran.texi: Update information on temporary file locations.
Jerry DeLisle [Sat, 17 Apr 2010 19:04:16 +0000 (19:04 +0000)]
gfortran.texi: Update information on temporary file locations.

2010-04-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

* gfortran.texi: Update information on temporary file locations.

From-SVN: r158473

14 years agoarm.md (negdi2): Remove redundant code to force values into a register.
Richard Earnshaw [Sat, 17 Apr 2010 16:53:21 +0000 (16:53 +0000)]
arm.md (negdi2): Remove redundant code to force values into a register.

* arm.md (negdi2): Remove redundant code to force values into a
register.

From-SVN: r158472

14 years agobpabi.S: Add EABI alignment attributes to objects.
Richard Earnshaw [Sat, 17 Apr 2010 15:34:25 +0000 (15:34 +0000)]
bpabi.S: Add EABI alignment attributes to objects.

* arm/bpabi.S: Add EABI alignment attributes to objects.
* arm/bpabi-v6m.S: Likewise.
* arm/crti.asm: Likewise.
* arm/crtn.asm: Likewise.
* arm/lib1funcs.asm: Likewise.
* arm/libunwind.S: Likewise.

From-SVN: r158470

14 years agoutils2.c (build_unary_op): Do not issue warning.
Eric Botcazou [Sat, 17 Apr 2010 14:53:08 +0000 (14:53 +0000)]
utils2.c (build_unary_op): Do not issue warning.

* gcc-interface/utils2.c (build_unary_op) <ATTR_ADDR_EXPR>: Do not
issue warning.

From-SVN: r158469

14 years agoFix copyright date.
Eric Botcazou [Sat, 17 Apr 2010 14:44:47 +0000 (14:44 +0000)]
Fix copyright date.

From-SVN: r158468

14 years agoAdd missing hunk for previous patch.
Eric Botcazou [Sat, 17 Apr 2010 14:32:15 +0000 (14:32 +0000)]
Add missing hunk for previous patch.

From-SVN: r158467

14 years agouintp.h (UI_Lt): Declare.
Eric Botcazou [Sat, 17 Apr 2010 14:16:36 +0000 (14:16 +0000)]
uintp.h (UI_Lt): Declare.

* uintp.h (UI_Lt): Declare.
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do the size
computation in sizetype.
<E_Array_Subtype>: Use unified handling for all index types.  Do not
generate MAX_EXPR-based expressions, only COND_EXPR-based ones.  Add
bypass for PATs.
(annotate_value): Change test for negative values.
(validate_size): Apply test for negative values on GNAT nodes.
(set_rm_size): Likewise.
* gcc-interface/misc.c (gnat_init): Set unsigned types for sizetypes.
* gcc-interface/utils.c (rest_of_record_type_compilation): Change test
for negative values.
(max_size) <MINUS_EXPR>: Do not reassociate a COND_EXPR on the LHS.
(builtin_type_for_size): Adjust definition of signed_size_type_node.
* gcc-interface/utils2.c (compare_arrays): Optimize comparison of
lengths against zero.

From-SVN: r158466

14 years agoarm-protos.h (tune_params): New structure.
Richard Earnshaw [Sat, 17 Apr 2010 12:43:40 +0000 (12:43 +0000)]
arm-protos.h (tune_params): New structure.

* arm-protos.h (tune_params): New structure.
* arm.c (current_tune): New variable.
(arm_constant_limit): Delete.
(struct processors): Add pointer to the tune parameters.
(arm_slowmul_tune): New tuning option.
(arm_fastmul_tune, arm_xscale_tune, arm_9e_tune): Likewise.
(all_cores): Adjust to pick up the tuning model.
(arm_constant_limit): New function.
(arm_override_options): Select the appropriate tuning model.  Delete
initialization of arm_const_limit.
(arm_split_constant): Use the new constant-limit model.
(arm_rtx_costs): Pick up the current tuning model.
* arm.md (is_strongarm, is_xscale): Delete.
* arm-generic.md (load_ldsched_x, load_ldsched): Test explicitly
for Xscale variant architectures.
(mult_ldsched_strongarm, mult_ldsched): Similarly for StrongARM.

From-SVN: r158463

14 years agoback-end.adb (Call_Back_End): Pass Standard_Character to gigi.
Eric Botcazou [Sat, 17 Apr 2010 08:24:16 +0000 (08:24 +0000)]
back-end.adb (Call_Back_End): Pass Standard_Character to gigi.

* back-end.adb (Call_Back_End): Pass Standard_Character to gigi.
* gcc-interface/gigi.h (gigi): Add standard_character parameter.
(CHAR_TYPE_SIZE, SHORT_TYPE_SIZE, INT_TYPE_SIZE, LONG_TYPE_SIZE,
LONG_LONG_TYPE_SIZE, FLOAT_TYPE_SIZE, DOUBLE_TYPE_SIZE,
LONG_DOUBLE_TYPE_SIZE, SIZE_TYPE): Delete.
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Call
rm_size.
* gcc-interface/misc.c (gnat_init): Set signedness of char as per
flag_signed_char.  Tag sizetype with "size_type" moniker.
* gcc-interface/trans.c (gigi): Add standard_character parameter.
Remove useless built-in types.  Equate unsigned_char_type_node to
Standard.Character.  Use it instead of char_type_node throughout.
(Attribute_to_gnu): Likewise.
(gnat_to_gnu): Likewise.
* gcc-interface/utils2.c (build_call_raise): Likewise.

From-SVN: r158462

14 years agogigi.h (enum standard_datatypes): Add new values ADT_sbitsize_one_node and ADT_sbitsi...
Eric Botcazou [Sat, 17 Apr 2010 08:14:08 +0000 (08:14 +0000)]
gigi.h (enum standard_datatypes): Add new values ADT_sbitsize_one_node and ADT_sbitsize_unit_node.

* gcc-interface/gigi.h (enum standard_datatypes): Add new values
ADT_sbitsize_one_node and ADT_sbitsize_unit_node.
(sbitsize_one_node): New macro.
(sbitsize_unit_node): Likewise.
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Fix
latent bug in the computation of subrange_p.  Fold wider_p predicate.
(cannot_be_superflat_p): Use an explicitly signed 64-bit type to do
the final comparison.
(make_aligning_type): Build real negation and use sizetype throughout
the offset computation.
(maybe_pad_type): Do not issue the warning when the new size expression
is too complex.
(annotate_value) <INTEGER_CST>: Simplify code handling negative values.
* gcc-interface/misc.c (gnat_init): Initialize sbitsize_one_node and
sbitsize_unit_node.
* gcc-interface/trans.c (Attribute_to_gnu) <Attr_Pool_Address>: Fold
double negation.
(gnat_to_gnu) <N_Free_Statement>: Likewise.
* gcc-interface/utils.c (convert): Use sbitsize_unit_node.
* gcc-interface/utils2.c (compare_arrays): Compute real lengths and use
constants in sizetype.  Remove dead code and tweak comments.  Generate
equality instead of inequality comparisons for zero length tests.

From-SVN: r158461

14 years agoFix set but unused variables.
Ramana Radhakrishnan [Sat, 17 Apr 2010 08:06:05 +0000 (08:06 +0000)]
Fix set but unused variables.

2010-04-17  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

        * config/arm/arm.c (arm_gen_constant): Remove unused variable 'can_shift'.
        (arm_rtx_costs_1): Remove unused variable 'extra_cost'.
        (arm_unwind_emit_set): Use variable 'offset'.
        (thumb1_output_casesi): Remove unused variable 'flags'.

From-SVN: r158460

14 years agoconfigure.ac (*-*-rtems*): Add target-libiberty to $skipdirs.
Ralf Corsepius [Sat, 17 Apr 2010 03:02:28 +0000 (05:02 +0200)]
configure.ac (*-*-rtems*): Add target-libiberty to $skipdirs.

2010-04-17  Ralf Corsépius  <ralf.corsepius@rtems.org>

* configure.ac (*-*-rtems*): Add target-libiberty to $skipdirs.
* configure: Regenerate.

From-SVN: r158459

14 years agoira-color.c (ira_reassign_pseudos): Collect and sort all the pseudos needing assignme...
Jeff Law [Sat, 17 Apr 2010 01:30:35 +0000 (19:30 -0600)]
ira-color.c (ira_reassign_pseudos): Collect and sort all the pseudos needing assignment rather than doing a...

* ira-color.c (ira_reassign_pseudos): Collect and sort all the pseudos
needing assignment rather than doing a two-phase assignment.  Remove
unused variable 'm'.

From-SVN: r158458

14 years agoDaily bump.
GCC Administrator [Sat, 17 Apr 2010 00:17:28 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r158457

14 years agoira-color.c (ira_reassign_pseudos): Collect and sort all the pseudos needing assignme...
Jeff Law [Fri, 16 Apr 2010 23:13:37 +0000 (17:13 -0600)]
ira-color.c (ira_reassign_pseudos): Collect and sort all the pseudos needing assignment rather than doing a...

* ira-color.c (ira_reassign_pseudos): Collect and sort all the pseudos
needing assignment rather than doing a two-phase assignment.

From-SVN: r158453

14 years agoh8300.c (print_operand): Modify case 'V' and case 'W' print operands for HI mode.
Kaushik Phatak [Fri, 16 Apr 2010 22:56:21 +0000 (22:56 +0000)]
h8300.c (print_operand): Modify case 'V' and case 'W' print operands for HI mode.

* config/h8300/h8300.c (print_operand) : Modify case 'V' and
case 'W' print operands for HI mode.
* config/h8300/h8300.h (Y0, Y2) : New constraints.
* config/h8300/h8300.md (bclrqi_msx, bclrhi_msx): New patterns
(bsetqi_msx, bsethi_msx, bnotqi_msx, bnothi_msx): Likewise.
* config/h8300/predicate.md (bit_register_indirect_operand): New.

From-SVN: r158452

14 years agotrans-decl.c (gfc_build_qualified_array): Ensure ubound.N and lbound.N artificial...
Jakub Jelinek [Fri, 16 Apr 2010 21:44:48 +0000 (23:44 +0200)]
trans-decl.c (gfc_build_qualified_array): Ensure ubound.N and lbound.N artificial variable names don't appear in debug info.

* trans-decl.c (gfc_build_qualified_array): Ensure
ubound.N and lbound.N artificial variable names don't appear
in debug info.

From-SVN: r158451

14 years agore PR bootstrap/43767 (Revision 158401 failed to bootstrap)
Jakub Jelinek [Fri, 16 Apr 2010 21:43:36 +0000 (23:43 +0200)]
re PR bootstrap/43767 (Revision 158401 failed to bootstrap)

PR bootstrap/43767
* alias.c (memrefs_conflict_p): Don't crash if CSELIB_VAL_PTR is NULL.

From-SVN: r158450

14 years agotree-ssa-reassoc.c (struct operand_entry): Add new field ID.
Doug Kwan [Fri, 16 Apr 2010 20:31:39 +0000 (20:31 +0000)]
tree-ssa-reassoc.c (struct operand_entry): Add new field ID.

2010-04-16  Doug Kwan  <dougkwan@google.com>

* tree-ssa-reassoc.c (struct operand_entry): Add new field ID.
(next_operand_entry_id): New static variable.
(sort_by_operand_rank): Stabilize qsort comparator by using unique IDs.
(add_to_ops_vec): Assigned unique ID to operand entry.
  (struct oecount_s): New field ID.
(oecount_cmp): Stabilize qsort comparotor by using unique IDs.
(undistribute_ops_list): Assign unique IDs to oecounts.
(init_reassoc): reset next_operand_entry_id.

From-SVN: r158449

14 years agoi386.md (*jcc_bt<mode>): Fix build breakage by adding missing left parenthesis.
Doug Kwan [Fri, 16 Apr 2010 20:10:32 +0000 (20:10 +0000)]
i386.md (*jcc_bt<mode>): Fix build breakage by adding missing left parenthesis.

2010-04-16  Doug Kwan  <dougkwan@google.com>

        * config/i386/i386.md (*jcc_bt<mode>): Fix build breakage by adding
        missing left parenthesis.

From-SVN: r158448

14 years ago* sv.po: Update.
Joseph Myers [Fri, 16 Apr 2010 18:58:56 +0000 (19:58 +0100)]
* sv.po: Update.

From-SVN: r158443

14 years agoh8300.h (OK_FOR_U): Support 'U' constraint for H8300SX.
Kaushik Phatak [Fri, 16 Apr 2010 18:58:03 +0000 (18:58 +0000)]
h8300.h (OK_FOR_U): Support 'U' constraint for H8300SX.

* config/h8300/h8300.h (OK_FOR_U): Support 'U' constraint for H8300SX.

From-SVN: r158442

14 years agoh8300.md (movqi_h8sx, [...]): Emit instructions in #xx:3 and #xx:4 mode.
Kaushik Phatak [Fri, 16 Apr 2010 18:19:50 +0000 (18:19 +0000)]
h8300.md (movqi_h8sx, [...]): Emit instructions in #xx:3 and #xx:4 mode.

* config/h8300/h8300.md (movqi_h8sx, movhi_h8sx, movsi_h8sx,
cmphi_h8300hs_znvc, cmpsi, addhi3_h8sx) : Emit instructions in #xx:3
and #xx:4 mode.

From-SVN: r158439

14 years agoi386.md (*bt<mode>): Macroize insn from *btsi and *btdi_rex64 using SWI48 mode iterator.
Uros Bizjak [Fri, 16 Apr 2010 17:58:12 +0000 (19:58 +0200)]
i386.md (*bt<mode>): Macroize insn from *btsi and *btdi_rex64 using SWI48 mode iterator.

* config/i386/i386.md (*bt<mode>): Macroize insn from *btsi and
*btdi_rex64 using SWI48 mode iterator.
(*jcc_bt<mode>): Ditto from *jcc_btsi and *jcc_btdi_rex64.
(*jcc_bt<mode>_mask): Ditto from *jcc_btsi_mask and
*jcc_btdi_mask_rex64.

From-SVN: r158438

14 years agodouble-int.h (tree_to_double_int): Convert to macro.
Anatoly Sokolov [Fri, 16 Apr 2010 17:31:00 +0000 (21:31 +0400)]
double-int.h (tree_to_double_int): Convert to macro.

* double-int.h (tree_to_double_int): Convert to macro.
* double-int.c (tree_to_double_int): Remove.

From-SVN: r158437

14 years agoh8300.md (inverted load with HImode dest): Add support for H8300SX.
Kaushik Phatak [Fri, 16 Apr 2010 16:39:45 +0000 (16:39 +0000)]
h8300.md (inverted load with HImode dest): Add support for H8300SX.

* config/h8300/h8300.md (inverted load with HImode dest): Add
support for H8300SX.

From-SVN: r158436

14 years ago* crontab: Enable 4.6 snapshots.
Joseph Myers [Fri, 16 Apr 2010 15:55:25 +0000 (16:55 +0100)]
* crontab: Enable 4.6 snapshots.

From-SVN: r158434

14 years agore PR debug/43762 (VLA artificial length var loclist is missing DW_OP_stack_value)
Jakub Jelinek [Fri, 16 Apr 2010 15:34:47 +0000 (17:34 +0200)]
re PR debug/43762 (VLA artificial length var loclist is missing DW_OP_stack_value)

PR debug/43762
* dwarf2out.c (add_bound_info): Always call loc_list_from_tree
with want_address 2 and in case a single element list might be
possible, call it again with want_address 0.

From-SVN: r158430

14 years agopredicate.md (bit_operand): Allow immediate values that satisfy 'U' constraint.
Kaushik Phatak [Fri, 16 Apr 2010 15:24:07 +0000 (09:24 -0600)]
predicate.md (bit_operand): Allow immediate values that satisfy 'U' constraint.

2010-04-12  Kaushik Phatak<kaushik.phatak@kpitcummins.com>

  * config/h8300/predicate.md (bit_operand): Allow immediate values that
  satisfy 'U' constraint.

From-SVN: r158429

14 years agogigi.h (gnat_init_decl_processing): Delete.
Eric Botcazou [Fri, 16 Apr 2010 15:04:26 +0000 (15:04 +0000)]
gigi.h (gnat_init_decl_processing): Delete.

* gcc-interface/gigi.h (gnat_init_decl_processing): Delete.
* gcc-interface/decl.c (gnat_to_gnu_entity): Constify a few variables.
<object>: Do not create the fake PARM_DECL if no debug info is needed.
Do not create the corresponding VAR_DECL of a CONST_DECL for debugging
purposes if no debug info is needed.
Fix formatting.  Reorder and add comments.
* gcc-interface/trans.c (gnat_to_gnu) <N_Attribute_Reference>: Constify
variable and remove obsolete comment.
* gcc-interface/utils.c (convert_vms_descriptor64): Tweak comment.
(convert_vms_descriptor32): Likewise.
(convert): Remove dead code.
<UNCONSTRAINED_ARRAY_REF>: Pass the field instead of its name to build
the reference to the P_ARRAY pointer.
<POINTER_TYPE>: Likewise.
(maybe_unconstrained_array) <UNCONSTRAINED_ARRAY_TYPE>: Likewise.
(gnat_init_decl_processing): Delete, move contents to...
* gcc-interface/misc.c (gnat_init): ...here.

From-SVN: r158428

14 years agobe.po, [...]: Update.
Joseph Myers [Fri, 16 Apr 2010 14:55:56 +0000 (15:55 +0100)]
be.po, [...]: Update.

* be.po, ca.po, da.po, de.po, el.po, es.po, fr.po, id.po, ja.po,
nl.po, sv.po, tr.po, uk,po, vi.po, zh_CN.po, zh_TW.po: Update.

From-SVN: r158426

14 years agobe.po, [...]: Update.
Joseph Myers [Fri, 16 Apr 2010 14:52:16 +0000 (15:52 +0100)]
be.po, [...]: Update.

* be.po, da.po, de.po, el.po, es.po, fi.po, fr.po, id.po, ja.po,
nl.po, ru.po, sr.po, sv.po, tr.po, zh_CN.po, zh_TW.po: Update.

From-SVN: r158424

14 years agoconfigure.ac: Check for elf_getshdrstrndx or elf_getshstrndx separately.
Rainer Orth [Fri, 16 Apr 2010 13:45:25 +0000 (13:45 +0000)]
configure.ac: Check for elf_getshdrstrndx or elf_getshstrndx separately.

toplevel:
* configure.ac: Check for elf_getshdrstrndx or elf_getshstrndx
separately.
* configure: Regenerate.

gcc:
* configure.ac: Check for elf_getshdrstrndx or elf_getshstrndx
flavor.
* configure: Regenerate.
* config.in: Regenerate.
* doc/install.texi (Prerequisites): Document that Solaris 2 libelf
works.

gcc/lto:
* lto-elf.c [!HAVE_ELF_GETSHDRSTRNDX] (elf_getshdrstrndx): New
function.

From-SVN: r158423

14 years agotree.h (struct tree_decl_minimal): Move pt_uid ...
Richard Guenther [Fri, 16 Apr 2010 13:33:31 +0000 (13:33 +0000)]
tree.h (struct tree_decl_minimal): Move pt_uid ...

2010-04-16  Richard Guenther  <rguenther@suse.de>

* tree.h (struct tree_decl_minimal): Move pt_uid ...
(struct tree_decl_common): ... here.
(DECL_PT_UID): Adjust.
(SET_DECL_PT_UID): Likewise.
(DECL_PT_UID_SET_P): Likewise.

From-SVN: r158421

14 years agore PR tree-optimization/43572 (FAIL: gfortran.dg/PR19872.f execution test; formatted...
Richard Guenther [Fri, 16 Apr 2010 13:21:38 +0000 (13:21 +0000)]
re PR tree-optimization/43572 (FAIL: gfortran.dg/PR19872.f execution test; formatted read - wrong numbers)

2010-04-16  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/43572
* tree-ssa-alias.h (call_may_clobber_ref_p): Declare.
* tree-ssa-alias.c (call_may_clobber_ref_p): Export.
* tree-flow.h (is_call_clobbered): Remove.
* tree-flow-inline.h (is_call_clobbered): Likewise.
* tree-dfa.c (dump_variable): Do not dump call clobber state.
* tree-nrv.c (dest_safe_for_nrv_p): Use the alias oracle.
(execute_return_slot_opt): Adjust.
* tree-tailcall.c (suitable_for_tail_opt_p): Remove
check for call clobbered vars here.
(find_tail_calls): Move tailcall verification to the
proper place.

* gcc.dg/tree-ssa/tailcall-5.c: New testcase.

From-SVN: r158418

14 years agoFixed ChangeLog entry.
Diego Novillo [Fri, 16 Apr 2010 12:38:22 +0000 (08:38 -0400)]
Fixed ChangeLog entry.

From-SVN: r158416

14 years agotypo fix
Diego Novillo [Fri, 16 Apr 2010 12:38:14 +0000 (08:38 -0400)]
typo fix

From-SVN: r158415

14 years agorephrase text
Diego Novillo [Fri, 16 Apr 2010 12:38:04 +0000 (08:38 -0400)]
rephrase text

From-SVN: r158414

14 years agoClarify what happens with an unrecognized -Wno- option
Diego Novillo [Fri, 16 Apr 2010 12:37:55 +0000 (08:37 -0400)]
Clarify what happens with an unrecognized -Wno- option

From-SVN: r158413

14 years agotrans.c (unchecked_conversion_nop): Handle function calls.
Eric Botcazou [Fri, 16 Apr 2010 12:23:39 +0000 (12:23 +0000)]
trans.c (unchecked_conversion_nop): Handle function calls.

* gcc-interface/trans.c (unchecked_conversion_nop): Handle function
calls.  Return true for conversion from a record subtype to its type.

From-SVN: r158412

14 years agodecl.c (gnat_to_gnu_entity): Use boolean_type_node in lieu of integer_type_node for...
Eric Botcazou [Fri, 16 Apr 2010 12:07:02 +0000 (12:07 +0000)]
decl.c (gnat_to_gnu_entity): Use boolean_type_node in lieu of integer_type_node for boolean operations.

* gcc-interface/decl.c (gnat_to_gnu_entity): Use boolean_type_node in
lieu of integer_type_node for boolean operations.
(choices_to_gnu): Likewise.
* gcc-interface/trans.c (Attribute_to_gnu): Likewise.
(Loop_Statement_to_gnu): Likewise.
(establish_gnat_vms_condition_handler): Likewise.
(Exception_Handler_to_gnu_sjlj): Likewise.
(gnat_to_gnu): Likewise.
(build_unary_op_trapv): Likewise.
(build_binary_op_trapv): Likewise.
(emit_range_check): Likewise.
(emit_index_check): Likewise.
(convert_with_check): Likewise.
* gcc-interface/utils.c (convert_vms_descriptor64): Likewise.
(convert_vms_descriptor32): Likewise.
(convert_vms_descriptor): Likewise.
* gcc-interface/utils2.c (nonbinary_modular_operation): Likewise.
(compare_arrays): Use boolean instead of integer constants.
(build_binary_op) <TRUTH_ANDIF_EXPR, TRUTH_ORIF_EXPR, TRUTH_AND_EXPR,
TRUTH_OR_EXPR, TRUTH_XOR_EXPR>: New case.  Check that the result type
is a boolean type.
<GE_EXPR, LE_EXPR, GT_EXPR, LT_EXPR>: Remove obsolete assertion.
<EQ_EXPR, NE_EXPR>: Check that the result type is a boolean type.
<PREINC/PREDECREMENT_EXPR, POSTINC/POSTDECREMENT_EXPR>: Delete.
<TRUTH_NOT_EXPR>: Check that the result type is a boolean type.
(build_unary_op): Use boolean_type_node in lieu of integer_type_node
for boolean operations.
(fill_vms_descriptor): Likewise.  Fix formatting nits.

From-SVN: r158411

14 years agoada-tree.def (LOOP_STMT): Change to 4-operand nodes.
Eric Botcazou [Fri, 16 Apr 2010 11:54:51 +0000 (11:54 +0000)]
ada-tree.def (LOOP_STMT): Change to 4-operand nodes.

* gcc-interface/ada-tree.def (LOOP_STMT): Change to 4-operand nodes.
* gcc-interface/ada-tree.h (LOOP_STMT_TOP_COND, LOOP_STMT_BOT_COND):
Merge into...
(LOOP_STMT_COND): ...this.
(LOOP_STMT_BOTTOM_COND_P): New flag.
(LOOP_STMT_TOP_UPDATE_P): Likewise.
* gcc-interface/trans.c (can_equal_min_or_max_val_p): New function.
(can_equal_min_val_p): New static inline function.
(can_equal_max_val_p): Likewise.
(Loop_Statement_to_gnu): Use build4 in lieu of build5 and adjust to
new LOOP_STMT semantics.  Use two different strategies depending on
whether optimization is enabled to translate the loop.
(gnat_gimplify_stmt) <LOOP_STMT>: Adjust to new LOOP_STMT semantics.

From-SVN: r158410

14 years agouintp.adb (UI_From_Dint): Remove useless code.
Eric Botcazou [Fri, 16 Apr 2010 10:16:52 +0000 (10:16 +0000)]
uintp.adb (UI_From_Dint): Remove useless code.

* uintp.adb (UI_From_Dint): Remove useless code.
(UI_From_Int): Likewise.
* uintp.h: Reorder declarations.
(UI_From_gnu): Declare.
(UI_Base): Likewise.
(Vector_Template): Likewise.
(Vector_To_Uint): Likewise.
(Uint_0): Remove.
(Uint_1): Likewise.
* gcc-interface/gigi.h: Tweak comments.
* gcc-interface/cuintp.c (UI_From_gnu): New global function.
* gcc-interface/decl.c (maybe_pad_type): Do not warn if either size
overflows.
(annotate_value) <INTEGER_CST>: Call UI_From_gnu.
* gcc-interface/trans.c (post_error_ne_num): Call post_error_ne.
(post_error_ne_tree): Call UI_From_gnu and post_error_ne.
* gcc-interface/utils.c (max_size) <tcc_binary>: Do not special-case
TYPE_MAX_VALUE.

From-SVN: r158408

14 years agore PR target/40603 (unnecessary conversion from unsigned byte load to signed byte...
Bernd Schmidt [Fri, 16 Apr 2010 10:04:15 +0000 (10:04 +0000)]
re PR target/40603 (unnecessary conversion from unsigned byte load to signed byte load)

PR target/40603
* config/arm/arm.md (cbranchqi4): New pattern.
* config/arm/predicates.md (const0_operand,
cbranchqi4_comparison_operator): New predicates.

PR target/40603
* gcc.target/arm/thumb-cbranchqi.c: New test.

From-SVN: r158407

14 years agogimple-pretty-print.c (dump_gimple_phi): Dump alias info.
Richard Guenther [Fri, 16 Apr 2010 09:49:20 +0000 (09:49 +0000)]
gimple-pretty-print.c (dump_gimple_phi): Dump alias info.

2010-04-16  Richard Guenther  <rguenther@suse.de>

* gimple-pretty-print.c (dump_gimple_phi): Dump alias info.
(dump_gimple_stmt): Likewise.

From-SVN: r158406

14 years agoarm.md (addsi3_cbranch): If destination is a high register...
Bernd Schmidt [Fri, 16 Apr 2010 09:47:17 +0000 (09:47 +0000)]
arm.md (addsi3_cbranch): If destination is a high register...

* config/arm/arm.md (addsi3_cbranch): If destination is a high
register, inputs must be low registers and we need a low register
scratch.  Handle alternative 2 like alternative 3.

From-SVN: r158405

14 years agore PR target/41514 (redundant compare instruction of consecutive conditional branches)
Bernd Schmidt [Fri, 16 Apr 2010 09:42:32 +0000 (09:42 +0000)]
re PR target/41514 (redundant compare instruction of consecutive conditional branches)

PR target/41514
* config/arm/arm.md (cbranchsi4_insn): Renamed from "*cbranchsi4_insn".
If the previous insn is a cbranchsi4_insn with the same arguments,
omit the compare instruction.

PR target/41514
gcc.target/arm/thumb-comparisons.c: New test.

From-SVN: r158404

14 years agorecog.h (struct recog_data): New field is_operator.
Bernd Schmidt [Fri, 16 Apr 2010 09:32:21 +0000 (09:32 +0000)]
recog.h (struct recog_data): New field is_operator.

* recog.h (struct recog_data): New field is_operator.
(struct insn_operand_data): New field is_operator.
* recog.c (extract_insn): Set recog_data.is_operator.
* genoutput.c (output_operand_data): Emit code to set the
is_operator field.
* reload.c (find_reloads): Use it rather than testing for an
empty constraint string.

From-SVN: r158403

14 years agoalias.c (memrefs_conflict_p): If x and y are the same VALUE, don't call get_addr...
Jakub Jelinek [Fri, 16 Apr 2010 09:26:43 +0000 (11:26 +0200)]
alias.c (memrefs_conflict_p): If x and y are the same VALUE, don't call get_addr on both.

* alias.c (memrefs_conflict_p): If x and y are the same VALUE,
don't call get_addr on both.  If one expression is a VALUE and
the other a REG, check VALUE's locs if the REG isn't among them.

From-SVN: r158401

14 years ago* MAINTAINERS (Write After Approval): Add myself.
Kevin Williams [Fri, 16 Apr 2010 09:15:59 +0000 (11:15 +0200)]
* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r158400

14 years agoadd accumulate-outgoing-args and omit-frame-pointer for SH
Christian Bruel [Fri, 16 Apr 2010 08:04:05 +0000 (10:04 +0200)]
add accumulate-outgoing-args and omit-frame-pointer for SH

From-SVN: r158399

14 years agodecl.c (make_type_from_size): Just copy TYPE_NAME.
Eric Botcazou [Fri, 16 Apr 2010 06:58:43 +0000 (06:58 +0000)]
decl.c (make_type_from_size): Just copy TYPE_NAME.

* gcc-interface/decl.c (make_type_from_size) <INTEGER_TYPE>: Just copy
TYPE_NAME.
* gcc-interface/trans.c (smaller_packable_type_p): Rename into...
(smaller_form_type_p): ...this.  Change parameter and variable names.
(call_to_gnu): Use the nominal type of the parameter to create the
temporary if it's a smaller form of the actual type.
(addressable_p): Return false if the actual type is integral and its
size is greater than that of the expected type.

From-SVN: r158398

14 years agoDaily bump.
GCC Administrator [Fri, 16 Apr 2010 00:17:47 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r158397

14 years agore PR target/43741 (sh-elf ICEs for libstdc++-v3/src/ios_init.cc with -m2a)
Kaz Kojima [Thu, 15 Apr 2010 21:51:14 +0000 (21:51 +0000)]
re PR target/43741 (sh-elf ICEs for libstdc++-v3/src/ios_init.cc with -m2a)

PR target/43471
* config/sh/sh.c (sh_legitimize_reload_address): Use
MAYBE_BASE_REGISTER_RTX_P instead of BASE_REGISTER_RTX_P.
Remove a unneeded check for offset_base.

From-SVN: r158393

14 years agore PR fortran/30073 (Array out of bounds gives name of RHS array not LHS array)
Steven G. Kargl [Thu, 15 Apr 2010 21:32:21 +0000 (21:32 +0000)]
re PR fortran/30073 (Array out of bounds gives name of RHS array not LHS array)

    PR fortran/30073
    * trans-array.c (gfc_trans_array_bound_check): Eliminate a redundant
    block of code.  Set name to the variable associated with the descriptor.

From-SVN: r158392

14 years agocuintp.c (UI_To_gnu): Fix long line.
Eric Botcazou [Thu, 15 Apr 2010 21:15:47 +0000 (21:15 +0000)]
cuintp.c (UI_To_gnu): Fix long line.

* gcc-interface/cuintp.c (UI_To_gnu): Fix long line.
* gcc-interface/gigi.h (MARK_VISITED): Skip objects of constant class.
(process_attributes): Delete.
(post_error_ne_num): Change parameter name.
* gcc-interface/decl.c (gnat_to_gnu_entity): Do not force debug info
with -g3.  Remove a couple of obsolete lines.  Minor tweaks.
If type annotating mode, operate on trees to compute the adjustment to
the sizes of tagged types.  Fix long line.
(cannot_be_superflat_p): Tweak head comment.
(annotate_value): Fold local constant.
(set_rm_size): Fix long line.
* gcc-interface/trans.c (Identifier_to_gnu): Rework comments.
(Attribute_to_gnu): Fix long line.
<Attr_Size>: Remove useless assertion.
Reorder statements.  Use size_binop routine.
(Loop_Statement_to_gnu): Use build5 in lieu of build_nt.
Create local variables for the label and the test.  Tweak comments.
(Subprogram_Body_to_gnu): Reset cfun to NULL.
(Compilation_Unit_to_gnu): Use the Sloc of the Unit node.
(process_inlined_subprograms): Integrate into...
(Compilation_Unit_to_gnu): ...this.
(gnat_to_gnu): Fix long line.
(post_error_ne_num): Change parameter name.
* gcc-interface/utils.c (process_attributes): Static-ify.
<ATTR_MACHINE_ATTRIBUTE>: Set input_location before proceeding.
(create_type_decl): Add comment.
(create_var_decl_1): Process the attributes after adding the VAR_DECL
to the current binding level.
(create_subprog_decl): Likewise for the FUNCTION_DECL.
(end_subprog_body): Do not reset cfun to NULL.
(build_vms_descriptor32): Fix long line.
(build_vms_descriptor): Likewise.
(handle_nonnull_attribute): Likewise.
(convert_vms_descriptor64): Likewise.
* gcc-interface/utils2.c (fill_vms_descriptor): Fix long line.
(gnat_protect_expr): Fix thinko.

From-SVN: r158390

14 years agotrans.c (gigi): Set DECL_IGNORED_P on EH functions.
Eric Botcazou [Thu, 15 Apr 2010 20:21:08 +0000 (20:21 +0000)]
trans.c (gigi): Set DECL_IGNORED_P on EH functions.

* gcc-interface/trans.c (gigi): Set DECL_IGNORED_P on EH functions.
(gnat_to_gnu) <N_Op_Eq>: Restore the value of input_location
before translating the top-level node.
(lvalue_required_p) <N_Function_Call>: Return 1 if !constant.
<N_Object_Declaration>: Likewise.
<N_Assignment_Statement>: Likewise.
<N_Unchecked_Type_Conversion>: Likewise.
(call_to_gnu): Remove kludge.
(gnat_to_gnu) <N_Return_Statement>: When not optimizing, force labels
associated with user returns to be preserved.
(gnat_to_gnu): Add special code to deal with boolean rvalues.
* gcc-interface/utils2.c (compare_arrays): Set input_location on all
comparisons.
(build_unary_op) <ADDR_EXPR>: Call build_fold_addr_expr.
<INDIRECT_REF>: Call build_fold_indirect_ref.

From-SVN: r158388

14 years agoRegenerate gcc/configure.
H.J. Lu [Thu, 15 Apr 2010 19:00:27 +0000 (19:00 +0000)]
Regenerate gcc/configure.

2010-04-15  H.J. Lu  <hongjiu.lu@intel.com>

* configure: Regenerated.

From-SVN: r158386

14 years agos390.c (s390_call_save_register_used): Switch back to HARD_REGNO_NREGS.
Andreas Krebbel [Thu, 15 Apr 2010 16:30:32 +0000 (16:30 +0000)]
s390.c (s390_call_save_register_used): Switch back to HARD_REGNO_NREGS.

2010-04-15  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

* config/s390/s390.c (s390_call_save_register_used): Switch back
to HARD_REGNO_NREGS.

From-SVN: r158384

14 years agog-socket.adb: A target can have multiple missing errno's.
Joel Sherrill [Thu, 15 Apr 2010 15:39:47 +0000 (15:39 +0000)]
g-socket.adb: A target can have multiple missing errno's.

2010-04-15  Joel Sherrill <joel.sherrill@oarcorp.com>

* g-socket.adb: A target can have multiple missing errno's.  This
will result in multiple errno's being defined as -1.  Because of this
we can not use a case but must use a series of if's to avoid
a duplicate case error in GNAT.Sockets.Resolve_Error.

From-SVN: r158382

14 years agogsocket.h: Run-time can no longer be built without network OS headers available.
Joel Sherrill [Thu, 15 Apr 2010 15:35:27 +0000 (15:35 +0000)]
gsocket.h: Run-time can no longer be built without network OS headers available.

2010-04-13  Joel Sherrill <joel.sherrill@oarcorp.com>

* gsocket.h: Run-time can no longer be built without network
OS headers available.  Changing RTEMS GNAT build procedure to
reflect this and letting run-time build use network .h files.

From-SVN: r158381

14 years agoalias.c (alias_set_subset_of): Handle alias-set zero child properly.
Richard Guenther [Thu, 15 Apr 2010 15:30:17 +0000 (15:30 +0000)]
alias.c (alias_set_subset_of): Handle alias-set zero child properly.

2010-04-15  Richard Guenther  <rguenther@suse.de>

* alias.c (alias_set_subset_of): Handle alias-set zero
child properly.

From-SVN: r158380

14 years agothumb2.md (thumb2_movsi_insn): Split ldr and str alternatives according to use of...
Mark Shinwell [Thu, 15 Apr 2010 14:39:22 +0000 (14:39 +0000)]
thumb2.md (thumb2_movsi_insn): Split ldr and str alternatives according to use of high and low regs.

gcc/
* config/arm/thumb2.md (thumb2_movsi_insn): Split ldr and str
alternatives according to use of high and low regs.
* config/arm/vfp.md (thumb2_movsi_vfp): Likewise.
* config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Use high regs when
optimizing for size on Thumb-2.

Co-Authored-By: Julian Brown <julian@codesourcery.com>
From-SVN: r158378

14 years agoconfig.gcc: Handle softfp as for Linux.
Thomas Schwinge [Thu, 15 Apr 2010 13:29:07 +0000 (15:29 +0200)]
config.gcc: Handle softfp as for Linux.

2010-04-15 Thomas Schwinge <tschwinge@gnu.org>

gcc/
* config.gcc <i[34567]86-*-gnu*>: Handle softfp as for Linux.

libgcc/
* config.host <i[34567]86-*-gnu*>: Handle softfp as for Linux.

From-SVN: r158375

14 years agotree-ssa-structalias.c (struct variable_info): Add is_fn_info flag.
Richard Guenther [Thu, 15 Apr 2010 13:16:44 +0000 (13:16 +0000)]
tree-ssa-structalias.c (struct variable_info): Add is_fn_info flag.

2010-04-15  Richard Guenther  <rguenther@suse.de>

* tree-ssa-structalias.c (struct variable_info): Add
is_fn_info flag.
(new_var_info): Initialize it.
(dump_constraints): Support printing last added constraints.
(debug_constraints): Adjust.
(dump_constraint_graph): Likewise.
(make_heapvar_for): Check for NULL cfun.
(get_function_part_constraint): New function.
(get_fi_for_callee): Likewise.
(find_func_aliases): Properly implement IPA PTA constraints.
(process_ipa_clobber): New function.
(find_func_clobbers): Likewise.
(insert_into_field_list_sorted): Remove.
(create_function_info_for): Properly allocate vars for IPA mode.
Do not use insert_into_field_list_sorted.
(create_variable_info_for): Properly generate constraints for
global vars in IPA mode.
(dump_solution_for_var): Always dump the solution.
(set_uids_in_ptset): Initialize DECL_PT_UID if in ipa-mode.
(find_what_var_points_to): Adjust.
(pt_solution_set): Change.
(pt_solution_ior_into): New function.
(pt_solution_empty_p): Export.
(pt_solution_includes_global): Adjust.
(pt_solution_includes_1): Likewise.
(pt_solutions_intersect_1): Likewise.
(dump_sa_points_to_info): Check some invariants.
(solve_constraints): Move constraint dumping ...
(compute_points_to_sets): ... here.
(ipa_pta_execute): ... and here.
(compute_may_aliases): Do not re-compute points-to info
locally if IPA info is available.
(ipa_escaped_pt): New global var.
(ipa_pta_execute): Properly implement IPA PTA.
* tree-into-ssa.c (dump_decl_set): Support dumping
decls not in referenced-vars.
* tree-flow.h (struct gimple_df): Add ipa_pta flag.
* tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Adjust.
(dump_points_to_solution): Likewise.
* tree-dfa.c (dump_variable): Also dump DECL_PT_UID.
* tree-inline.c (remap_ssa_name): Copy IPA points-to solution.
(remap_gimple_stmt): Reset call clobber/use information if
necessary.
(copy_decl_to_var): Copy DECL_PT_UID.
(copy_result_decl_to_var): Likewise.
* tree.c (make_node_stat): Initialize DECL_PT_UID.
(copy_node_stat): Copy it.
* tree.h (DECL_PT_UID): New macro.
(SET_DECL_PT_UID): Likewise.
(DECL_PT_UID_SET_P): Likewise.
(struct tree_decl_minimal): Add pt_uid member.
* tree-ssa-alias.h (struct pt_solution): Add ipa_escaped flag.
(pt_solution_empty_p): Declare.
(pt_solution_set): Adjust.
(ipa_escaped_pt): Declare.
* cfgexpand.c (update_alias_info_with_stack_vars): Adjust.
* gimple-pretty-print.c (pp_points_to_solution): New function.
(dump_gimple_call): Dump call clobber/use information.
* tree-dump.c (dump_option_value_in): Add TDF_ALIAS entry.
* tree-pass.h (TDF_ALIAS): New dump option.
* tree-pretty-print.c (dump_decl_name): Dump DECL_PT_UID if asked to.
* doc/invoke.texi (-fipa-pta): Update documentation.

* gcc.dg/ipa/ipa-pta-1.c: New testcase.
* gcc.dg/ipa/ipa-pta-2.c: Likewise.
* gcc.dg/ipa/ipa-pta-3.c: Likewise.
* gcc.dg/ipa/ipa-pta-4.c: Likewise.
* gcc.dg/ipa/ipa-pta-5.c: Likewise.
* gcc.dg/ipa/ipa-pta-6.c: Likewise.
* gcc.dg/ipa/ipa-pta-7.c: Likewise.
* gcc.dg/ipa/ipa-pta-8.c: Likewise.
* gcc.dg/ipa/ipa-pta-9.c: Likewise.
* gcc.dg/ipa/ipa-pta-10.c: Likewise.
* gcc.dg/ipa/ipa-pta-11.c: Likewise.
* gcc.dg/ipa/ipa-pta-12.c: Likewise.
* gcc.dg/ipa/ipa-pta-13.c: Likewise.
* gcc.dg/torture/ipa-pta-2.c: Likewise.
* gcc.dg/torture/ipa-pta-1.c: Adjust.

From-SVN: r158374

14 years agoMakefile.in (OBJS-common): Add gimple-fold.o.
Richard Guenther [Thu, 15 Apr 2010 12:58:05 +0000 (12:58 +0000)]
Makefile.in (OBJS-common): Add gimple-fold.o.

2010-04-15  Richard Guenther  <rguenther@suse.de>

* Makefile.in (OBJS-common): Add gimple-fold.o.
(gimple-fold.o): New rule.
* tree.h (maybe_fold_offset_to_reference,
maybe_fold_offset_to_address, maybe_fold_stmt_addition): Move
prototypes ...
* gimple.h: ... here.
* tree-flow.h (fold_stmt, fold_stmt_inplace, get_symbol_constant_value,
may_propagate_address_into_dereference): Move prototypes ...
* gimple.h: ... here.
* tree-ssa-ccp.c (get_symbol_constant_value,
may_propagate_address_into_dereference, maybe_fold_offset_to_array_ref,
maybe_fold_offset_to_component_ref, maybe_fold_offset_to_reference,
maybe_fold_offset_to_address, maybe_fold_stmt_indirect,
maybe_fold_stmt_addition, maybe_fold_reference, get_maxval_strlen,
ccp_fold_builtin, fold_gimple_assign, fold_gimple_cond,
fold_gimple_call, fold_stmt_1, fold_stmt, fold_stmt_inplace,
gimplify_and_update_call_from_tree): Move ...
* gimple-fold.c: ... here.  New file.
(ccp_fold_builtin): Rename to ...
(gimple_fold_builtin): ... this.
* tree-ssa-ccp.c (execute_fold_all_builtins): Adjust.

From-SVN: r158373

14 years agofold-const.c (LOWPART, [...]): Move ...
Richard Guenther [Thu, 15 Apr 2010 12:45:58 +0000 (12:45 +0000)]
fold-const.c (LOWPART, [...]): Move ...

2010-04-15  Richard Guenther  <rguenther@suse.de>

* fold-const.c (LOWPART, HIGHPART, BASE, encode, decode,
fit_double_type, force_fit_type_double, add_double_with_sign,
neg_double, mul_double_with_sign, lshift_double, rshift_double,
lrotate_double, rrotate_double, div_and_round_double): Move ...
* double-int.c: ... here.
* tree.h (force_fit_type_double, fit_double_type, add_double_with_sign,
add_double, neg_double, mul_double_with_sign, mul_double,
lshift_double, rshift_double, lrotate_double, rrotate_double,
div_and_round_double): Move prototypes ...
* double-int.h: ... here.

From-SVN: r158372

14 years agotrans.c (call_to_gnu): Open a nesting level if this is a statement.
Eric Botcazou [Thu, 15 Apr 2010 12:40:15 +0000 (12:40 +0000)]
trans.c (call_to_gnu): Open a nesting level if this is a statement.

* gcc-interface/trans.c (call_to_gnu): Open a nesting level if this is
a statement.  Otherwise, if at top-level, push the processing of the
elaboration routine.  In the misaligned case, issue the error messages
again on entry and create the temporary explicitly.  Do not issue them
for CONSTRUCTORs.
For a function call, emit the range check if necessary.
In the copy-in copy-out case, create the temporary for the return
value explicitly.
Do not unnecessarily convert by-ref parameters to the formal's type.
Remove obsolete guards in conditions.
(gnat_to_gnu) <N_Assignment_Statement>: For a function call, pass the
target to call_to_gnu in all cases.
(gnat_gimplify_expr) <ADDR_EXPR>: Remove handling of SAVE_EXPR.
(addressable_p) <CONSTRUCTOR>: Return false if not static.
<COMPOUND_EXPR>: New case.
* gcc-interface/utils2.c (build_unary_op) <ADDR_EXPR>: Fold a compound
expression if it has unconstrained array type.
(gnat_mark_addressable) <COMPOUND_EXPR>: New case.
(gnat_stabilize_reference) <COMPOUND_EXPR>: Stabilize operands on an
individual basis.

From-SVN: r158371

14 years agotrans.c (gigi): Do not start statement group.
Eric Botcazou [Thu, 15 Apr 2010 10:38:36 +0000 (10:38 +0000)]
trans.c (gigi): Do not start statement group.

* gcc-interface/trans.c (gigi): Do not start statement group.
(Compilation_Unit_to_gnu): Set current_function_decl to NULL.
Start statement group and push binding level here...
(gnat_to_gnu) <N_Compilation_Unit>: ...and not here.
Do not push fake contexts at top level.  Remove redundant code.
(call_to_gnu): Rename a local variable and constify another.
* gcc-interface/utils.c (gnat_pushlevel): Fix formatting nits.
(set_current_block_context): Set it as the group's block.
(gnat_init_decl_processing): Delete unrelated init code.
(end_subprog_body): Use NULL_TREE.

From-SVN: r158370

14 years agotrans.c (call_to_gnu): Do not unnecessarily force side-effects of actual parameters...
Eric Botcazou [Thu, 15 Apr 2010 10:17:54 +0000 (10:17 +0000)]
trans.c (call_to_gnu): Do not unnecessarily force side-effects of actual parameters before the call.

* gcc-interface/trans.c (call_to_gnu): Do not unnecessarily force
side-effects of actual parameters before the call.

From-SVN: r158369

14 years agodecl.c (validate_size): Reorder, remove obsolete test and warning.
Eric Botcazou [Thu, 15 Apr 2010 10:10:03 +0000 (10:10 +0000)]
decl.c (validate_size): Reorder, remove obsolete test and warning.

* gcc-interface/decl.c (validate_size): Reorder, remove obsolete test
and warning.
(set_rm_size): Reorder and remove obsolete test.

From-SVN: r158368

14 years agore PR target/43742 (web.c/union_match_dups segfaults for a null *ref on sh-elf)
Bernd Schmidt [Thu, 15 Apr 2010 08:57:27 +0000 (08:57 +0000)]
re PR target/43742 (web.c/union_match_dups segfaults for a null *ref on sh-elf)

PR target/43742
* config/sh/sh.md (doloop_end_split, dect): Undo previous patch.  Use
matching constraints to ensure inputs match the output.

From-SVN: r158367

14 years agotrans-decl.c (gfc_build_qualified_array): Clear DECL_IGNORED_P on VAR_DECL LBOUND...
Jakub Jelinek [Thu, 15 Apr 2010 08:53:41 +0000 (10:53 +0200)]
trans-decl.c (gfc_build_qualified_array): Clear DECL_IGNORED_P on VAR_DECL LBOUND and/or UBOUND, even for -O1.

* trans-decl.c (gfc_build_qualified_array): Clear DECL_IGNORED_P
on VAR_DECL LBOUND and/or UBOUND, even for -O1.

From-SVN: r158366

14 years agoDaily bump.
GCC Administrator [Thu, 15 Apr 2010 00:17:51 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r158365

14 years agore PR target/43742 (web.c/union_match_dups segfaults for a null *ref on sh-elf)
Kaz Kojima [Wed, 14 Apr 2010 23:58:10 +0000 (23:58 +0000)]
re PR target/43742 (web.c/union_match_dups segfaults for a null *ref on sh-elf)

PR target/43742
* config/sh/sh.md (doloop_end_split): Remove "+r" constraint
in an input-only operand.

From-SVN: r158361

14 years agodouble-int.h (HOST_BITS_PER_DOUBLE_INT): Define.
Anatoly Sokolov [Wed, 14 Apr 2010 22:05:32 +0000 (02:05 +0400)]
double-int.h (HOST_BITS_PER_DOUBLE_INT): Define.

* double-int.h (HOST_BITS_PER_DOUBLE_INT): Define.
(double_int_not, double_int_lshift, double_int_rshift): Declare.
(double_int_negative_p): Convert to static inline function.
* double-int.c (double_int_lshift, double_int_lshift): Add new function.
(double_int_negative_p): Remove.
* tree.h (lshift_double, rshift_double):
* tree.c (build_low_bits_mask): Clean up, use double_int_* functions.
* fold-const.c (fold_convert_const_int_from_real,
fold_convert_const_int_from_fixed, div_if_zero_remainder): (Ditto.).
(lshift_double): Change type of arith argument to bool.
(rshift_double): Change type of arith argument to bool. Correct
comment.
* expmed.c (mask_rtx, lshift_value): (Ditto.).

From-SVN: r158360

14 years ago* filenames.h (HAS_DRIVE_SPEC, STRIP_DRIVE_SPEC): New macros.
Doug Evans [Wed, 14 Apr 2010 21:16:34 +0000 (21:16 +0000)]
* filenames.h (HAS_DRIVE_SPEC, STRIP_DRIVE_SPEC): New macros.

From-SVN: r158359

14 years agore PR rtl-optimization/21803 ([ia64] gcc produces really odd predicated code)
Bernd Schmidt [Wed, 14 Apr 2010 20:42:02 +0000 (20:42 +0000)]
re PR rtl-optimization/21803 ([ia64] gcc produces really odd predicated code)

gcc/
PR target/21803
* ifcvt.c (cond_exec_process_if_block): Look for identical sequences
at the start and end of the then/else blocks, and omit them from the
conversion.
* cfgcleanup.c (flow_find_cross_jump): No longer static.  Remove MODE
argument; all callers changed.  Pass zero to old_insns_match_p instead.
(flow_find_head_matching_sequence): New function.
(old_insns_match_p): Check REG_EH_REGION notes for calls.
* basic-block.h (flow_find_cross_jump,
flow_find_head_matching_sequence): Declare functions.

gcc/testsuite/
PR target/21803
* gcc.target/arm/pr42496.c: New test.

From-SVN: r158357