Age | Commit message (Collapse) | Author | Files | Lines |
|
element size if...
2007-04-12 Richard Guenther <rguenther@suse.de>
* tree-pretty-print.c (dump_generic_node): Print ARRAY_REF
lower bound and element size if lower bound is not zero
or either of the ARRAY_REF operands is set.
From-SVN: r123738
|
|
2007-04-12 Richard Guenther <rguenther@suse.de>
PR tree-optimization/31169
* gcc.c-torture/execute/pr31169.c: New testcase.
From-SVN: r123737
|
|
equivalent ARRAY_REF)
2007-04-12 Richard Guenther <rguenther@suse.de>
PR tree-optimization/24689
PR tree-optimization/31307
* fold-const.c (operand_equal_p): Compare INTEGER_CST array
indices by value.
* gimplify.c (canonicalize_addr_expr): To be consistent with
gimplify_compound_lval only set operands two and three of
ARRAY_REFs if they are not gimple_min_invariant. This makes
it never at this place.
* tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Likewise.
* g++.dg/tree-ssa/pr31307.C: New testcase.
* gcc.dg/tree-ssa/pr24689.c: Likewise.
From-SVN: r123736
|
|
specification in a program, subroutine, or function)
2007-04-12 Tobias Burnus <burnus@net-b.de>
PR fortran/31472
* decl.c (match_attr_spec): Allow PRIVATE/PUBLIC
attribute in type definitions.
(gfc_match_private): Allow PRIVATE statement only
in specification part of modules.
(gfc_match_public): Ditto for PUBLIC.
(gfc_match_derived_decl): Allow PRIVATE/PUBLIC attribute only in
specificification part of modules.
2007-04-12 Tobias Burnus <burnus@net-b.de>
PR fortran/31472
* gfortran.dg/access_spec_1.f90: New test.
* gfortran.dg/access_spec_2.f90: New test.
* gfortran.dg/non_module_public.f90: Match new error message.
From-SVN: r123735
|
|
before emitting a .nsubspa directive.
* pa.c (pa_som_asm_init_sections): Ensure that cfun->machine is not
null before emitting a .nsubspa directive.
From-SVN: r123733
|
|
there are no memory statements in the function.
* tree-ssa-alias.c (dump_mem_ref_stats): Do not call
need_to_partition_p if there are no memory statements in the
function.
From-SVN: r123732
|
|
* tree-data-ref.c (chrec_steps_divide_constant_p): Removed.
(gcd_of_steps_may_divide_p): New function.
(analyze_miv_subscript): Use gcd_of_steps_may_divide_p.
From-SVN: r123731
|
|
From-SVN: r123729
|
|
2007-04-11 Paul Thomas <pault@gcc.gnu.org>
PR testsuite/31538
* gfortran.dg/result_in_spec_1.f90: Increase dimension from 2
to 4 at line 38 to fix bounds problem.
From-SVN: r123725
|
|
* reload.c (find_reloads_toplev, find_reloads_address,
find_reloads_address_1, find_reloads_subreg_address): Use rtx_equal_p,
not a pointer equality test, to decide if we need to call
push_reg_equiv_alt_mem.
From-SVN: r123724
|
|
* tree-data-ref.c (affine_function_zero_p, constant_access_functions,
insert_innermost_unit_dist_vector, add_distance_for_zero_overlaps): New.
(build_classic_dist_vector): Call add_distance_for_zero_overlaps.
From-SVN: r123721
|
|
be positive.
* tree-data-ref.c (add_multivariate_self_dist): Force the distance
vector to be positive.
From-SVN: r123720
|
|
PR 30735
PR 31090
* doc/invoke.texi: Document --params max-aliased-vops and
avg-aliased-vops.
* tree-ssa-operands.h (get_mpt_for, dump_memory_partitions,
debug_memory_partitions): Move to tree-flow.h
* params.h (AVG_ALIASED_VOPS): Define.
* tree-ssa-alias.c (struct mp_info_def): Remove. Update all
users.
(mp_info_t): Likewise.
(get_mem_sym_stats_for): New.
(set_memory_partition): Move from tree-flow-inline.h.
(mark_non_addressable): Only clear the set of symbols for the
partition if it exists.
(dump_memory_partitions): Move from tree-ssa-operands.c
(debug_memory_partitions): Likewise.
(need_to_partition_p): New.
(dump_mem_ref_stats): New.
(debug_mem_ref_stats): New.
(dump_mem_sym_stats): New.
(debug_mem_sym_stats): New.
(update_mem_sym_stats_from_stmt): New.
(compare_mp_info_entries): New.
(mp_info_cmp): Call it.
(sort_mp_info): Change argument to a list of mem_sym_stats_t
objects.
(get_mpt_for): Move from tree-ssa-operands.c.
(find_partition_for): New.
(create_partition_for): Remove.
(estimate_vop_reduction): New.
(update_reference_counts): New.
(build_mp_info): New.
(compute_memory_partitions): Refactor.
Document new heuristic.
Call build_mp_info, update_reference_counts,
find_partition_for and estimate_vop_reduction.
(compute_may_aliases): Populate virtual operands before
calling debugging dumps.
(delete_mem_sym_stats): New.
(delete_mem_ref_stats): New.
(init_mem_ref_stats): New.
(init_alias_info): Call it.
(maybe_create_global_var): Remove alias_info argument.
Get number of call sites and number of pure/const call sites
from gimple_mem_ref_stats().
(dump_alias_info): Call dump_memory_partitions first.
(dump_points_to_info_for): Show how many times a pointer has
been dereferenced.
* opts.c (decode_options): For -O2 set --param
max-aliased-vops to 500.
For -O3 set --param max-aliased-vops to 1000 and --param
avg-aliased-vops to 3.
* fortran/options.c (gfc_init_options): Remove assignment to
MAX_ALIASED_VOPS.
* tree-flow-inline.h (gimple_mem_ref_stats): New.
* tree-dfa.c (dump_variable): Dump memory reference
statistics.
Dump NO_ALIAS* settings.
(referenced_var_lookup): Tidy.
(mem_sym_stats): New.
* tree-ssa-copy.c (may_propagate_copy): Return true if DEST
and ORIG are different SSA names for a memory partition.
* tree-ssa.c (delete_tree_ssa): Call delete_mem_ref_stats.
* tree-flow.h (struct mem_sym_stats_d): Define.
(mem_sym_stats_t): Define.
(struct mem_ref_stats_d): Define.
(struct gimple_df): Add field mem_ref_stats.
(enum noalias_state): Define.
(struct var_ann_d): Add bitfield noalias_state.
(mem_sym_stats, delete_mem_ref_stats, dump_mem_ref_stats,
debug_mem_ref_stats, debug_memory_partitions,
debug_mem_sym_stats): Declare.
* tree-ssa-structalias.c (update_alias_info): Update call
sites, pure/const call sites and asm sites in structure
returned by gimple_mem_ref_stats.
Remove local variable IS_POTENTIAL_DEREF.
Increase NUM_DEREFS if the memory expression is a potential
dereference.
Call update_mem_sym_stats_from_stmt.
If the memory references memory, call
update_mem_sym_stats_from_stmt for all the direct memory
symbol references found.
(intra_create_variable_infos): Set noalias_state field for
pointer arguments according to the value of
flag_argument_noalias.
* tree-ssa-structalias.h (struct alias_info): Remove fields
num_calls_found and num_pure_const_calls_found.
(update_mem_sym_stats_from_stmt): Declare.
* params.def (PARAM_MAX_ALIASED_VOPS): Change description.
Set default value to 100.
(PARAM_AVG_ALIASED_VOPS): Define.
From-SVN: r123719
|
|
when followed by an addition)
2007-04-11 Richard Guenther <rguenther@suse.de>
PR middle-end/31530
* simplify-rtx.c (simplify_binary_operation_1): Do not simplify
a * -b + c as c - a * b if we honor sign dependent rounding.
From-SVN: r123715
|
|
* config/bfin/bfin-protos.h (bfin_expand_movmem): Renamed from
bfin_expand_strmov.
* config/bfin/bfin.c (bfin_expand_prologue, bfin_delegitimize_address,
bfin_function_ok_for_sibcall, split_load_immediate): Remove unused
variables.
(initialize_trampoline): Don't use old-style function definition.
(bfin_secondary_reload): Mark IN_P argument as unused.
From-SVN: r123714
|
|
2007-04-11 Tobias Burnus <burnus@net-b.de>
PR testsuite/31240
* gfortran.dg/pointer_intent_1.f90: Fix test.
From-SVN: r123712
|
|
not processing template_decl.
* cp/class.c (convert_to_base_statically): Fold produced tree; verify
that we are not processing template_decl.
From-SVN: r123711
|
|
PR tree-optimization/31343
* tree-chrec.h (chrec_zerop): Moved before build_polynomial_chrec.
(build_polynomial_chrec): Return a scalar when the evolution is zero.
* testsuite/gcc.dg/vect/pr31343.c: New.
From-SVN: r123708
|
|
From-SVN: r123706
|
|
* lib/target-supports.exp
(check_effective_target_fstack_protector): Rewrite.
From-SVN: r123702
|
|
From-SVN: r123701
|
|
2007-04-10 Eric Christopher <echristo@apple.com>
* config/i386/i386.h (X87_FLOAT_MODE_P): New.
* config/i386/i386.md (*cmpfp0): Use.
(*cmpfp_u, *cmpfp_<mode>, *cmpfp_i_i387): Ditto.
(*cmpfp_iu_387, fix_trunc<mode>_fisttp_i386_1): Ditto.
(fix_trunc<mode>_i386_fisttp): Ditto.
(fix_trunc<mode>_i387_fisttp_with_temp): Ditto.
(*fix_trunc<mode>_i387_1, fix_truncdi_i387): Ditto.
(fix_truncdi_i387_with_temp, fix_trunc<mode>_i387): Ditto.
(fix_trunc<mode>_i387_with_temp, *fp_jcc_1_387): Ditto.
(*fp_jcc_2_387, *fp_jcc_5_387, *fp_jcc_6_387): Ditto.
(*fp_jcc_7_387, *fp_jcc_8<mode>_387): Ditto.
(unnamed_splitters): Ditto.
* config/i386/i386.c (output_fix_trunc): Assert that
we're not being passed a TFmode operand.
From-SVN: r123700
|
|
PR tree-optimization/31526
* tree-inline.c (copy_cfg_body): Use last_basic_block instead of
n_basic_blocks to find newly added blocks.
From-SVN: r123699
|
|
* config/i386/i386.md (fix_trunc<mode>di_sse): Remove "x" from "xm"
alternative.
(fix_trunc<mode>si_sse): Ditto.
(*floatsisf2_mixed, *floatsisf2_sse): Ditto.
(*floatsidf2_mixed, *floatsidf2_sse): Ditto.
(*floatdisf2_mixed, *floatdisf2_sse): Ditto.
(*floatdidf2_mixed, *floatdidf2_sse): Ditto.
(floathi<mode>2): Rename from floathisf2 and floathidf2. Macroize
expander using SSEMODEF mode macro.
(floatsi<mode>2): Rename from floatsisf2 and floashidf2. Macroize
expander using SSEMODEF mode macro.
(*floathi<mode>2_i387): Rename from *floathisf2_i387 and
*floathidf2_i387. Macroize insn using X87MODEF12 mode macro.
(*floatsi<mode>2_i387): Rename from *floatsisf2_i387 and
*floatsidf2_i387. Macroize insn using X87MODEF12 mode macro.
(*floatdi<mode>2_i387): Rename from *floatdisf2_i387 and
*floatdidf2_i387. Macroize insn using X87MODEF12 mode macro.
(float<mode>xf2): Rename from floathixf2, floatsixf2 and floatdixf2.
Macroize insn using X87MODEF mode macro.
From-SVN: r123693
|
|
2007-04-09 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/sse.md (sse2_pinsrw): Removed.
(sse2_pextrw): Renamed to ...
(*sse2_pextrw): This.
From-SVN: r123689
|
|
From-SVN: r123685
|
|
PR target/27869
* config/i386/sse.md
(sse_vmaddv4sf3, sse_vmmulv4sf3): Remove '%' modifier.
(sse_vmsmaxv4sf3_finite, sse_vmsminv4sf3_finite): Remove.
(sse2_vmaddv2df3, sse2_vmmulv2df3): Remove '%' modifier.
(sse2_vmsmaxv2df3_finite, sse2_vmsminv2df3_finite): Remove.
From-SVN: r123682
|
|
PR c++/31449
* class.c (build_base_path): Ensure that the converted pointer has
the same cv-qualification as the input.
PR c++/31449
* g++.dg/init/const5.C: New test.
From-SVN: r123679
|
|
* gcc.dg/tree-ssa/foldaddr-3.c: New file.
* tree-ssa-ccp (maybe_fold_offset_to_component_ref): Recurse into
multiple fields of union.
From-SVN: r123674
|
|
2007-04-09 Paolo Carlini <pcarlini@suse.de>
* tree.c (cp_tree_equal): Deal with TRAIT_EXPR.
From-SVN: r123673
|
|
* cfgloopmanip.c (create_preheader): Do not use loop_preheader_edge.
(create_preheaders): Check that loops are available.
(fix_loop_structure): Clean up, improve comments.
* tree-ssa-loop-manip.c (rewrite_into_loop_closed_ssa):
Check that loops are available. Set LOOP_CLOSED_SSA to the loops
state flags.
* tree-scalar-evolution.c (scev_finalize): Clear scalar_evolution_info.
* predict.c (tree_estimate_probability): Do not call
calculate_dominance_info. Call create_preheaders.
* tree-cfgcleanup.c (cleanup_tree_cfg_loop): Only call
rewrite_into_loop_closed_ssa if LOOP_CLOSED_SSA is set in loops state
flags.
* cfgloop.c (loop_preheader_edge): Assert that loops have preheaders.
* cfgloop.h (LOOP_CLOSED_SSA): New constant.
* tree-cfg.c (tree_split_edge): Make an assert more precise.
* tree-ssa-threadedge.c (thread_across_edge): Comment the function
arguments.
From-SVN: r123670
|
|
From-SVN: r123668
|
|
* tree.h (maybe_fold_offset_to_component_ref): Declare.
* tree-ssa-ccp.c (maybe_fold_offset_to_component_ref): Export.
* fold-const.c (fold_unary): Use it.
* gcc.dg/tree-ssa/foldaddr-2.c: New file.
From-SVN: r123664
|
|
lang_hooks.decls.prepare_assemble_variable.
2007-04-08 Andrew Pinski <andrew_pinski@playstation.sony.com>
* varasm.c (assemble_variable): Remove call to
lang_hooks.decls.prepare_assemble_variable.
* langhooks-def.h (LANG_HOOKS_PREPARE_ASSEMBLE_VARIABLE): Kill.
(LANG_HOOKS_DECLS): Remove LANG_HOOKS_PREPARE_ASSEMBLE_VARIABLE.
* langhooks.h (lang_hooks_for_decls): Remove
prepare_assemble_variable.
From-SVN: r123663
|
|
From-SVN: r123662
|
|
* langhooks.c (lhd_tree_inlining_add_pending_fn_decls,
lhd_tree_inlining_anon_aggr_type_p, lhd_tree_inlining_start_inlining,
lhd_tree_inlining_end_inlining): Remove.
* langhooks.h (struct lang_hooks_for_tree_inlining): Remove then
add_pending_fn_decls, anon_aggr_type_p, start_inlining, and
end_inlining hooks.
* langhooks-def.h (lhd_tree_inlining_add_pending_fn_decls,
lhd_tree_inlining_anon_aggr_type_p, lhd_tree_inlining_start_inlining,
lhd_tree_inlining_end_inlining): Remove prototypes.
(LANG_HOOKS_TREE_INLINING_ADD_PENDING_FN_DECLS,
LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P,
LANG_HOOKS_TREE_INLINING_START_INLINING,
LANG_HOOKS_TREE_INLINING_END_INLINING): Remove.
* c-objc-common.h (LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P): Do
not set it.
cp/
* cp-objcp-common.h (LANG_HOOKS_TREE_INLINING_ADD_PENDING_FN_DECLS):
Do not set it.
(LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P): Do not set it.
* tree.c (cp_add_pending_fn_decls): Remove.
* cp-tree.h (cp_add_pending_fn_decls): Remove prototype.
From-SVN: r123658
|
|
register 0x20)
PR target/29932
* config/avr/predicates.md (io_address_operand): Delete predicate.
(low_io_address_operand): Don't use 'mode' argument.
(higth_io_address_operand): Rename ...
(high_io_address_operand): ... to this. Don't use 'mode' argument.
* config/avr/avr.md (*sbix_branch_tmp, *sbix_branch_tmp_bit7): Adjust
for above change.
From-SVN: r123657
|
|
From-SVN: r123653
|
|
Revert change removing staticp.
From-SVN: r123650
|
|
PR target/30289
* config/avr/avr.md (*clrmemqi, *clrmemhi): Mark operand 4 as
earlyclobber.
From-SVN: r123647
|
|
2007-04-07 Paul Thomas <pault@gcc.gnu.org>
PR fortran/31257
* intrinsic.c (add_functions): Add ref. to gfc_resolve_achar.
* intrinsic.h : Add prototype for gfc_resolve_achar.
* iresolve.c (gfc_resolve_achar): New function.
2007-04-07 Paul Thomas <pault@gcc.gnu.org>
PR fortran/31257
* gfortran.dg/achar_4.f90: New test.
From-SVN: r123646
|
|
ENTRY: rejected at compile time)
2007-04-07 Paul Thomas <pault@gcc.gnu.org>
PR fortran/30880
* resolve.c (resolve_fl_variable): Set flag to 2 for automatic
arrays. Make condition for automatic array error explicit.
If a dummy, no error on an INTENT(OUT) derived type.
2007-04-07 Paul Thomas <pault@gcc.gnu.org>
PR fortran/30880
* gfortran.dg/used_dummy_types_8.f90: New test.
From-SVN: r123645
|
|
2007-04-07 Paul Thomas <pault@gcc.gnu.org>
PR fortran/30872
* expr.c (find_array_element): Correct arithmetic for rank > 1.
2007-04-07 Paul Thomas <pault@gcc.gnu.org>
PR fortran/30872
* gfortran.dg/parameter_array_element_1.f90: New test.
From-SVN: r123644
|
|
initialization expressions)
2007-04-07 Paul Thomas <pault@gcc.gnu.org>
PR fortran/31222
* check.c (numeric_check): If an expresson has not got a type,
see if it is a symbol for which a default type applies.
2007-04-07 Paul Thomas <pault@gcc.gnu.org>
PR fortran/31222
* gfortran.dg/default_numeric_type_1.f90: New test.
From-SVN: r123643
|
|
2007-04-07 Paul Thomas <pault@gcc.gnu.org>
PR fortran/31214
* trans-decl.c (gfc_get_symbol_decl): Allow unreferenced use
associated symbols.
2007-04-07 Paul Thomas <pault@gcc.gnu.org>
PR fortran/31424
* gfortran.dg/unreferenced_use_assoc_1.f90: New test.
From-SVN: r123642
|
|
2007-04-07 Paul Thomas <pault@gcc.gnu.org>
PR fortran/31293
* symbol.c (gfc_check_function_type): New function.
* gfortran.h : Add prototype for previous.
* parse.c (parse_progunit): Call it after parsing specification
statements.
2007-04-07 Paul Thomas <pault@gcc.gnu.org>
PR fortran/31293
* gfortran.dg/interface_12.f90: New test.
From-SVN: r123641
|
|
From-SVN: r123640
|
|
2007-04-07 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/i386.c (ix86_handle_option): Handle SSSE3.
From-SVN: r123639
|
|
in /
2007-04-06 Daniel Berlin <dberlin@dberlin.org>
* tree.c (staticp): No longer use staticp langhook.
* langhooks.c (lhd_staticp): Removed.
* langhooks.h (struct lang_hooks): Remove staticp.
* c-common.c (c_staticp): Remove.
* c-common.h (c_staticp): Ditto.
* langhooks-defs.h (lhd_staticp): Ditto.
(LHD_HOOKS_STATICP): Ditto
* tree.h (gcc_assert_lowered): New macro.
in cp/
2007-04-06 Daniel Berlin <dberlin@dberlin.org>
* cp-objcp-common.c (cxx_staticp): Remove.
* cp-objcp-common.h (LANG_HOOKS_STATICP): Remove.
* cp-tree.h (cxx_staticp):
From-SVN: r123636
|
|
From-SVN: r123633
|