Age | Commit message (Collapse) | Author | Files | Lines |
|
array element with loops)
2006-03-07 Richard Guenther <rguenther@suse.de>
PR tree-optimization/26587
* tree-ssa-structalias.c (handle_ptr_arith): Handle MINUS_EXPR.
* gcc.dg/torture/pr26587.c: New testcase.
From-SVN: r111808
|
|
* builtins.c, c-pragma.h, c-typeck.c, cgraph.c, cgraphunit.c,
combine.c, common.opt, config/dfp-bit.c, config/i386/i386.c,
config/m68k/m68k.c, config/m68k/m68k.md, config/mt/mt.c,
config/mt/mt.h, config/s390/s390.md, df-core.c, df-problems.c,
df-scan.c, df.h, diagnostic.c, expr.c, function.h, gimplify.c,
loop-invariant.c, omp-low.c, opts.c, passes.c,
rtl-factoring.c, rtlanal.c, struct-equiv.c, tree-cfgcleanup.c,
tree-ssa-loop-niter.c, tree-ssa-loop-prefetch.c,
tree-ssa-structalias.c, tree-ssa-threadedge.c,
tree-ssa-threadupdate.c, tree-vect-patterns.c,
tree-vect-transform.c, tree-vectorizer.h, tree-vrp.c,
unwind-dw2.c: Fix comment typos. Follow spelling conventions.
From-SVN: r111721
|
|
2006-03-02 Daniel Berlin <dberlin@dberlin.org>
* gcc/tree-vrp.c (execute_vrp): Return value.
* gcc/regrename.c (rest_of_handle_regrename): Ditto.
* gcc/tree-into-ssa.c (rewrite_into_ssa): Ditto.
* gcc/tree-complex.c (tree_lower_complex): Ditto.
(tree_lower_complex_O0): Ditto.
* gcc/tracer.c (rest_of_handle_tracer): Ditto.
* gcc/postreload-gcse.c (rest_of_handle_gcse2): Ditto.
* gcc/postreload.c (rest_of_handle_postreload): Ditto.
* gcc/tree-tailcall.c (execute_tail_recursion): Ditto.
(execute_tail_calls): Ditto.
* gcc/tree-ssa-loop-ch.c (copy_loop_headers): Ditto.
* gcc/tree.h (init_function_for_compilation): Ditto.
* gcc/ipa-cp.c (ipcp_driver): Ditto.
* gcc/tree-scalar-evolution.c (scev_const_prop): Ditto.
* gcc/tree-scalar-evolution.h (scev_const_prop): Ditto.
* gcc/final.c (compute_alignments): Ditto.
(rest_of_handle_final): Ditto.
(rest_of_handle_shorten_branches): Ditto.
(rest_of_clean_state): Ditto.
* gcc/omp-low.c (execute_expand_omp): Ditto.
(execute_lower_omp): Ditto.
* gcc/tree-ssa-dse.c (tree_ssa_dse): Ditto.
* gcc/ipa-reference.c (static_execute): Ditto.
* gcc/tree-ssa-uncprop.c (tree_ssa_uncprop): Ditto.
* gcc/reorg.c (rest_of_handle_delay_slots): Ditto.
(rest_of_handle_machine_reorg): Ditto.
* gcc/cgraphunit.c (rebuild_cgraph_edges): Ditto.
* gcc/flow.c (recompute_reg_usage): Ditto.
(rest_of_handle_remove_death_notes): Ditto.
(rest_of_handle_life): Ditto.
(rest_of_handle_flow2): Ditto.
* gcc/tree-ssa-copyrename.c (rename_ssa_copies): Ditto.
* gcc/tree-ssa-ccp.c (do_ssa_ccp): Ditto.
(do_ssa_store_ccp): Ditto.
(execute_fold_all_builtins): Ditto.
* gcc/mode-switching.c (rest_of_handle_mode_switching): Ditto.
* gcc/modulo-sched.c (rest_of_handle_sms): Ditto.
* gcc/ipa-pure-const.c (static_execute): Ditto.
* gcc/cse.c (rest_of_handle_cse): Ditto.
(rest_of_handle_cse2): Ditto.
* gcc/web.c (rest_of_handle_web): Ditto.
* gcc/tree-stdarg.c (execute_optimize_stdarg): Ditto.
* gcc/tree-ssa-math-opts.c (execute_cse_reciprocals): Ditto.
* gcc/tree-ssa-dom.c (tree_ssa_dominator_optimize): Ditto.
* gcc/tree-nrv.c (tree_nrv): Ditto.
(execute_return_slot_opt): Ditto.
* gcc/tree-ssa-alias.c (compute_may_aliases): Ditto.
(create_structure_vars): Ditto.
* gcc/loop-init.c (rtl_loop_init): Ditto.
(rtl_loop_done): Ditto.
(rtl_move_loop_invariants): Ditto.
(rtl_unswitch): Ditto.
(rtl_unroll_and_peel_loops): Ditto.
(rtl_doloop): Ditto.
* gcc/gimple-low.c (lower_function_body): Ditto.
(mark_used_blocks): Ditto.
* gcc/tree-ssa-sink.c (execute_sink_code): Ditto.
* gcc/ipa-inline.c (cgraph_decide_inlining): Ditto.
(cgraph_early_inlining): Ditto.
* gcc/global.c (rest_of_handle_global_alloc): Ditto.
* gcc/jump.c (cleanup_barriers): Ditto.
(purge_line_number_notes): Ditto.
* gcc/ifcvt.c (rest_of_handle_if_conversion): Ditto.
(rest_of_handle_if_after_reload): Ditto.
* gcc/tree-ssa-loop.c (tree_ssa_loop_init): Ditto.
(tree_ssa_loop_im): Ditto.
(tree_ssa_loop_unswitch): Ditto.
(tree_vectorize): Ditto.
(tree_linear_transform): Ditto.
(tree_ssa_loop_ivcanon): Ditto.
(tree_ssa_empty_loop): Ditto.
(tree_ssa_loop_bounds): Ditto.
(tree_complete_unroll): Ditto.
(tree_ssa_loop_prefetch): Ditto.
(tree_ssa_loop_ivopts): Ditto.
(tree_ssa_loop_done): Ditto.
* gcc/predict.c (tree_estimate_probability): Ditto.
* gcc/recog.c (split_all_insns_noflow): Ditto.
(rest_of_handle_peephole2): Ditto.
(rest_of_handle_split_all_insns): Ditto.
* gcc/tree-eh.c (lower_eh_constructs): Ditto.
* gcc/regmove.c (rest_of_handle_regmove): Ditto.
(rest_of_handle_stack_adjustments): Ditto.
* gcc/local-alloc.c (rest_of_handle_local_alloc): Ditto.
* gcc/function.c (instantiate_virtual_regs): Ditto.
(init_function_for_compilation): Ditto.
(rest_of_handle_check_leaf_regs): Ditto.
* gcc/gcse.c (rest_of_handle_jump_bypass): Ditto.
(rest_of_handle_gcse): Ditto.
* gcc/ipa-type-escape.c (type_escape_execute): Ditto.
* gcc/alias.c (rest_of_handle_cfg): Ditto.
* gcc/tree-if-conv.c (main_tree_if_conversion): Ditto.
* gcc/profile.c (rest_of_handle_branch_prob): Ditto.
* gcc/tree-ssa-phiopt.c (tree_ssa_phiopt): Ditto.
* gcc/rtl-factoring.c (rest_of_rtl_seqabstr): Ditto.
* gcc/bt-load.c (rest_of_handle_branch_target_load_optimize): Ditto
* gcc/tree-dfa.c (find_referenced_vars): Ditto.
* gcc/except.c (set_nothrow_function_flags): Ditto.
(convert_to_eh_region_ranges): Ditto.
(rest_of_handle_eh): Ditto.
* gcc/emit-rtl.c (unshare_all_rtl): Ditto.
(remove_unnecessary_notes): Ditto.
* gcc/except.h (set_nothrow_function_flags): Ditto.
(convert_to_eh_region_ranges): Ditto.
* gcc/cfgexpand.c (tree_expand_cfg): Ditto.
* gcc/tree-cfgcleanup.c (merge_phi_nodes): Ditto.
* gcc/tree-ssa-pre.c (do_pre): Ditto.
(execute_fre): Ditto.
* gcc/cfgcleanup.c (rest_of_handle_jump): Ditto.
(rest_of_handle_jump2): Ditto.
* gcc/tree-sra.c (tree_sra): Ditto.
* gcc/tree-mudflap.c (execute_mudflap_function_ops): Ditto.
(execute_mudflap_function_decls): Ditto.
* gcc/tree-ssa-copy.c (do_copy_prop): Ditto.
(do_store_copy_prop): Ditto.
* gcc/ipa-prop.h (ipcp_driver): Ditto.
* gcc/cfglayout.c (insn_locators_initialize): Ditto.
* gcc/tree-ssa-forwprop.c
(tree_ssa_forward_propagate_single_use_vars): Ditto.
* gcc/cfglayout.h (insn_locators_initialize): Ditto.
* gcc/tree-ssa-dce.c (tree_ssa_dce): Ditto.
* gcc/tree-ssa.c (execute_early_warn_uninitialized): Ditto.
(execute_late_warn_uninitialized): Ditto.
* gcc/rtl.h (cleanup_barriers): Ditto.
(split_all_insns_noflow): Ditto.
(purge_line_number_notes): Ditto.
(unshare_all_rtl): Ditto.
(remove_unnecessary_notes): Ditto.
(recompute_reg_usage): Ditto.
(variable_tracking_main): Ditto.
* gcc/integrate.c (emit_initial_value_sets): Ditto.
* gcc/integrate.h (emit_initial_value_sets): Ditto.
* gcc/tree-optimize.c (execute_free_datastructures): Ditto
(execute_free_cfg_annotations): Ditto.
(execute_fixup_cfg): Ditto.
(execute_cleanup_cfg_pre_ipa): Ditto.
(execute_cleanup_cfg_post_optimizing): Ditto.
(execute_init_datastructures): Ditto.
* gcc/tree-object-size.c (compute_object_sizes): Ditto.
* gcc/combine.c (rest_of_handle_combine): Ditto.
* gcc/tree-outof-ssa.c (rewrite_out_of_ssa): Ditto.
* gcc/bb-reorder.c (duplicate_computed_gotos): Ditto.
(rest_of_handle_reorder_blocks): Ditto.
(rest_of_handle_partition_blocks): Ditto.
* gcc/var-tracking.c (variable_tracking_main): Ditto.
* gcc/tree-profile.c (tree_profiling): Ditto.
* gcc/tree-vect-generic.c (expand_vector_operations): Ditto.
* gcc/reg-stack.c (rest_of_handle_stack_regs): Ditto.
* gcc/sched-rgn.c (rest_of_handle_sched): Ditto.
(rest_of_handle_sched2): Ditto.
* gcc/basic-block.h (free_bb_insn): Ditto.
* gcc/tree-ssa-structalias.c (ipa_pta_execute): Ditto.
* gcc/tree-cfg.c (execute_build_cfg): Ditto.
(remove_useless_stmts): Ditto.
(split_critical_edges): Ditto.
(execute_warn_function_return): Ditto.
(execute_warn_function_noreturn): Ditto.
* gcc/tree-ssa-reassoc.c (execute_reassoc): Ditto.
* gcc/cfgrtl.c (free_bb_for_insn): Ditto.
* gcc/passes.c (execute_one_pass): Run additional
todos returned by execute function.
* gcc/tree-pass.h (struct tree_opt_pass): Make execute
return a value.
From-SVN: r111643
|
|
aggregates here.
2006-02-27 Daniel Berlin <dberlin@dberlin.org>
* tree-ssa-structalias.c (get_constraint_for): Move code to deal
with aggregates here.
(find_func_aliases): Remove code for &<aggregate> from here.
From-SVN: r111487
|
|
2006-02-23 Daniel Berlin <dberlin@dberlin.org>
Fix PR tree-optimization/26376
* tree-ssa-structalias.c (find_func_aliases): Use get_id_for_tree,
remove assert.
From-SVN: r111392
|
|
2006-02-23 Richard Guenther <rguenther@suse.de>
PR middle-end/26439
* tree-ssa-structalias.c (find_func_aliases): Handle complex types
like aggregate types.
From-SVN: r111389
|
|
2006-02-19 Daniel Berlin <dberlin@dberlin.org>
* doc/invoke.texi: Document -fipa-pta.
* common.opt: Add ipa-pta option.
* tree-ssa-structalias.c (DONT_PROPAGATE_WITH_ANYTHING): Removed.
(do_sd_constraint): Enable DONT_PROPAGATE_WITH_ANYTHING code.
(do_ds_constraint): Ditto.
(get_constraint_for): Only add to referenced_vars if
referenced_vars exists.
(insert_into_field_list): Rewrite to do this unsorted.
(insert_into_field_list_sorted): Rename old insert_into_field_list
to this.
(create_function_info_for): Use insert_into_field_list_sorted.
(create_variable_info_for): Rewrite so it uses unsorted version,
since the field list is sorted.
(intra_create_variable_infos): Only add to referenced_vars if
referenced_vars exists.
(ipa_pta_execute): Init heapvars, and delete when done.
* passes.c (init_optimization_passes): Add call to pass_ipa_pta.
From-SVN: r111273
|
|
2006-02-14 Daniel Berlin <dberlin@dberlin.org>
Fix PR tree-optimization/26260
* doc/invoke.texi (max-fields-for-field-sensitive): Document
param.
* params.h (MAX_FIELDS_FOR_FIELD_SENSITIVE): New.
* params.def (PARAM_MAX_FIELDS_FOR_FIELD_SENSITIVE): Ditto.
* tree-ssa-structalias.c (create_variable_info_for): Use
MAX_FIELDS_FOR_FIELD_SENSITIVE.
From-SVN: r110972
|
|
in PHIs)
2006-02-14 Richard Guenther <rguenther@suse.de>
PR tree-optimization/26258
* tree-ssa-structalias.c (find_func_aliases): Handle aggregates
in PHI argument processing.
* gcc.dg/torture/pr26258.c: New testcase.
From-SVN: r110963
|
|
2006-01-31 Marcin Dalecki <martin@dalecki.de>
* tree-vrp.c: Use XNEW/XCNEW allocation wrappers.
* regrename.c: Ditto.
* tree-ssa-loop-im.c: Ditto.
* tree-dump.c: Ditto.
* tree-complex.c: Ditto.
* genrecog.c: Ditto.
* tree-ssa-threadupdate.c: Ditto.
* tracer.c: Ditto.
* java/class.c: Ditto.
* java/jcf-parse.c: Ditto.
* java/resource.c: Ditto.
* java/except.c: Ditto.
* java/jvspec.c: Ditto.
* java/jcf-write.c: Ditto.
* java/jcf-path.c: Ditto.
* java/gjavah.c: Ditto.
* java/zextract.c: Ditto.
* java/jcf-io.c: Ditto.
* java/jcf.h: Ditto.
* java/buffer.c: Ditto.
* java/lang.c: Ditto.
* java/parse-scan.y: Ditto.
* java/lex.c: Ditto.
* java/lex.h: Ditto.
* cfgloopmanip.c: Ditto.
* postreload-gcse.c: Ditto.
* tree-ssa-loop-manip.c: Ditto.
* postreload.c: Ditto.
* tree-ssa-loop-ch.c: Ditto.
* loop.c: Ditto.
* ipa-cp.c: Ditto.
* cppspec.c: Ditto.
* diagnostic.c: Ditto.
* final.c: Ditto.
* genoutput.c: Ditto.
* gcc.c: Ditto.
* cfghooks.c: Ditto.
* cfgloopanal.c: Ditto.
* objc/objc-act.c: Ditto.
* gcov.c: Ditto.
* genextract.c: Ditto.
* genautomata.c: Ditto.
* pretty-print.c: Ditto.
* genemit.c: Ditto.
* cgraphunit.c: Ditto.
* flow.c: Ditto.
* df-scan.c: Ditto.
* haifa-sched.c: Ditto.
* dominance.c: Ditto.
* dbxout.c: Ditto.
* tree-ssa-loop-ivopts.c: Ditto.
* df-core.c: Ditto.
* mode-switching.c: Ditto.
* modulo-sched.c: Ditto.
* graph.c: Ditto.
* ipa-pure-const.c: Ditto.
* cse.c: Ditto.
* fix-header.c: Ditto.
* web.c: Ditto.
* tree-stdarg.c: Ditto.
* ipa-utils.c: Ditto.
* loop-init.c: Ditto.
* ipa-inline.c: Ditto.
* cfganal.c: Ditto.
* global.c: Ditto.
* alloc-pool.c: Ditto.
* dwarf2out.c: Ditto.
* opts.c: Ditto.
* genattrtab.c: Ditto.
* tree-ssa-loop-ivcanon.c: Ditto.
* predict.c: Ditto.
* timevar.c: Ditto.
* lcm.c: Ditto.
* fortran/gfortranspec.c: Ditto.
* regmove.c: Ditto.
* local-alloc.c: Ditto.
* langhooks.c: Ditto.
* function.c: Ditto.
* tree-vectorizer.c: Ditto.
* gcse.c: Ditto.
* ipa-type-escape.c: Ditto.
* alias.c: Ditto.
* tree-if-conv.c: Ditto.
* profile.c: Ditto.
* ipa.c: Ditto.
* tree-data-ref.c: Ditto.
* loop-unroll.c: Ditto.
* treelang/treetree.c: Ditto.
* calls.c: Ditto.
* bt-load.c: Ditto.
* ggc-common.c: Ditto.
* except.c: Ditto.
* coverage.c: Ditto.
* cselib.c: Ditto.
* tree-cfgcleanup.c: Ditto.
* tree-ssa-pre.c: Ditto.
* cfgcleanup.c: Ditto.
* loop-invariant.c: Ditto.
* loop-iv.c: Ditto.
* ipa-prop.c: Ditto.
* print-tree.c: Ditto.
* conflict.c: Ditto.
* ggc-page.c: Ditto.
* sched-deps.c: Ditto.
* regclass.c: Ditto.
* tree-object-size.c: Ditto.
* combine.c: Ditto.
* bb-reorder.c: Ditto.
* resource.c: Ditto.
* var-tracking.c: Ditto.
* cfgloop.c: Ditto.
* df-problems.c: Ditto.
* reg-stack.c: Ditto.
* tlink.c: Ditto.
* gccspec.c: Ditto.
* sched-rgn.c: Ditto.
* tree-ssa-structalias.c: Ditto.
* tree-ssa-reassoc.c: Ditto.
* config/darwin-c.c: Ditto.
* config/darwin.c: Ditto.
* config/arm/arm.c: Ditto.
* cfgrtl.c: Ditto.
* collect2.c: Ditto.
* reload1.c: Ditto.
From-SVN: r110446
|
|
for incoming parameters if flag_argument_noalias > 1.
2006-01-26 Richard Guenther <rguenther@suse.de>
Andrew Pinski <pinskia@physics.uc.edu>
* tree-ssa-structalias.c (intra_create_variable_infos):
Create heap variables for incoming parameters if
flag_argument_noalias > 1.
(find_what_p_points_to): Look through default defs of
parameter decls.
Co-Authored-By: Andrew Pinski <pinskia@physics.uc.edu>
From-SVN: r110262
|
|
2006-01-16 Daniel Berlin <dberlin@dberlin.org>
* tree-ssa-operands.h (ssa_call_clobbered_cache_valid): Remove.
(ssa_ro_call_cache_valid): Ditto.
* tree-ssa-alias.c (sort_tags_by_id): New function.
(init_transitive_clobber_worklist): Ditto.
(add_to_worklist): Ditto.
(mark_aliases_call_clobbered): Ditto.
(compute_tag_properties): Ditto.
(set_initial_properties): Ditto.
(compute_call_clobbered): Ditto.
(compute_may_aliases): Call compute_call_clobbered and grouping.
(compute_flow_sensitive_aliasing): Remove clobbering related code.
(compute_flow_insensitive_aliasing): Grouping now happens in our
caller.
(setup_pointers_and_addressables): Remove clobbering related code.
(add_may_alias): Ditto.
(replace_may_alias): Ditto.
(get_nmt_for): Ditto.
(create_global_var):
(is_escape_site): Return an escape_type enumeration.
* tree-flow-inline.h (is_call_clobbered): Global var does not
imply call clobbered.
(mark_call_clobbered): Take a reason for marking this. Remove
marking of globalness, and cache invalidation.
(clear_call_clobbered): Remove cache invalidation code.
* tree-dfa.c (dump_variable): If details is on, dump the reason
for escaping.
* tree-outof-ssa.c (create_temp): Copy escape mask from original
variable.
* tree-flow.h (struct ptr_info_def): Add escape mask member.
(struct var_ann_d): Ditto.
(enum escape_type): New.
(mark_call_clobbered): Adjust prototype.
* tree-ssa-structalias.c (update_alias_info): Unmodifiable vars
are never call clobbered.
Record reasons for escaping.
* tree-ssa-structalias.h (is_escape_site): Update prototype.
* tree-ssa-operands.c (ssa_call_clobbered_cache_valid): Remove.
(ssa_ro_call_cache_valid): Ditto.
(clobbered_v_may_defs): Ditto.
(clobbered_vuses): Ditto.
(ro_call_vuses): Ditto.
(clobber_stats): New.
(init_ssa_operands): Zero out clobber stats.
(fini_ssa_operands): Print out clobber stats.
(get_call_expr_operands): Pass callee fndecl to
add_call_read_ops).
(add_call_clobber_ops): Remove use of cache.
Add use of PURE_CONST information.
(add_call_read_ops): Remove use of cache.
Add use of static not_read information.
From-SVN: r109938
|
|
2006-01-14 Richard Guenther <rguenther@suse.de>
PR tree-optimization/22548
PR tree-optimization/22555
PR tree-optimization/22501
* Makefile.in (tree-ssa-structalias.o): Depend on $(PARAMS_H).
* params.def (salias-max-array-elements): New parameter.
* params.h (SALIAS_MAX_ARRAY_ELEMENTS): Define.
* doc/invoke.texi (salias-max-array-elements): Document.
* tree-flow-inline.h (var_can_have_subvars): We also handle
arrays now.
* tree-ssa-alias.c (find_used_portions): Handle ARRAY_REF like
COMPONENT_REF.
* tree-ssa-structalias.c (params.h): Include.
(push_fields_onto_fieldstack): Handle ARRAY_TYPE.
(find_func_aliases): Handle multiple constraints from ARRAY_REF.
(get_constraint_for): For ADDR_EXPR operating on something
containing an ARRAY_REF, add all subvars to the solution.
(handle_ptr_arith): Handle ARRAY_TYPE like RECORD_TYPE types.
* tree-ssa-operands.c (parse_ssa_operands): Handle ARRAY_REF
for creating MUST_DEFs.
(get_expr_operands): Treat ARRAY_REF like COMPONENT_REF wrt subvars.
* gcc.dg/tree-ssa/alias-4.c: New testcase.
* gcc.dg/tree-ssa/alias-5.c: Likewise.
* gcc.dg/tree-ssa/alias-6.c: Likewise.
* gcc.dg/tree-ssa/alias-7.c: Likewise.
* gcc.dg/tree-ssa/alias-8.c: Likewise.
* gcc.dg/tree-ssa/alias-9.c: Likewise.
* gcc.dg/tree-ssa/alias-10.c: Likewise.
* gcc.dg/tree-ssa/alias-11.c: Likewise.
* gcc.dg/tree-ssa/alias-12.c: Likewise.
From-SVN: r109703
|
|
with anything constraint.
2006-01-10 Richard Guenther <rguenther@suse.de>
* tree-ssa-structalias.c (get_constraint_for_component_ref):
Never override with anything constraint.
From-SVN: r109544
|
|
2006-01-08 Richard Guenther <rguenther@suse.de>
* tree-ssa-structalias.c (get_constraint_for): Remove
anyoffset argument.
(get_constraint_for_component_ref): Likewise.
(do_deref): Likewise.
(get_constraint_for): Likewise.
(do_structure_copy): Likewise.
(handle_ptr_arith): Likewise.
(find_func_aliases): Likewise. Remove unused need_anyoffset
variable.
From-SVN: r109472
|
|
2006-01-06 Andrew Pinski <pinskia@physics.uc.edu>
PR tree-opt/25528
* tree-ssa-alias.c (find_used_portions): Handle REALPART_EXPR
and IMAGPART_EXPR.
* tree-flow-inline.h (var_can_have_subvars): Handle complex types
on non gimple variables. Also add checks at the top for decls and
mtags.
* tree-ssa-structalias.c (push_fields_onto_fieldstack): Handle
complex types.
* tree-ssa-operands.c (parse_ssa_operands): Handle REALPART_EXPR
and IMAGPART_EXPR for creating MUST_DEFs.
(get_expr_operands): Handle SSA_NAME, STRUCT_FIELD_TAG, TYPE_MEMORY_TAG,
and NAME_MEMORY_TAG separately from the DECLs.
From-SVN: r109419
|
|
2006-01-05 Richard Guenther <rguenther@suse.de>
* tree-flow.h (struct fieldoff): Decompose field to
type, size and decl.
* tree-ssa-alias.c (create_sft): Take type as parameter.
(create_overlap_variables_for): Store type, size and decl
in the fieldoff structure.
* tree-ssa-structalias.c (fieldoff_compare): Adjust users
of struct fieldoff.
(push_fields_onto_fieldstack): Likewise.
(create_variable_info_for): Likewise. Use offset for the
SFT name if the decl is not available.
From-SVN: r109376
|
|
may_be_aliased (SSA_NAME_VAR (op)) case.
* tree-ssa-structalias.c (update_alias_info): Remove handling
of may_be_aliased (SSA_NAME_VAR (op)) case.
From-SVN: r108776
|
|
2005-12-18 Richard Guenther <rguenther@suse.de>
PR tree-optimization/25481
* tree-ssa-structalias.c (handle_ptr_arith): Handle
accesses we don't have a varinfo for.
* gcc.dg/torture/pr25481.c: New testcase.
From-SVN: r108763
|
|
* basic-block.h, config/i386/winnt.c, config/pa/pa.c,
config/s390/s390.c, dfp.c, expr.c, fold-const.c, params.def,
reload.c, struct-equiv.c, tree-ssa-ccp.c, tree-ssa-pre.c,
tree-ssa-reassoc.c, tree-ssa-structalias.c: Fix comment typos.
* doc/invoke.texi, doc/tm.texi: Fix typos.
From-SVN: r108626
|
|
2005-12-15 Richard Guenther <rguenther@suse.de>
* tree-flow.h (okay_component_ref_for_subvars): Remove.
(get_ref_base_and_extent): Declare.
* tree-dfa.c (okay_component_ref_for_subvars): Remove.
(get_ref_base_and_extent): New function.
* tree-ssa-alias.c (find_used_portions): Use it.
* tree-ssa-structalias.c (get_constraint_for_component_ref):
Likewise.
* tree-ssa-operands.c (get_expr_operands): Likewise.
From-SVN: r108568
|
|
addressofs into scalar.
2005-12-11 Daniel Berlin <dberlin@dberlin.org>
* tree-ssa-structalias.c (process_constraint): Remove code to
transform addressofs into scalar.
(create_variable_info_for): In whole-program IPA, globals don't
point to ANYTHING by default.
2005-12-11 Daniel Berlin <dberlin@dberlin.org>
* timevar.def (TV_IPA_PTA): New.
* tree-pass.h (pass_ipa_pta): New
* tree-ssa-structalias.c: Include cgraph.h
(in_ipa_mode): New.
(predbitmap_obstack): New.
(EXECUTE_IF_IN_NONNULL_BITMAP): New.
(struct constraint_stats): Add num_edges.
(new_var_info): Don't call bitmap_clear.
(struct constraint_edge): Update docs.
(new_constraint_edge): Remove src param.
(struct constraint_graph): Add zero_weight_succs,
zero_weight_preds. Update docs.
(constraint_expr_equal): Reformat.
(constraint_edge_equal): Update for removal of src.
(constraint_edge_less): Ditto.
(constraint_edge_vec_find): Ditto.
(erase_graph_self_edge): Update for removal of src and and zero
weight bitmap.
(clear_edges_for_node): Ditto.
(add_graph_edge): Ditto.
(get_graph_weights): Ditto.
(allocate_graph_weights): Ditto.
(merge_graph_nodes): Ditto.
(int_add_graph_edge): Ditto.
(valid_graph_edge): Ditto.
(valid_weighted_graph_edge): Ditto.
(build_constraint_graph): Ditto.
(scc_visit): Ditto.
(collapse_nodes): Ditto.
(process_unification_queue): Ditto.
(topo_visit): Ditto.
(solve_graph): Ditto.
(do_structure_copy): Ditto.
(perform_var_substitution): Ditto.
Init and release obstack.
(handle_ptr_arith): Try to resolve directly.
(find_func_aliases): Don't call update_alias_info here
Handle RETURN_EXPR, and CALL_EXPR's in IPA mode.
(do_sd_constraint): Add code for propagating faster.
Update.
(do_ds_constraint): Ditto.
(count_num_arguments): New function.
(create_function_info_for): Ditto.
(create_variable_info_for): Handle FUNCTION_DECL.
(intra_create_variable_infos): Use make_constraint_to_anything.
(init_alias_vars): Init obstacks here.
(need_to_solve): Handle zero weight graph changes.
(compute_points_to_sets): Call update_alias_info here.
(delete_points_to_sets): Free zero weight preds/succs here.
(gate_ipa_pta): New.
(ipa_pta_execute): New
2005-12-11 Daniel Berlin <dberlin@dberlin.org>
* tree-ssa-structalias.c (var_anyoffset): Removed.
(anyoffset_tree): Ditto.
(anyoffset_id): Ditto.
(do_deref): Take vector of constraints, no return value.
Update to work on vector.
(get_constraint_for): Ditto.
(get_constraint_for_component_ref): Ditto.
(do_structure_copy): Ditto.
(handle_ptr_arith): Ditto.
(find_func_aliases): Ditto.
(set_uids_in_ptset): Remove anyoffset handling.
(init_base_vars): Ditto.
From-SVN: r108384
|
|
PR middle-end/22561
* tree-ssa-structalias.c (get_constraint_for): Handle ARRAY_RANGE_REF.
From-SVN: r107377
|
|
From-SVN: r106746
|
|
2005-11-10 Daniel Berlin <dberlin@dberlin.org>
* tree-ssa-alias.c (compute_may_aliases): Remove call to
delete_old_heap_vars.
* tree-dfa.c (referenced_var_remove): Remove function.
* tree-ssa.c (init_tree_ssa): Call init_alias_heapvars.
(delete_tree_ssa): Remove call to delete_old_heapvars.
Add call to delete_alias_heapvars.
* tree-flow.h (referenced_var_remove): Remove prototype
(init_alias_heapvars): New prototype.
(delete_alias_heapvars): Ditto.
* Makefile.in (tree-ssa-structalias.o): Add
gt-tree-ssa-structalias.o
(GTFILES): Add tree-ssa-structalias.h and
tree-ssa-structalias.c.
(s-gtype): Add gt-tree-ssa-structalias.h.
* tree-ssa-structalias.c (heapvars): Remove.
(oldheapvars): Remove.
(heapvar_for_stmt): New variable.
(heapvar_lookup): New function.
(heapvar_insert): Ditto.
(get_constraint_for): See if we have an old heapvar
to reuse.
(init_alias_heapvars): New function.
(delete_alias_heapvars): Ditto.
Add include of gt-tree-ssa-structalias.h.
From-SVN: r106743
|
|
variables in clobbered)
2005-11-08 Daniel Berlin <dberlin@dberlin.org>
Fix PR tree-optimization/23382
* tree-ssa-alias.c (compute_may_aliases): Call
delete_old_heap_vars.
* tree-dfa.c (referenced_var_remove): New function.
* tree-ssa.c (delete_tree_ssa): Call delete_old_heap_vars.
* tree-flow.h (referenced_var_remove): Add prototype.
(delete_old_heap_vars): Ditto.
* tree-ssa-structalias.c (heapvars): New variable.
(oldheapvars): Ditto.
(get_constraint_for): Put heap vars on heapvars list.
(delete_old_heap_vars): New function.
From-SVN: r106643
|
|
array_ref_contains_indirect_ref.
2005-11-04 Richard Guenther <rguenther@suse.de>
* tree-flow.h (ref_contains_indirect_ref): Rename to
array_ref_contains_indirect_ref.
* tree-flow-inline.h (ref_contains_indirect_ref): Likewise.
(array_ref_contains_indirect_ref): Make comment match the code
and vice-versa.
(ref_contains_array_ref): Likewise.
* tree-ssa-structalias.c (find_func_aliases): Remove call to
ref_contains_indirect_ref.
* tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined):
Rename calls to ref_contains_indirect_ref.
From-SVN: r106499
|
|
code)
2005-11-03 Daniel Berlin <dberlin@dberlin.org>
Fix PR tree-optimization/24351
* tree-ssa-structalias.c (struct variable_info): Add
collapsed_into.
(get_varinfo_fc): New function to follow collapsing.
(new_var_info): Set collapsed_to to NULL.
(dump_constraint): Follow collapsing.
(build_constraint_graph): Handle collapsing.
(do_simple_structure_copy): Return false if something bad
happened.
(collapse_rest_of_var): New function.
(do_structure_copy): Collapse if do_simple_structure_copy returns
false.
From-SVN: r106437
|
|
2005-10-06 Daniel Berlin <dberlin@dberlin.org>
* tree-ssa-structalias.c (check_for_overlaps): Fix bug in last
change.
From-SVN: r105059
|
|
FIELD_DECLs)
2005-10-06 Daniel Berlin <dberlin@dberlin.org>
Fix PR tree-optimization/22488
* tree-ssa-structalias.c (check_for_overlaps): New function.
(create_variable_info_for): Use it.
From-SVN: r105052
|
|
2005-09-29 Daniel Berlin <dberlin@dberlin.org>
Fix PR tree-optimization/24117
* tree-ssa-structalias.c (find_func_aliases): Strip nops
before considering whether to use anyoffset.
From-SVN: r104791
|
|
true.
2005-09-20 Daniel Berlin <dberlin@dberlin.org>
* tree-data-ref.c (analyze_array_indexes): Only estimate when
estimate_only is true.
* tree-flow.h (ref_contains_indirect_ref): New prototype.
* tree-flow-inline.h (ref_contains_indirect_ref): Moved from
tree-ssa-structalias.c
* tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined): Use
ref_contains_indirect_ref.
* tree-ssa-structalias.c (ref_contains_indirect_ref): Moved.
From-SVN: r104518
|
|
2005-09-20 Daniel Berlin <dberlin@dberlin.org>
* tree-ssa-structalias.c (get_constraint_for_component_ref): Add
argument. Allow and set any offset if needs_anyoffset is passed
in.
(get_constraint_for): Add argument here too.
Pass it down.
(do_structure_copy): Pass NULL to get_constraint_for.
(handle_ptr_arith): Ditto.
(find_func_aliases): Ditto.
From-SVN: r104476
|
|
tree-ssa-structalias.c:2858)
2005-08-14 Daniel Berlin <dberlin@dberlin.org>
Fix PR tree-optimization/22615
* tree-ssa-structalias.c (solution_set_add): Handle
first_vi_for_offset returning NULL.
(do_da_constraint): Ditto.
(do_sd_constraint): Ditto.
(do_ds_constraint): Ditto
(find_func_aliases): Ditto.
(build_constraint_graph): RHS is allowed be ANYTHING.
(first_vi_for_offset): Return NULL if we couldn't find anything at
the offset.
From-SVN: r103083
|
|
* Makefile.in, cfgexpand.c, cfgloop.h, cfgloopmanip.c,
config.gcc, ipa-cp.c, ipa-prop.c, ipa-prop.h, reg-stack.c,
tree-ssa-structalias.c, tree-vrp.c, value-prof.c, vec.h,
config/linux.h, config/alpha/alpha.h, config/alpha/linux.h,
config/alpha/predicates.md, config/arc/arc.h,
config/arm/arm.h, config/arm/ieee754-df.S,
config/arm/ieee754-sf.S, config/bfin/bfin.c,
config/bfin/bfin.h, config/c4x/c4x.h, config/crx/crx.c,
config/fr30/fr30.h, config/frv/frv.h, config/h8300/h8300.h,
config/i386/i386.h, config/ia64/ia64.c, config/ia64/ia64.h,
config/m68hc11/m68hc11.h, config/mips/mips.c,
config/mips/mips.h, config/mips/openbsd.h,
config/mn10300/mn10300.h, config/pa/pa.c, config/pa/pa.h,
config/pdp11/pdp11.h, config/rs6000/linux-unwind.h,
config/rs6000/rs6000.c, config/rs6000/rs6000.h,
config/s390/s390.c, config/sh/sh.c, config/sh/sh.h,
config/sparc/linux.h, config/sparc/linux64.h,
config/sparc/sparc.h, config/v850/v850.h, config/vax/vax.h,
doc/extend.texi, doc/gcov.texi, doc/install.texi,
doc/invoke.texi, doc/rtl.texi, doc/tm.texi: Fix comment/doc
typos. Follow spelling conventions.
From-SVN: r102809
|
|
current struct contains only fields we decomposed.
2005-07-27 Richard Guenther <rguenther@suse.de>
* tree-ssa-structalias.c (push_fields_onto_fieldstack):
Avoid pushing again if current struct contains only
fields we decomposed.
* gcc.dg/tree-ssa/salias-1.c: New testcase.
From-SVN: r102424
|
|
* calls.c, fold-const.c, ipa-reference.c, ipa-type-escape.c,
tree-ssa-reassoc.c, tree-ssa-structalias.c, vec.h,
config/crx/crx.c, config/m32c/m32c.c, config/m32c/m32c.h: Fix
comment typos.
* doc/c-tree.texi, doc/tree-ssa.texi: Fix typos.
From-SVN: r102385
|
|
of PTR.
* tree-ssa-alias.c (count_ptr_derefs): Do not consider
&PTR->FLD a dereference of PTR.
* tree-ssa-structalias.c (update_alias_info): Consider &PTR->FLD
a potential dereference of PTR.
testsuite/ChangeLog
* gcc.dg/tree-ssa/20050719-1.c: New test.
From-SVN: r102283
|
|
gcc/ChangeLog:
* tree-ssa-structalias.c (merge_graph_nodes): Fix uninitialised
warnings.
(int_add_graph_edge): Likewise.
(collapse_nodes): Likewise.
(process_unification_queue): Likewise.
gcc/cp/ChangeLog:
* parser.c (cp_parser_declaration): Fix unitialised warnings.
gcc/fortran/ChangeLog:
* match.c (gfc_match_symbol): Fix uninitialised warnings.
* matchexp.c (gfc_match_expr): Likewise.
gcc/java/ChangeLog:
* verify-impl.c (check_class_constant): Fix uninitialised warnings.
(check_constant): Likewise.
(check_wide_constant): Likewise.
From-SVN: r102273
|
|
2005-07-16 Daniel Berlin <dberlin@dberlin.org>
* tree-ssa-structalias.c (need_to_solve): Need to check for preds,
too.
From-SVN: r102100
|
|
2005-07-13 Daniel Berlin <dberlin@dberlin.org>
Fix PR tree-optimization/22376
* tree-ssa-structalias.c (build_constraint_graph): We really meant
special var here.
(need_to_solve): New function.
(compute_points_to_sets): Use it.
From-SVN: r102056
|
|
From-SVN: r101969
|
|
tree-ssa-structalias.c:2843)
2005-07-12 Daniel Berlin <dberlin@dberlin.org>
Fix PR tree-optimization/22422
* tree-ssa-structalias.c (struct variable_info): Add flag for
special vars.
(get_varinfo): Now a static function.
(new_varinfo): init has_union and is_special_var to false.
(solution_set_add): Check has_union.
(do_da_constraint): Move temporary variable so it gets reset
properly.
Also check for special variable.
(do_ds_constraint): Ditto.
(do_sd_constraint): Ditto.
(do_structure_copy): Check for special variable.
(find_func_aliases): Ditto.
(init_base_vars): Set special vars properly.
From-SVN: r101959
|
|
2005-07-11 Daniel Berlin <dberlin@dberlin.org>
* print-tree.c (print_node): Use DECL_ARGUMENT_FLD.
* tree.h (DECL_ARGUMENT_FLD): New macro.
2005-07-11 Daniel Berlin <dberlin@dberlin.org>
Fix PR tree-optimization/22404
* tree-ssa-structalias.c (create_variable_info_for): Use
correct offset.
From-SVN: r101894
|
|
2005-07-07 Daniel Berlin <dberlin@dberlin.org>
* tree-ssa-structalias.c (struct variable_info): Heapify complex.
(varmap): Heapify varmap.
(constraints): Heapify constraints.
(struct constraint_graph): Heapify succs and preds.
(constraint_vec_find): Update for heapification.
(constraint_set_union): Ditto.
(insert_into_complex): Ditto.
(constraint_edge_vec_find): Ditto.
(erase_graph_self_edge): Ditto.
(add_graph_edge): Ditto.
(get_graph_weights): Ditto.
(merge_graph_nodes): Ditto.
(build_constraint_graph): Ditto.
(topo_visit): Ditto.
(solve_graph): Ditto.
(create_variable_info_for): Ditto.
(init_base_vars): Ditto.
(delete_points_to_sets): Free graph, varmap, and complex constraints.
(condese_varmap_nodes): Free complex vector.
(clear_edges_for_node): Clear succs and preds vector.
From-SVN: r101862
|
|
not include vdefs.
2005-07-10 Daniel Berlin <dberlin@dberlin.org>
* tree-ssa-structalias.c (update_alias_info): Change counting of
references to not include vdefs.
From-SVN: r101861
|
|
* Makefile.in (tree-ssa-alias.o): Depend on tree-ssa-structalias.h
* tree-cfg.c (CHECK_OP): Only test for is_gimple_val.
* tree-dfa.c (dump_subvars_for): New.
(debug_subvars_for): New.
(dump_variable): Show subvariables if VAR has them.
* tree-flow-inline.h (get_subvar_at): New.
(overlap_subvar): Change offset and size to unsigned HOST_WIDE_INT.
* tree-flow.h (struct ptr_info_def): Remove field pt_malloc.
Update all users.
(struct subvar): Change fields offset and size to unsigned
HOST_WIDE_INT.
(dump_subvars_for): Declare.
(debug_subvars_for): Declare.
(get_subvar_at): Declare.
(okay_component_ref_for_subvars): Change 2nd and 3rd argument
to unsigned HOST_WIDE_INT *.
(overlap_subvar): Likewise.
* tree-gimple.c (is_gimple_reg): Always return false for
SFTs and memory tags.
* tree-pass.h (pass_build_pta, pass_del_pta): Remove.
Update all callers.
* tree-ssa-alias.c: Include tree-ssa-structalias.h.
(compute_may_aliases): Call compute_points_to_sets.
(collect_points_to_info_for): Remove.
(compute_points_to_and_addr_escape): Remove.
(delete_alias_info): Call delete_points_to_sets.
(compute_flow_sensitive_aliasing): If the call to
find_what_p_points_to returns false, call set_pt_anything.
(add_may_alias): Set TREE_ADDRESSABLE when adding a new alias.
(set_pt_anything): Clear pi->pt_vars.
(set_pt_malloc): Remove.
(merge_pointed_to_info): Remove.
(add_pointed_to_expr): Remove.
(add_pointed_to_var): Remove.
(collect_points_to_info_r): Remove.
(is_escape_site): Make extern.
(create_sft): New.
(create_overlap_variables_for): Call it.
* tree-ssa-copy.c (merge_alias_info): Never merge
flow-sensitive alias information.
* tree-ssa-operands.c (get_expr_operands): Adjust variables
offset and size to be unsigned HOST_WIDE_INT.
(add_to_addressable_set): Rename from note_addressable.
Set TREE_ADDRESSABLE as the variables are added to the set.
Update all users.
(add_stmt_operand): Do not try to micro-optimize unmodifiable
operands into VUSEs when adding V_MAY_DEFs for members in an
alias set.
* tree-ssa-operands.h (add_to_addressable_set): Declare.
* tree-ssa-structalias.c: Include tree-ssa-structalias.h last.
(struct variable_info): Add bitfield is_heap_var.
(var_anyoffset, anyoffset_tree, anyoffset_id): Declare.
(new_var_info): Initialize is_heap_var.
(get_constraint_for): Add HEAP variables to the symbol table.
Mark them with is_heap_var.
(update_alias_info): New. Taken mostly from the old
compute_points_to_and_addr_escape.
(handle_ptr_arith): New.
(find_func_aliases): Call update_alias_info.
Call handle_ptr_info for tcc_binary expressions.
Call mark_stmt_modified.
(create_variable_info_for): If DECL has subvars, do not create
variables for its subvars. Always add all the fields.
(set_uids_in_ptset): If the solution includes ANYOFFSET and
SFTs, then add all the SFTs of the structure.
If VI->DECL is an aggregate with subvariables, add the SFT at
VI->OFFSET.
(find_what_p_points_to): If VI is an artificial variable,
translate to bitfields in SSA_NAME_PTR_INFO.
If the solution is empty, set pi->pt_vars to NULL
(init_base_vars): Create ANYOFFSET.
(compute_points_to_sets): Rename from create_alias_vars.
Make extern.
(pass_build_pta): Remove.
(delete_points_to_sets): Rename from delete_alias_vars.
(pass_del_pta): Remove.
* tree-ssa-structalias.h (struct alias_info): Move from
tree-ssa-alias.h.
(NUM_REFERENCES, NUM_REFERENCES_CLEAR, NUM_REFERENCES_INC,
NUM_REFERENCES_SET): Likewise.
(compute_points_to_sets, delete_points_to_sets): Declare.
testsuite/ChangeLog
* gcc.dg/tree-ssa/pta-fp.c: Use -fdump-tree-alias1.
From-SVN: r101841
|
|
tree-optimization/22310
2005-07-06 Daniel Berlin <dberlin@dberlin.org>
Fix PR tree-optimization/22319
Fix PR tree-optimization/22140
Fix PR tree-optimization/22310
* tree-ssa-structalias.c (do_structure_copy): Give up earlier on
variable sized types.
Use correct type for intermediate structure on *a = *b structure
copies.
From-SVN: r101658
|
|
saying it points to readonly memory if we can't do better.
2005-07-04 Daniel Berlin <dberlin@dberlin.org>
* tree-ssa-structalias.c (get_constraint_exp_from_ssa_var):
Only fall back to saying it points to readonly memory if
we can't do better.
From-SVN: r101625
|
|
From-SVN: r101609
|