2009-10-25 Richard Guenther <rguenther@suse.de>
PR middle-end/41814
* tree.c (find_decls_types_r): Deal with Java overloading
BINFO_VIRTUALS for its own purpose.
From-SVN: r153539
* config/mips/predicates.md (hilo_operand): New predicate.
* config/mips/mips.md (<u>mulsidi3_64bit): Change it to a
define_insn. Correct !ISA_HAS_EXT_INS length from 24 to 28. Move
splitter part from here ...:
(<u>mulsidi3_64bit splitter for !ISA_HAS_EXT_INS): ... to here. Swap
op0 and op4 to match the DINS case.
(<u>mulsidi3_64bit splitter for ISA_HAS_EXT_INS): New splitter.
testsuite/
* gcc.target/mips/mult-1.c: New test.
From-SVN: r153538
2009-10-24 Janus Weil <janus@gcc.gnu.org>
Paul Thomas <pault@gcc.gnu.org>
PR fortran/41784
* module.c (load_derived_extensions): Skip symbols which are not being
loaded.
2009-10-24 Janus Weil <janus@gcc.gnu.org>
PR fortran/41784
* gfortran.dg/extends_8.f03: New test.
Co-Authored-By: Paul Thomas <pault@gcc.gnu.org>
From-SVN: r153534
PR middle-end/19154
* avr.md (QIDI): Add new mode iterator.
(sbrx_branch<mode>): Create new zero extract bit, test and jump
patterns for all QI-DI modes combinations.
(sbrx_and_branch<mode>): Create new and based bit test and jump
patterns for QI-SI modes.
avr.c (avr_out_sbxx_branch): Use only bit number.
From-SVN: r153531
PR middle-end/19154
* avr.md (QIDI): Add new mode iterator.
(sbrx_branch<mode>): Create new zero extract bit, test and jump
patterns for all QI-DI modes combinations.
(sbrx_and_branch<mode>): Create new and based bit test and jump
patterns for QI-SI modes.
avr.c (avr_out_sbxx_branch): Use only bit number.
From-SVN: r153530
* ipa-reference.c (check_call): Noreturn notrhow calls do not write
to memory.
(analyze_function): When analyzing noreturn nothrow call, do not compute
written stats; free bitmaps of vars early if possible.
(generate_summary): Only update bitmaps if computed.
(propagate): Only dump bitmaps if computed.
(ipa_reference_read_summary): Fix pasto.
From-SVN: r153529
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: When
processing the parent type, build the COMPONENT_REF for a discriminant
with the proper type.
From-SVN: r153528
2009-10-24 Paul Thomas <pault@gcc.gnu.org>
PR fortran/41772
* trans-intrinsic.c (gfc_conv_intrinsic_transfer): Stop'extent'
from going negative.
2009-10-24 Paul Thomas <pault@gcc.gnu.org>
PR fortran/41772
* gfortran.dg/transfer_intrinsic_3.f90.
From-SVN: r153524
* tree-ssa-alias.c (nonaliasing_component_refs_p): Rename into...
(aliasing_component_refs_p): ...this. Return true if there is no
common base and the base access types have the same alias set.
(indirect_ref_may_alias_decl_p): Adjust for above renaming.
(indirect_refs_may_alias_p): Likewise.
From-SVN: r153523
PR c/40033
* c-typeck.c (c_finish_stmt_expr): Do not wrap error_mark_node in
a C_MAYBE_CONST_EXPR.
testsuite:
* gcc.dg/noncompile/pr40033-1.c: New test.
From-SVN: r153522
Core issue 899
* call.c (add_function_candidate): Only permit explicit conversion
ops if copy ctor was called with a single argument.
From-SVN: r153509
* g++.dg/abi/rtti3.C, g++.dg/abi/thunk4.C: Skip for *-*-mingw* and
*-*-cygwin.
* g++.dg/cpp0x/lambda/lambda-mangle.C: Disable weak symbols tests
for *-*-mingw* and *-*-cygwin.
* g++.dg/opt/vt1.C: Skip for *-*-mingw* and *-*_cygwin.
* g++.dg/template/spec35.C: Disable weak symbol test for
*-*-mingw* and *-*-cygwin.
PR testsuite/31342
* gcc.target/i386/pic-1.c: Skip for *-*-mingw* and *-*-cygwin.
From-SVN: r153506
2009-10-23 Kai Tietz <kai.tietz@onevision.com>
* splay-tree.h (libi_uhostptr_t): Add gcc specific
__extension__ for long long type case to silent cX9.
(libi_shostptr_t): Likewise.
From-SVN: r153499
PR c/41673
* alias.c (get_alias_set): Call langhook before returning 0 for
types with structural equality.
* c-common.c (c_common_get_alias_set): Use alias set of element
type for arrays with structural comparison.
testsuite:
* gcc.dg/Wstrict-aliasing-bogus-vla-1.c: New test.
From-SVN: r153496
2009-10-23 Richard Guenther <rguenther@suse.de>
PR middle-end/41805
* cfgexpand.c (expand_call_stmt): Use gimple_has_side_effects and
gimple_call_nothrow_p.
From-SVN: r153495
2009-10-23 Janus Weil <janus@gcc.gnu.org>
PR fortran/41758
* match.c (conformable_arrays): Move to resolve.c.
(gfc_match_allocate): Don't resolve SOURCE expr yet, and move some
checks to resolve_allocate_expr.
* resolve.c (conformable_arrays): Moved here from match.c.
(resolve_allocate_expr): Moved some checks here from gfc_match_allocate.
(resolve_code): Resolve SOURCE tag for ALLOCATE expressions.
From-SVN: r153494
2009-10-23 Richard Guenther <rguenther@suse.de>
PR tree-optimization/41778
* tree-ssa-pre.c (do_regular_insertion): Only insert if a
redundancy along a path in the CFG we want to optimize for speed
is going to be removed.
(execute_pre): Do partial-PRE only if the function is to be
optimized for speed.
(gate_pre): Do not turn off all of PRE when not optimizing a
function for speed.
* gcc.dg/tree-ssa/ssa-pre-26.c: New testcase.
From-SVN: r153491
* ira-lives.c (process_single_reg_class_operands): Update the
hard reg costs for all the hard registers desired by the single
reg class operand.
From-SVN: r153487
gcc/
* rtl.h (shallow_copy_rtvec): Declare.
* rtl.c (shallow_copy_rtvec): New function.
* cselib.c (cselib_subst_to_values): Use it. Only modify an
rtx field if the subrtx has changed.
From-SVN: r153475
2009-10-22 Richard Guenther <rguenther@suse.de>
PR cp-tools/39177 * tools/gnu/classpath/tools/jar/Creator.java
(writeCommandLineEntries):
Do not use uninitialized manifest.
* tools/classes/gnu/classpath/tools/jar/Creator.class: Re-generated.
From-SVN: r153461
2009-10-22 Richard Guenther <rguenther@suse.de>
* lto-streamer.h (lto_symtab_merge_cgraph_nodes): Declare.
* lto-symtab.c (struct lto_symtab_entry_def): Add node member.
(lto_symtab_merge): Do not merge cgraph nodes here.
(lto_symtab_resolve_can_prevail_p): Simplify.
(lto_symtab_resolve_symbols): Store cgraph node.
(lto_symtab_merge_decls_1): Simplify. Do not drop non-prevailing
functions from the symtab.
(lto_symtab_merge_cgraph_nodes_1): New function.
(lto_symtab_merge_cgraph_nodes): Likewise.
lto/
* lto.c (lto_fixup_jump_functions): Remove.
(lto_fixup_decls): Do not fixup jump functions.
(read_cgraph_and_symbols): Schedule cgraph merging after
summary reading. Schedule type and decl fixup before
summary reading.
From-SVN: r153460
2009-10-22 Razya Ladelsky <razya@il.ibm.com>
* cfgloopmanip.c (duplicate_subloops): Export.
* tree-parloops.c (loop_parallel_p): Dump if loop is innermost.
(transform_to_exit_first_loop): Duplicate bbs starting from
header up to loop->latch instead of exit->src.
Initialize control variable to the correct number of iterations.
(gather_scalar_reductions): Do not register double reductions.
(parallelize_loops): Dump which loop is tested.
Indicate whether the parallelized loop is inner or not.
Remove the innermost-loop requirement.
* cfgloop.h (duplicate_subloops): Export.
* tree-cfg.c (add_phi_args_after_redirect): New function.
(gimple_duplicate_sese_tail): Remove the no-subloops constraint.
Call duplicate_subloops.
Update number of iterations at the exit condition.
Don't redirect nexits always to the loop exit.
Redirect copied edges from latch to the loop exit.
* testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
* testsuite/gcc.dg/autopar/outer-1.c: New testcase.
* testsuite/gcc.dg/autopar/outer-2.c: New testcase.
* testsuite/gcc.dg/autopar/outer-3.c: New testcase.
* testsuite/gcc.dg/autopar/outer-4.c: New testcase.
* testsuite/gcc.dg/autopar/outer-5.c: New testcase.
* testsuite/gcc.dg/autopar/outer-6.c: New testcase.
From-SVN: r153457