Age | Commit message (Collapse) | Author | Files | Lines |
|
* 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
|
|
defined.
Add ability to generate DWARF pubtypes section if DEBUG_PUBTYPES_SECTION
is defined. Also add dejagnu testcases for pubtypes.
From-SVN: r118826
|
|
* 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 Eric Christopher <echristo@apple.com>
* configure: Regenerate with autoconf 2.59.
From-SVN: r118823
|
|
2006-11-14 Daniel Berlin <dberlin@dberlin.org>
Fix PR tree-optimization/27755
* tree-ssa-pre.c: Update comments.
(bb_bitmap_sets): Add pa_in and deferred member.
(BB_DEFERRED): New macro.
(maximal_set): New variable.
(pre_stats): Add pa_insert member.
(bitmap_set_and): Short circuit orig == dest.
(bitmap_set_subtract_values): New function.
(bitmap_set_contains_expr): Ditto.
(translate_vuses_through_block): Add phiblock argument.
(dependent_clean): New function.
(compute_antic_aux): Update for maximal_set changes.
(compute_partial_antic_aux): New function.
(compute_antic): Handle partial anticipation.
(do_partial_partial_insertion): New function.
(insert_aux): Handle partial anticipation.
(add_to_sets): Add to maximal set.
(compute_avail): Ditto.
(init_pre): Initialize maximal_set.
(execute_pre): Do partial anticipation if -O3+.
From-SVN: r118821
|
|
2006-11-14 Tobias Burnus <burnus@net-b.de>
* match.c (gfc_match_namelist): Add missing space to
error message.
From-SVN: r118820
|
|
compile)
PR c++/29106
* g++.dg/init/self1.C: New test.
From-SVN: r118819
|
|
fortran/
2006-11-14 Tobias Burnus <burnus@net-b.de>
PR fortran/29657
* symbol.c (check_conflict): Add further conflicts.
testsuite/
2006-11-14 Tobias Burnus <burnus@net-b.de>
PR fortran/29657
* gfortran.dg/conflicts.f90: Add.
From-SVN: r118812
|
|
2006-11-14 Paolo Bonzini <bonzini@gnu.org>
PR rtl-optimization/29798
* fwprop.c (use_killed_between): Check that DEF_INSN dominates
TARGET_INSN before any other check.
(fwprop_init): Always calculate dominators.
(fwprop_done): Always free them.
2006-11-14 Paolo Bonzini <bonzini@gnu.org>
PR rtl-optimization/29798
* gcc.c-torture/execute/pr29798.c: New.
From-SVN: r118808
|
|
* fold-const.c (fold_strip_sign_ops): Handle COMPOUND_EXPR and
COND_EXPR.
testsuite:
* gcc.dg/builtins-20.c: Add more cases.
From-SVN: r118802
|
|
* config/m32c/m32c.c (m32c_prepare_shift): Use a separate
temporary for intermediates.
From-SVN: r118798
|
|
From-SVN: r118791
|
|
info initializer has the correct type.
* rtti.c (get_pseudo_ti_init): Ensure that the offset field of the
base type info initializer has the correct type.
From-SVN: r118785
|
|
* config/sh/sh.c (expand_cbranchdi4): Initialize skip_label.
(sh_optimize_target_register_callee_saved): #if 0 the code
using NOTE_INSN_LOOP_{BEG,END}.
From-SVN: r118784
|
|
simplifying non-constant comparisons between bit-fields.
* fold-const.c (optimize_bit_field_compare): Recursively call
fold when simplifying non-constant comparisons between bit-fields.
From-SVN: r118783
|
|
* configure.ac: Add changequote around __LONG_DOUBLE_MATH_OPTIONAL
test.
* configure: Rebuilt.
From-SVN: r118780
|
|
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
|
|
versions.
* configure.ac (ld_vers): Parse GNU ld version 2.17.50.0.3-6 20060715
style versions.
* configure: Rebuilt.
From-SVN: r118775
|
|
(gfc_next_char_literal, at fortran/scanner.c:701))
PR fortran/29759
* fortran/scanner.c (skip_free_comments): Clear openmp_flag
before returning true.
* gfortran.dg/gomp/pr29759.f90: New test.
From-SVN: r118773
|
|
'declaration' (var_decl) in build_vector, at tree.c:973)
2006-11-12 Jason Merrill <jason@redhat.com>
Andrew Pinski <pinskia@physics.uc.edu>
PR middle-end/28915
* gcc.target/i386/vectorize1.c: New.
From-SVN: r118771
|
|
2006-11-13 Richard Guenther <rguenther@suse.de>
* config/i386/i386.c (ix86_expand_lround): Handle expand_simple_binop
return value.
(ix86_expand_lfloorceil): Likewise.
(ix86_expand_rint): Likewise.
(ix86_expand_floorceildf_32): Likewise.
(ix86_expand_floorceil): Likewise.
(ix86_expand_rounddf_32): Likewise.
(ix86_expand_truncdf_32): Likewise.
(ix86_expand_round): Likewise.
From-SVN: r118769
|
|
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
|
|
native.
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-13 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/i386.c: Fix a typo in comment.
From-SVN: r118764
|
|
From-SVN: r118762
|
|
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
|
|
but not __GXX_MERGED_TYPEINFO_NAMES.
gcc:
* config/arm/bpapi.h (TARGET_BPABI_CPP_BUILTINS): Define
__GXX_TYPEINFO_EQUALITY_INLINE but not
__GXX_MERGED_TYPEINFO_NAMES.
* config/arm/symbian.h (TARGET_OS_CPP_BUILTINS): Define
__GXX_MERGED_TYPEINFO_NAMES.
* config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Define
__GXX_TYPEINFO_EQUALITY_INLINE.
libstdc++-v3:
* libsupc++/typeinfo (__GXX_TYPEINFO_EQUALITY_INLINE): Define.
Use instead of __GXX_MERGED_TYPEINFO_NAMES to condition inline
definitions.
* libsupc++/tinfo.cc (operator==): Condition on
__GXX_TYPEINFO_EQUALITY_INLINE; check __GXX_MERGED_TYPEINFO_NAMES
to determine algorithm.
* libsupc++/tinfo2.cc (type_info::before): Likewise.
From-SVN: r118755
|
|
PR tree-optimization/29680
* tree-ssa-operands.c (access_can_touch_variable): Revert fix for
PR 14784.
* gcc.dg/alias-11.c: New test.
Co-Authored-By: Zdenek Dvorak <dvorakz@suse.cz>
From-SVN: r118754
|
|
'declaration' (var_decl) in build_vector, at tree.c:973)
PR middle-end/28915
* gimplify.c (gimplify_init_constructor): Don't reduce TREE_CONSTANT
vector ctors.
* tree-cfg.c (verify_expr): Don't look into TREE_CONSTANT
vector ctors.
* expmed.c (make_tree): Handle CONST, SYMBOL_REF.
* tree.c (build_vector): Handle non-_CST elements.
Co-Authored-By: Andrew Pinski <pinskia@physics.uc.edu>
From-SVN: r118747
|
|
multiple insns.
* genemit.c (gen_insn): Call gen_exp with a non-null used
when handling multiple insns.
(gen_expand): Likewise.
* reorg.c (emit_delay_sequence): Copy the delay slot insn.
* config/sh/sh.md (ashrsi2_31+1): Copy operands[0].
(movsi_const_16bit+1): Copy operands[1].
(call_pcrel): Copy the call_site pattern.
(call_value_pcrel, sibcall_pcrel, GOTaddr2picreg): Likewise.
From-SVN: r118746
|
|
From-SVN: r118745
|
|
* fold-const.c (negate_expr_p) <PLUS_EXPR, MINUS_EXPR>: Correct/refine
condition for transformations. Use !HONOR_SIGN_DEPENDENT_ROUNDING
&& !HONOR_SIGNED_ZEROS instead of flag_unsafe_math_optimizations.
(fold_negate_expr) <PLUS_EXPR, MINUS_EXPR>: Likewise.
From-SVN: r118744
|
|
708630224 bytes)
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
|
|
From-SVN: r118738
|
|
* builtins.c (fold_builtin_cosh): New.
(fold_builtin_1): Use it.
* fold-const.c (negate_mathfn_p): Add llround, lround, round,
trunc to the list of "odd" functions. Also add llrint, lrint,
rint and nearbyint when flag_rounding_math is false.
testsuite:
* gcc.dg/torture/builtin-symmetric-1.c: Add more cases.
From-SVN: r118733
|
|
* tree-flow.h (name_mappings_registered_p): Declare.
* tree-into-ssa.c (name_mappings_registered_p): New function.
* tree-cfg.c (tree_can_merge_blocks_p): Check
name_mappings_registered_p instead of need_ssa_update_p.
From-SVN: r118732
|
|
* tree-ssa-loop.c (tree_vectorize): Return the result of
vectorize_loops.
* tree-vectorizer.c (vectorize_loops): Return TODO_cleanup_cfg
if anything changed.
* tree-vectorizer.h (vectorize_loops): Declaration removed.
* tree-flow.h (vectorize_loops): Declaration changed.
From-SVN: r118731
|
|
* tree-ssa-loop-prefetch.c (schedule_prefetches): Cleanup and improve
comments.
(issue_prefetch_ref): Move assignment to write_p out of loop.
(determine_unroll_factor): Do not take PARAM_MAX_UNROLL_TIMES and
SIMULTANEOUS_PREFETCHES into account.
(loop_prefetch_arrays): Do not pass ahead to determine_unroll_factor.
* lambda-code.c (lcm): Renamed to ...
(least_common_multiple): ... and exported.
* tree-flow.h (least_common_multiple): Declare.
From-SVN: r118730
|
|
* Makefile.in (tree-data-ref.o): Add langhooks.h dependency.
* tree-ssa-loop-niter.c (derive_constant_upper_bound): Follow
ud-chains. Handle AND_EXPR.
(record_estimate): Record whether the estimate is realistic
and whether it is derived from a loop exit.
(record_nonwrapping_iv, idx_infer_loop_bounds, infer_loop_bounds_from_ref,
infer_loop_bounds_from_array, infer_loop_bounds_from_signedness): New
functions.
(compute_estimated_nb_iterations): Take only realistic bounds into
account. Set estimate_state. Use double_ints.
(infer_loop_bounds_from_undefined): Call infer_loop_bounds_from_array
and infer_loop_bounds_from_signedness. Do not consider basic blocks
that do not have to be always executed.
(estimate_numbers_of_iterations_loop): Set estimate_state, and use it
to determine whether to call infer_loop_bounds_from_undefined
and compute_estimated_nb_iterations.
(n_of_executions_at_most): Use double_ints.
(free_numbers_of_iterations_estimates_loop): Set estimate_state.
(substitute_in_loop_info): Do not replace in estimated_nb_iterations.
* double-int.c (double_int_to_tree): Improve comment.
(double_int_fits_to_tree_p): New function.
* double-int.h (double_int_fits_to_tree_p): Declare.
* tree-data-ref.c: Include langhooks.h.
(estimate_niter_from_size_of_data, estimate_iters_using_array): Removed.
(analyze_array_indexes): Do not call estimate_niter_from_size_of_data.
(analyze_array): Do not pass estimate_only argument to
analyze_array_indexes.
(get_number_of_iters_for_loop): Build tree from the stored double_int
value.
(get_references_in_stmt, find_data_references_in_stmt): New functions.
(find_data_references_in_loop): Use find_data_references_in_stmt.
* tree-data-ref.h (struct data_ref_loc_d): New.
(get_references_in_stmt): Declare.
(estimate_iters_using_array): Declaration removed.
* cfgloop.h (struct nb_iter_bound): Change type of bound to
double_int. Improve comments. Add is_exit and realistic
fields.
(struct loop): Changed type of estimated_nb_iterations to double_int.
Added estimate_state field.
(record_estimate): Declaration removed.
From-SVN: r118729
|
|
* params.c (set_param_value): Initialize the "set" field.
* params.h (struct param_info): Add "set" field.
(PARAM_SET_P): New macro.
(PREFETCH_LATENCY, SIMULTANEOUS_PREFETCHES, L1_CACHE_SIZE,
L1_CACHE_LINE_SIZE): New macros.
* toplev.c (DEFPARAM): Initialize the "set" field.
* tree-ssa-loop-prefetch.c (PREFETCH_LATENCY,
SIMULTANEOUS_PREFETCHES): Removed.
(PREFETCH_BLOCK): Use L1_CACHE_LINE_SIZE.
(tree_ssa_prefetch_arrays): Dump the values of the parameters.
* config/sparc/sparc.c: Include params.h.
(sparc_override_options): Set SIMULTANEOUS_PREFETCHES and
L1_CACHE_LINE_SIZE parameters.
* config/sparc/sparc.h (PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES):
Removed.
* config/i386/i386.h (PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES):
Removed.
* config/i386/i386.c: Include params.h.
(k8_cost): Change default value for SIMULTANEOUS_PREFETCHES.
(override_options): Set SIMULTANEOUS_PREFETCHES and
L1_CACHE_LINE_SIZE parameters.
* config/sh/sh.h (SIMULTANEOUS_PREFETCHES): Removed.
(OPTIMIZATION_OPTIONS): Set SIMULTANEOUS_PREFETCHES and
L1_CACHE_LINE_SIZE parameters.
* config/ia64/ia64.c (ia64_optimization_options): Set
SIMULTANEOUS_PREFETCHES and L1_CACHE_LINE_SIZE parameters.
* config/ia64/ia64.h (SIMULTANEOUS_PREFETCHES, PREFETCH_BLOCK):
Removed.
* params.def (PARAM_PREFETCH_LATENCY, PARAM_SIMULTANEOUS_PREFETCHES,
PARAM_L1_CACHE_SIZE, PARAM_L1_CACHE_LINE_SIZE): New params.
* doc/invoke.texi: Document new params.
From-SVN: r118728
|
|
((a^c) & b) !=0)
PR tree-optimization/13827
* fold-const.c (fold_binary) <EQ_EXPR, NE_EXPR>: Fold (X&C) op (Y&C)
as ((X^Y)&C) op 0.
* gcc.dg/fold-eqand-1.c: New test case.
From-SVN: r118727
|
|
* cfgloopmanip.c (update_single_exit_for_duplicated_loop,
update_single_exit_for_duplicated_loops): New functions.
(duplicate_loop_to_header_edge): Use
update_single_exit_for_duplicated_loops.
* tree-ssa-loop-manip.c (tree_unroll_loop): Call verification
functions only with ENABLE_CHECKING.
From-SVN: r118726
|
|
PR java/29805
* typeck.c (build_java_array_type): Increase buffer sizes.
From-SVN: r118724
|
|
From-SVN: r118723
|
|
From-SVN: r118721
|
|
* fold-const.c (int_binop_types_match_p): New function.
(size_binop): Relax constraint that both arguments must both have
exactly the same sizetype type. Instead use int_binop_types_match_p.
(size_diffop): Likewise.
(make_range): Use build_int_cst instead of fold_convert.
(fold_cond_expr_with_comparison): Use build_int_cst to construct
integer constants of the correct type.
(fold_div_compare): Likewise.
(fold_single_bit_test): Likewise.
(fold_binary): Likewise.
* stor-layout.c (layout_type) <VECTOR_TYPE>: Ensure that TYPE_SIZE
has type bitsizetype and TYPE_SIZE_UNIT has type sizetype.
From-SVN: r118718
|
|
2006-11-11 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR rtl-opt/28812
* alias.c (fixed_scalar_and_varying_struct_p): Don't return a
non null value if the struct memory access is in the 0th
aliasing set.
2006-11-11 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR rtl-opt/28812
* gcc.c-torture/execute/mayalias-3.c: New test.
From-SVN: r118716
|