* Makefile.in (reg-stack.o): Don't depend on gt-reg-stack.h.
* reg-stack.c (stack_regs_mentioned_data): Change the type to
VEC(char,heap) *.
(stack_regs_mentioned): Update the uses of
stack_regs_mentioned_data. Don't access the array beyond its
end.
(reg_to_stack): Update the uses of stack_regs_mentioned_data.
Don't include gt-reg-stack.h.
From-SVN: r112060
2006-03-14 Richard Guenther <rguenther@suse.de>
PR tree-optimization/26672
* tree-ssa-propagate.c (set_rhs): Don't walk DEFs if not in
SSA form.
* gcc.dg/torture/pr26672.c: New testcase.
From-SVN: r112050
2006-03-14 Richard Guenther <rguenther@suse.de>
PR tree-optimization/26667
* ipa-inline.c (cgraph_check_inline_limits): Walk the correct
node for the callees. Always allow inlining if it will shrink
the function size.
From-SVN: r112049
2006-03-14 Richard Guenther <rguenther@suse.de>
PR middle-end/26659
* builtins.c (get_pointer_alignment): Prefer alignment
information from decls over that from types.
From-SVN: r112048
* config/rs6000/rs6000.opt (mdlmzb): New option.
(msched-prolog, msched-epilog): Use Var not Mask.
* doc/invoke.texi (-mdlmzb): Document.
* config/rs6000/rs6000.c (TARGET_DEFAULT_TARGET_FLAGS): Remove
MASK_SCHED_PROLOG.
(rs6000_override_options): Enable -mdlmzb for 405 and 440.
* config/rs6000/rs6000.md: Add dlmzb support for 405 and 440.
testsuite:
* gcc.target/powerpc/405-dlmzb-strlen-1.c,
gcc.target/powerpc/440-dlmzb-strlen-1.c: New tests.
From-SVN: r112040
PR middle-end/26557
* stmt.c (emit_case_nodes): Handle the case where the index is a
CONST_INT, where the comparison mode is specified by the index type.
* gcc.c-torture/compile/switch-1.c: New test case.
From-SVN: r112032
2006-03-13 Paul Thomas <pault@gcc.gnu.org>
PR fortran/25378
* trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): Set the initial position to zero and
modify the condition for updating it, to implement the F2003 requirement for all(mask)
is false.
2006-03-13 Paul Thomas <pault@gcc.gnu.org>
PR fortran/25378
* libgfortran/m4/minloc1.m4: Set the initial position to zero and modify the condition for
updating it, to implement the F2003 requirement for all(mask).eq.false.
* libgfortran/m4/maxloc1.m4: The same.
* libgfortran/m4/iforeach.m4: The same.
* libgfortran/m4/minloc0.m4: The same.
* libgfortran/m4/maxloc0.m4: The same.
* libgfortran/generated/maxloc0_16_i16.c: Regenerated, together with 41 others.
* libgfortran/generated/minloc0_16_i16.c: Regenerated, together with 41 others.
2006-03-13 Paul Thomas <pault@gcc.gnu.org>
PR fortran/25378
* gfortran.fortran-torture/execute/intrinsic_mmloc_3.f90: Expand test to include more
permuatations of mask and index.
* testsuite/gfortran.dg/scalar_mask_1.f90: Modify last test to respond to F2003 spec.
that the position returned for an all false mask && condition is zero.
From-SVN: r112028
* tree-vrp.c (stmt_interesting_for_vrp): Some statements with
virtual operands are interesting.
(vrp_visit_stmt): Corresponding changes.
* gcc.dg/tree-ssa/20030807-2.c: No longer expected to fail.
From-SVN: r112011
* config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): If
TARGET_ID_SHARED_LIBRARY, define __ID_SHARED_LIB__.
* config/bfin/crti.S: Use it instead of __PIC__.
* config/bfin/crtn.S: Likewise.
From-SVN: r112006
PR rtl-optimization/26254
* loop-invariant.c (seq_insns_valid_p): New function.
(move_invariant_reg): Only emit new code if it is valid.
From-SVN: r111998
* cfgrtl.c (last_loop_beg_note, back_edge_of_syntactic_loop_p):
Removed.
(force_nonfallthru_and_redirect): Do not use last_loop_beg_note.
(rtl_split_edge): Do not use back_edge_of_syntactic_loop_p.
(commit_one_edge_insertion): Do not look for loop notes.
From-SVN: r111997
* dependency.c (gfc_dep_compare_expr) <EXPR_OP>: Allow unary and
binary operators to compare equal if their operands are equal.
<EXPR_FUNCTION>: Allow "constant" intrinsic conversion functions
to compare equal, if their operands are equal.
* gfortran.dg/dependency_10.f90: New test case.
* gfortran.dg/dependency_11.f90: Likewise.
From-SVN: r111970