* ipa-split.c (split_function): For aggregate values set return_slot_opt;
when passing DECL_BY_REFERENCE produce *<retval> = fncall.part ()
(execute_split_functions): Do not care about DECL_BY_REFERENCE.
From-SVN: r161756
* ipa-split.c (verify_non_ssa_vars): Break out from ...; perform DFS walk
backwards from entry_bb to check only those basic block of header
that might lead to execution of split part.
(consider_split) ... here.
(find_return_bb): Allow assignment in return BB.
(find_retval): New.
(split_function): Fix name of cloned function; take care of updating return
value in return_bb containing move.
* gcc.dg/tree-ssa/ipa-split-5.c: New function.
From-SVN: r161744
PR c++/44780
* typeck.c (convert_for_assignment): When converting a convertible
vector type or objc++ types, call mark_rvalue_use.
* typeck2.c (build_m_component_ref): Use return values from
mark_rvalue_use or mark_lvalue_use.
* class.c (build_base_path): Likewise.
* call.c (build_conditional_expr): Likewise.
* c-c++-common/Wunused-var-12.c: New test.
From-SVN: r161742
* trans-types.h (gfc_add_field_to_struct): Add tree ** parameter.
* trans-types.c (gfc_add_field_to_struct_1): New function, most
of which comes from...
(gfc_add_field_to_struct): ...here. Call it. Add new parameter.
(gfc_get_desc_dim_type): Call gfc_add_field_to_struct_1 for
building fields.
(gfc_get_array_descriptor_base): Likewise.
(gfc_get_mixed_entry_union): Likewise.
(gfc_get_derived_type): Add extra chain parameter for
gfc_add_field_to_struct.
* trans-stmt.c (gfc_trans_character_select): Likewise.
* trans-io.c (gfc_build_st_parameter): Likewise.
From-SVN: r161738
2010-06-28 Tobias Burnus <burnus@net-b.de>
PR fortran/43298
* list_read.c (parse_real): Do not pass (..) on for NAN(..).
* read.c (convert_real): Fix comment about NAN/INF.
From-SVN: r161735
2010-07-02 Changpeng Fang <changpeng.fang@amd.com>
* tree-ssa-loop-prefetch.c (compute_miss_rate): Rename to
is_miss_rate_acceptable. Pull total_positions computation
out of the loops. Early return if miss_positions exceeds
the acceptable threshold.
* tree-ssa-loop-prefetch.c (prune_ref_by_group_reuse): Call
is_miss_rate_acceptable after renaming of compute_miss_rate.
From-SVN: r161728
2010-07-02 Changpeng Fang <changpeng.fang@amd.com>
PR middle-end/44576
* tree-ssa-loop-prefetch.c (compute_miss_rate): Return 1000 (out
of 1000) for miss rate if the address diference is greater than or
equal to the cache line size (the two reference will never hit the
same cache line).
From-SVN: r161727
PR target/42172
* config/arm/arm.c (thumb1_rtx_costs): Improve support for SIGN_EXTEND
and ZERO_EXTEND.
(arm_rtx_costs_1): Likewise.
(arm_size_rtx_costs): Use arm_rtx_costs_1 for these codes.
* config/arm/arm.md (is_arch6): New attribute.
(zero_extendhisi2, zero_extendqisi2, extendhisi2,
extendqisi2): Tighten the code somewhat, avoiding invalid
RTL to occur in the expander patterns.
(thumb1_zero_extendhisi2): Merge with thumb1_zero_extendhisi2_v6.
(thumb1_zero_extendhisi2_v6): Delete.
(thumb1_extendhisi2): Merge with thumb1_extendhisi2_v6.
(thumb1_extendhisi2_v6): Delete.
(thumb1_extendqisi2): Merge with thumb1_extendhisi2_v6.
(thumb1_extendqisi2_v6): Delete.
(zero_extendhisi2 for register input splitter): New.
(zero_extendqisi2 for register input splitter): New.
(thumb1_extendhisi2 for register input splitter): New.
(extendhisi2 for register input splitter): New.
(extendqisi2 for register input splitter): New.
(TARGET_THUMB1 extendqisi2 for memory input splitter): New.
(arm_zero_extendhisi2): Allow nonimmediate_operand for operand 1,
and add support for a register alternative requiring a split.
(thumb1_zero_extendqisi2): Likewise.
(arm_zero_extendqisi2): Likewise.
(arm_extendhisi2): Likewise.
(arm_extendqisi2): Likewise.
testsuite/
PR target/42172
* gcc.target/arm/pr42172-1.c: New test.
From-SVN: r161726
PR target/42835
* config/arm/arm-modes.def (CC_NOTB): New mode.
* config/arm/arm.c (get_arm_condition_code): Handle it.
* config/arm/thumb2.md (thumb2_compare_scc): Delete pattern.
* config/arm/arm.md (subsi3_compare0_c): New pattern.
(compare_scc): Now a define_and_split. Add a number of extra
splitters before it.
testsuite/
PR target/42835
* gcc.target/arm/pr42835.c: New test.
From-SVN: r161725
libgfortran:
* configure.ac (gfortran_use_symver): Only check for Sun-style symbol
versioning on Solaris 2.
* configure: Regenerate.
libssp:
* configure.ac (ssp_use_symver): Only check for Sun-style symbol
versioning on Solaris 2.
* configure: Regenerate.
From-SVN: r161724
2010-07-02 Christian Borntraeger <borntraeger@de.ibm.com>
* config/s390/s390.c (override_options): Adopt prefetching
at -O3 to handle flag_prefetch_loop_arrays as a tristate.
From-SVN: r161709
* df-problems.c (df_kill_notes): Do not collect dead notes.
(df_set_note): Just call add_reg_note.
(df_set_unused_notes_for_mw, df_set_dead_notes_for_mw,
df_create_unused_note): Do not deal with lists of old notes.
(df_note_bb_compute): Likewise.
From-SVN: r161708
2010-07-02 Richard Guenther <rguenther@suse.de>
* tree-data-ref.c (initialize_data_dependence_relation): Handle
mismatching number of dimensions properly.
* g++.dg/torture/20100702-1.C: New testcase.
From-SVN: r161705
* gcc-interface/misc.c (gnat_handle_option): Do not populate gnat_argv.
(gnat_handle_option): Allocate only one element for gnat_argv.
(gnat_init): Do not populate gnat_argv.
From-SVN: r161704
* 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.
From-SVN: r161697
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.
From-SVN: r161696
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.
From-SVN: r161691
* 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:.
From-SVN: r161687