2006-05-01 Richard Guenther <rguenther@suse.de>
PR tree-optimization/26726
* tree-ssa-loop-ivopts.c (idx_find_step): Mark source of the
problem ...
(find_interesting_uses_address): ... we work around here
by folding INDIRECT_REFs in the substituted base.
* g++.dg/tree-ssa/ivopts-1.C: New testcase.
From-SVN: r113414
2006-05-01 Paolo Carlini <pcarlini@suse.de>
* acinclude.m4 (GLIBCXX_ENABLE_WCHAR_T): Always check the
presence of wctype.h, for use in GLIBCXX_ENABLE_C99.
* configure: Regenerate.
From-SVN: r113413
PR c++/27278
* decl.c (grok_op_properties): Skip operators with invalid args
when checking for class-type or enum-type args.
* g++.dg/parse/operator7.C: New test.
From-SVN: r113389
2006-04-29 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.tcc (num_get<>::_M_extract_float):
Special case main parsing loop for !_M_allocated (i.e., "C" locale).
(num_get<>::_M_extract_int): Likewise.
* include/bits/locale_facets.h (num_get<>::_M_find): New.
From-SVN: r113377
PR fortran/25681
* simplify.c (simplify_len): Character variables with constant
length can be simplified.
* gfortran.df/char_type_len.f90: New test.
From-SVN: r113376
2006-04-28 Bryce McKinlay <mckinlay@redhat.com>
* link.cc (_Jv_Linker::resolve_pool_entry): Don't pass vtable_index
to resolve_method.
* interpret.cc (insn_invokevirtual): Use method->index, not
vtable_index. Check accflag FINAL to determine finals. Only do
explicit null check if calling a final method. Use
throw_null_pointer_exception.
(invokevirtual_resolved): Likewise.
(null_pointer_exc): Remove static field.
(throw_null_pointer_exception): Always define. Throw a new
NullPointerException every time.
* include/java-interp.h (_Jv_ResolvedMethod): Remove vtable_index
field.
* include/execution.h (resolve_method): Remove vtable_index argument.
From-SVN: r113370
PR c/25309
* c-typeck.c (struct spelling): Make I an unsigned HOST_WIDE_INT.
(push_array_bounds): Delete prototype. Change BOUNDS argument to
an unsigned HOST_WIDE_INT.
(print_spelling): Use HOST_WIDE_INT_PRINT_UNSIGNED to output the
array index.
(really_start_incremental_init): No need to call convert because
bitsize_zero_node is already of type bitsizetype.
(push_init_level): Extract the value of constructor_index as an
unsigned HOST_WIDE_INT quantity, using tree_low_cst.
(process_init_element): Likewise.
* gcc.dg/large-size-array-2.c: New test case.
From-SVN: r113355
2006-04-28 Andreas Tobler <a.tobler@schweiz.ch>
* configure.ac: Add an additional checks for dladdr and dlopen on dld.
* configure: Rebuilt.
From-SVN: r113323
2006-04-27 Andrew MacLeod <amacleod@redhat.com>
PR tree-optimization/26854
* tree-vrp.c (remove_range_assertions): Use new Immuse iterator.
* doc/tree-ssa.texi: Update immuse iterator documentation.
* tree-ssa-math-opts.c (execute_cse_reciprocals_1): Use new iterator.
* tree-ssa-dom.c (propagate_rhs_into_lhs): Use new iterator.
* tree-flow-inline.h (end_safe_imm_use_traverse, end_safe_imm_use_p,
first_safe_imm_use, next_safe_imm_use): Remove.
(end_imm_use_stmt_p): New. Check for end of immuse stmt traversal.
(end_imm_use_stmt_traverse): New. Terminate immuse stmt traversal.
(move_use_after_head): New. Helper function to sort immuses in a stmt.
(link_use_stmts_after): New. Link all immuses in a stmt consescutively.
(first_imm_use_stmt): New. Get first stmt in an immuse list.
(next_imm_use_stmt): New. Get next stmt in an immuse list.
(first_imm_use_on_stmt): New. Get first immuse on a stmt.
(end_imm_use_on_stmt_p): New. Check for end of immuses on a stmt.
(next_imm_use_on_stmt): New. Move to next immuse on a stmt.
* tree-ssa-forwprop.c (forward_propagate_addr_expr): Use new iterator.
* lambda-code.c (lambda_loopnest_to_gcc_loopnest): Use new iterator.
(perfect_nestify): Use new iterator.
* tree-vect-transform.c (vect_create_epilog_for_reduction): Use new
iterator.
* tree-flow.h (struct immediate_use_iterator_d): Add comments.
(next_imm_name): New field in struct immediate_use_iterator_d.
(FOR_EACH_IMM_USE_SAFE, BREAK_FROM_SAFE_IMM_USE): Remove.
(FOR_EACH_IMM_USE_STMT, BREAK_FROM_IMM_USE_STMT,
FOR_EACH_IMM_USE_ON_STMT): New immediate use iterator macros.
* tree-cfg.c (replace_uses_by): Use new iterator.
* tree-ssa-threadedge.c (lhs_of_dominating_assert): Use new iterator.
* tree-ssa-operands.c (correct_use_link): Remove.
(finalize_ssa_use_ops): No longer call correct_use_link.
From-SVN: r113321
* config/rs6000/t-darwin (DARWIN_EXTRA_CRT_BUILD_CFLAGS): New.
* config/t-darwin (crt3.o): Use it.
* config/rs6000/rs6000.c (rs6000_initialize_trampoline): Remove
'pmode', use Pmode instead of SImode for SYMBOL_REF.
* config/rs6000/rs6000.md (call_indirect_nonlocal_sysv,
call_nonlocal_sysv, call_value_indirect_nonlocal_sysv,
call_value_nonlocal_sysv): Suffix with the "P" macro for 32/64
support.
From-SVN: r113319
* expmed.c (store_fixed_bit_field): If we're not optimizing for
size, force the intermediate into a new pseudo rather instead of
performing both a bitwise AND and a bitwise IOR in memory.
From-SVN: r113318
2006-04-27 Richard Guenther <rguenther@suse.de>
PR rtl-optimization/26685
* params.def (PARAM_MAX_CSE_INSNS): Correct typo that named
this one "max-flow-memory-locations".
From-SVN: r113300
2006-04-27 Richard Guenther <rguenther@suse.de>
PR tree-optimization/25148
* tree-vrp.c (compare_values): Remove code dealing with
comparisons against type min/max value. Honour overflow
and negative constants in code dealing with comparisons
of plus and minus expressions.
(value_inside_range): Use fold_binary with LE_EXPR and
GE_EXPR rather than compare_values.
From-SVN: r113298
2006-04-27 Dirk Mueller <dmueller@suse.de>
* config/i386/xmmintrin.h (_mm_shuffle_pi16): make available
for SSE.
* testsuite/gcc.target/i386/sse-7.c: build with -msse.
From-SVN: r113297
2006-04-26 H.J. Lu <hongjiu.lu@intel.com>
PR testsuite/27274:
* gcc.target/i386/sse-9.c: Include "../../gcc.dg/i386-cpuid.h".
(main): Exit if processor doesn't support SSE.
From-SVN: r113296