2009-01-29 Andrey Belevantsev <abel@ispras.ru>
Alexander Monakov <amonakov@ispras.ru>
PR middle-end/38857
* sel-sched.c (count_occurrences_1): Check that *cur_rtx is a hard
register.
(move_exprs_to_boundary): Change return type and pass through
should_move from move_op. Relax assert. Update usage ...
(schedule_expr_on_boundary): ... here. Use should_move instead of
cant_move.
(move_op_orig_expr_found): Indicate that insn was disconnected from
stream.
(code_motion_process_successors): Do not call after_merge_succs
callback if original expression was not found when traversing any of
the branches.
(code_motion_path_driver): Change return type. Update prototype.
(move_op): Update comment. Add a new parameter (should_move). Update
prototype. Set *should_move based on indication provided by
move_op_orig_expr_found.
2009-01-29 Steve Ellcey <sje@cup.hp.com>
PR middle-end/38857
* gcc.c-torture/compile/pr38857.c: New test.
From-SVN: r143753
2009-01-28 Paul Thomas <pault@gcc.gnu.org>
PR fortran/38852
PR fortran/39006
* trans-intrinsic.c (gfc_conv_intrinsic_bound): Use the array
descriptor ubound for UBOUND, when the array lbound == 1.
2009-01-28 Paul Thomas <pault@gcc.gnu.org>
PR fortran/38852
PR fortran/39006
* gfortran.dg/bound_6.f90: New test.
From-SVN: r143743
* doc/invoke.texi (avoid-indexed-addresses): Document new option.
* config/rs6000/rs6000-protos.h (avoiding_indexed_address_p): Declare.
* config/rs6000/rs6000.opt (avoid-indexed-addresses): New option.
* config/rs6000/rs6000.c (rs6000_override_options): Default
avoid-indexed-addresses on for Power6, off for everything else.
(avoiding_indexed_address_p): New function.
(rs6000_legitimize_address): Use it.
(rs6000_legitimate_address): Likewise.
* config/rs6000/rs6000.md (movXX_updateX): Likewise
* gcc.target/powerpc/avoid-indexed-addresses.c: New test.
From-SVN: r143742
2009-01-28 Richard Guenther <rguenther@suse.de>
PR tree-optimization/38926
* tree-ssa-pre.c (add_to_value): Assert we add only expressions
with the correct value id to a value.
(do_regular_insertion): Use the value number of edoubleprime
for the value number of the expr.
Revert
2008-08-21 Richard Guenther <rguenther@suse.de>
* tree-ssa-pre.c (insert_into_preds_of_block): Before inserting
a PHI ask VN if it is already available.
* tree-ssa-sccvn.h (vn_phi_lookup): Declare.
* tree-ssa-sccvn.c (vn_phi_lookup): Export.
* gcc.c-torture/compile/pr38926.c: New testcase.
From-SVN: r143725
PR middle-end/38934
* tree-vrp.c (extract_range_from_assert): For LE_EXPR and LT_EXPR
set to varying whenever max has TREE_OVERFLOW set, similarly
for GE_EXPR and GT_EXPR and TREE_OVERFLOW min.
* gcc.dg/pr38934.c: New test.
From-SVN: r143723
2009-01-28 Richard Guenther <rguenther@suse.de>
PR middle-end/38908
* tree-ssa.c (warn_uninitialized_var): Do not warn for seemingly
uninitialized aggregate uses in call arguments.
* g++.dg/warn/Wuninitialized-2.C: New testcase.
From-SVN: r143722
gcc:
2009-01-28 Paolo Bonzini <bonzini@gnu.org>
PR tree-optimization/38984
* tree-ssa-structalias.c (get_constraints_for_1): Do not use
the nothing_id variable if -fno-delete-null-pointer-checks.
gcc/testsuite:
2009-01-28 Paolo Bonzini <bonzini@gnu.org>
PR tree-optimization/38984
* gcc.dg/pr38984.c: New XFAILed testcase.
From-SVN: r143721
* c.opt (Wpacked-bitfield-compat): Change init value to -1.
* c-opts.c (c_common_post_options): If -W*packed-bitfield-compat
was not supplied then set warn_packed_bitfield_compat to the
default value of 1.
* stor-layout.c (place_field): Check warn_packed_bitfield_compat
against 1.
From-SVN: r143718
2009-01-27 Daniel Kraft <d@domob.eu>
PR fortran/38883
* trans-stmt.c (gfc_conv_elemental_dependencies): Create temporary
for the real type needed to make it work for subcomponent-references.
2009-01-27 Daniel Kraft <d@domob.eu>
PR fortran/38883
* gfortran.dg/mvbits_6.f90: New test.
* gfortran.dg/mvbits_7.f90: New test.
* gfortran.dg/mvbits_8.f90: New test.
From-SVN: r143707
2009-01-27 Richard Guenther <rguenther@suse.de>
PR tree-optimization/38503
* cfgexpand.c (expand_gimple_basic_block): Ignore
GIMPLE_CHANGE_DYNAMIC_TYPE during expansion.
* tree-ssa-structalias.c (set_uids_in_ptset): Do not prune
variables that cannot have TBAA applied.
(compute_points_to_sets): Do not remove GIMPLE_CHANGE_DYNAMIC_TYPE
statements.
* g++.dg/warn/Wstrict-aliasing-bogus-placement-new.C: New testcase.
From-SVN: r143700
2009-01-26 Danny Smith <dannysmith@users.sourceforge.net>
PR testsuite/38949
* g++.dg/torture/stackalign/test-unwind.h (ASMNAME): Define.
Use instead of C name in asm statements.
From-SVN: r143684
2009-01-26 Richard Guenther <rguenther@suse.de>
PR tree-optimization/38745
* tree-ssa-alias.c (update_alias_info_1): Exclude RESULT_DECL
from special handling.
From-SVN: r143676
2009-01-26 Richard Guenther <rguenther@suse.de>
PR tree-optimization/38745
* tree-ssa.c (execute_update_addresses_taken): Do not include
variables that cannot possibly be a register in not_reg_needs.
Do not clear TREE_ADDRESSABLE on vars that may not become
registers.
* tree-ssa.c (update_alias_info_1): Include those in the set
of addressable vars.
* g++.dg/torture/pr38745.C: New testcase.
From-SVN: r143673
* gcc.dg/bitfld-15.c: Gate warning on target
pcc_bitfield_type_matters.
* gcc.dg/bitfld-17.c, g++.dg/ext/bitfield2.C,
g++.dg/ext/bitfield4.C: Likewise.
* gcc.dg/pr17112-1.c: Don't expect a warning for the packed
bitfield for any target.
From-SVN: r143662
2009-01-24 Sebastian Pop <sebastian.pop@amd.com>
PR tree-optimization/38953
* graphite.c (graphite_verify): Add a call to verify_loop_closed_ssa.
(scop_adjust_phis_for_liveouts): Initialize false_i to zero.
(gloog): Split the exit of the scop when the scop exit is a loop exit.
(graphite_transform_loops): Only call cleanup_tree_cfg if gloog
changed the CFG.
* gfortran.dg/graphite/pr38953.f90: New.
From-SVN: r143599