PR tree-optimization/29581
* lambda-code.c (replace_uses_equiv_to_x_with_y): Add YINIT,
REPLACEMENTS, FIRSTBSI arguments. If initial condition or
type is different between Y and USE, create a temporary
variable, initialize it at the beginning of the body bb
and use it as replacement instead of Y.
* gcc.dg/pr29581-1.c: New test.
* gcc.dg/pr29581-2.c: New test.
* gcc.dg/pr29581-3.c: New test.
* gcc.dg/pr29581-4.c: New test.
* gfortran.dg/pr29581.f90: New test.
From-SVN: r118848
2006-11-15 Paolo Bonzini <bonzini@gnu.org>
PR middle-end/29753
* gimplify.c (fold_indirect_ref_rhs): Use
STRIP_USELESS_TYPE_CONVERSION rather than STRIP_NOPS.
From-SVN: r118845
2006-11-15 Bud Davis <bdavis9659@sbcglobal.net>
PR fortran/28974
* gfortran.h (gfc_expr): Add element which holds a splay-tree
for the exclusive purpose of quick access to a constructor by
offset.
* data.c (find_con_by_offset): Use the splay tree for the search.
(gfc_assign_data_value): Use the splay tree.
(gfc_assign_data_value_range): ditto.
* expr.c (gfc_get_expr): Initialize new element to null.
(gfc_free_expr): Delete splay tree when deleting gfc_expr.
From-SVN: r118844
* gfortran.h (GFC_MAX_LINE): Remove constant definition.
(gfc_option_t): Clarify comments.
* options.c: Set default line length limits to actual default
values, rather than flag values.
* scanner.c: Eliminate checking and handling of the
fixed/free_line_length flag values.
From-SVN: r118842
* expmed.c (emit_store_flag_1): New function.
(emit_store_flag): Call it. If we can't find a suitable scc insn,
try a cstore insn.
* expr.c (do_store_flag): If we can't find a scc insn, try cstore.
Use do_compare_rtx_and_jump.
* arm.h (BRANCH_COST): Increase to 2 on Thumb.
* arm.md (cstoresi4): New define_expand.
(cstoresi_eq0_thumb, cstoresi_ne0_thumb): Likewise.
(cstoresi_eq0_thumb_insn, cstore_ne0_thumb_insn): New patterns.
(cstoresi_nltu_thumb, thumb_addsi3_addgeu): New patterns.
From-SVN: r118829
2006-11-14 Richard Guenther <rguenther@suse.de>
* gcc.target/i386/math-torture/math-torture.exp: Restrict
to i?86 and x86_64 targets.
From-SVN: r118827
* config/arm/arm.h (FUNCTION_ARG_ADVANCE): Only adjust
iwmmxt_nregs if TARGET_IWMMXT_ABI.
* config/arm/iwmmxt.md (movv8qi_internal, movv4hi_internal,
movv2si_internal): Support moves between core registers.
From-SVN: r118825
2006-11-14 Paolo Bonzini <bonzini@gnu.org>
* Makefile.tpl (clean-stage*): Test separately for package/Makefile
and stageN-package/Makefile.
* Makefile.in: Regenerated.
From-SVN: r118810
2006-11-13 Andrew Pinski <andrew_pinski@playstation.sony.com>
* config/rs6000/cell.md: New file.
* config/rs6000/rs6000.c (rs6000_cell_dont_microcode): New
variable.
(ppccell_cost): New cost matrix.
(TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): Define.
(rs6000_override_options): Set rs6000_always_hint to false
for cell. Also align functions/lables/loops to 8byte
for the Cell. Use PROCESSOR_CELL.
(rs6000_emit_epilogue): Rename using_mfcr_multiple to
using_mtcr_multiple.
(rs6000_variable_issue): If the insn is a nonpipelined instruction
on the Cell, return 0.
(rs6000_adjust_cost): Add Cell cost adjustments.
(is_microcoded_insn): Return true for Cell microcoded
instructions.
(is_nonpipeline_insn): New function.
(rs6000_issue_rate): Add PROCESSOR_CELL.
(rs6000_use_sched_lookahead): If Cell, then we should look ahead 8
instructions.
(rs6000_use_sched_lookahead_guard): New function.
(rs6000_sched_reorder): Reorder the ready list, if the second
to last ready insn is a nonepipeline insn on the Cell.
* config/rs6000/rs6000.h (processor_type): Add PROCESSOR_CELL.
(ASM_CPU_SPEC): Add Cell.
* config/rs6000/rs6000.md (cpu): Add Cell.
(cell_micro): New Attr.
Include cell.md
From-SVN: r118776
PR c++/29518
* pt.c (coerce_template_parms): Do not skip_evaluation while
substituting template arguments.
PR c++/29518
* g++.dg/template/static28.C: New test.
From-SVN: r118768
PR c++/29518
* pt.c (coerce_template_parms): Do not skip_evaluation while
substituting template arguments.
PR c++/29518
* g++.dg/template/static28.C: New test.
From-SVN: r118767
gcc/
2006-11-13 Carlos O'Donell <carlos@codesourcery.com>
Mark Mitchell <mark@codesourcery.com>
* gcc.c: Organize search path variables into $prefix relative,
and well-known native. Add comments.
(add_sysrooted_prefix): Add comment.
(process_command): If !gcc_exec_prefix add $prefix based paths.
If *cross_compile == '0', add native well-known paths.
Assert tooldir_base_prefix is always relative.
(main): If print_search_dirs, and if gcc_exec_prefix is set,
use this value for 'install:' path.
* Makefile.in: Add GCC_EXEC_PREFIX to generated site.exp.
gcc/testsuite/
2006-11-13 Carlos O'Donell <carlos@codesourcery.com>
* lib/c-torture.exp: Use target-libpath.exp.
* lib/target-libpath.exp (set_ld_library_path_env_vars): If present,
set GCC_EXEC_PREFIX env var from global variable of same name.
Co-Authored-By: Mark Mitchell <mark@codesourcery.com>
From-SVN: r118765
2006-11-12 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR fortran/26994
* gfortran.fortran-torture/compile/transfer-1.f90:
New testcase.
2006-11-12 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR fortran/26994
* trans-expr.c (gfc_conv_expr_reference): Set TREE_STATIC on the
new CONST_DECL.
From-SVN: r118761
2006-11-12 Daniel Berlin <dberlin@dberlin.org>
Fix PR tree-optimization/29587
* tree-ssa-structalias.c (process_constraint): Don't
mark address taken due only to escaped vars constraint.
From-SVN: r118742
2006-11-12 Michael Matz <matz@suse.de>
Roger Sayle <roger@eyesopen.com>
PR rtl-optimization/29797
* ifcvt.c (noce_try_bitop): Correct calculation of bitnum on
BITS_BIG_ENDIAN targets.
* gcc.c-torture/execute/pr29797-1.c: New test case.
From-SVN: r118740