aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-scopedtables.h
AgeCommit message (Collapse)AuthorFilesLines
2017-03-15re PR tree-optimization/71437 (Performance regression after r235817)Jeff Law1-0/+21
PR tree-optimization/71437 * tree-ssa-dom.c (struct cond_equivalence): Moved from here into tree-ssa-scopedtables. (lookup_avail_expr, build_and_record_new_cond): Likewise. (record_conditions, record_cond, vuse_eq): Likewise. (record_edge_info): Adjust to API tweak of record_conditions. (simplify_stmt_for_jump_threading): Similarly for lookup_avail_expr. (record_temporary_equivalences, optimize_stmt): Likewise. (eliminate_redundant_computations): Likewise. (record_equivalences_from_stmt): Likewise. * tree-ssa-scopedtables.c: Include options.h and params.h. (vuse_eq): New function, moved from tree-ssa-dom.c (build_and_record_new_cond): Likewise. (record_conditions): Likewise. Accept vector of conditions rather than edge_equivalence structure for first argument. for the first argument. (avail_exprs_stack::lookup_avail_expr): New member function, moved from tree-ssa-dom.c. (avail_exprs_stack::record_cond): Likewise. * tree-ssa-scopedtables.h (struct cond_equivalence): Moved here from tree-ssa-dom.c. (avail_exprs_stack): Add new member functions lookup_avail_expr and record_cond. (record_conditions): Declare. From-SVN: r246186
2017-01-01Update copyright years.Jakub Jelinek1-1/+1
From-SVN: r243994
2016-02-08re PR tree-optimization/65917 (XFAIL: gcc.dg/tree-ssa/20030922-2.c ↵Jeff Law1-2/+9
scan-tree-dump-times dom1 "if " 2) PR tree-optimization/65917 * tree-ssa-dom.c (record_temporary_equivalences): Record both equivalences from if (x == y) style conditionals. (loop_depth_of_name): Remove. (record_equality): Remove loop depth check. * tree-ssa-scopedtables.h (const_and_copies): Refine comments. (const_and_copies::record_const_or_copy_raw): New member function. * tree-ssa-scopedtables.c (const_and_copies::record_const_or_copy_raw): New, factored out of (const_and_copies::record_const_or_copy): Call new member function. PR tree-optimization/65917 * gcc.dg/tree-ssa/20030922-2.c: No longer xfailed. From-SVN: r233207
2016-01-04Update copyright years.Jakub Jelinek1-1/+1
From-SVN: r232055
2015-10-29[PATCH] Remove unnecessary invalidation support in threadingJeff Law1-6/+0
2015-10-29 Jeff Law <law@redhat.com> * tree-ssa-scopedtables.h (const_and_copies): Remove invalidate method. * tree-ssa-scopedtables.h (const_and_copies::invalidate): Remove. * tree-ssa-threadedge.c (record_temporary_equivalences_from_stmts_at_dest): Remove backedge_seen argument and associated code which invalidated equivalences based on the value of that argument. (thread_through_normal_block): Corresponding changes. From-SVN: r229559
2015-09-20switch from gimple to gimple*Trevor Saunders1-1/+1
This renames the gimple_statement_base struct to gimple removes the typedef of gimple_statement_base * to gimple, and then adjusts all of the places that use the type. gcc/ChangeLog: 2015-09-19 Trevor Saunders <tbsaunde@tbsaunde.org> * coretypes.h (gimple): Change typedef to be a forward declaration. * gimple.h (gimple_statement_base): rename to gimple. * (all functions and types using gimple): Adjust. * *.[ch]: Likewise. gcc/cp/ChangeLog: 2015-09-19 Trevor Saunders <tbsaunde@tbsaunde.org> * cp-gimplify.c (gimplify_must_not_throw_expr): Adjust. From-SVN: r227941
2015-09-18[PATCH] avail_exprs is no longer file scopedJeff Law1-1/+6
* tree-ssa-dom.c (avail_exprs): No longer file scoped. Bury it into the avail_exprs_stack class. (pass_dominator::execute): Corresponding changes to declaration and initialization of avail_exprs. Pass avail_exprs to dump_dominator_optimization_stats. (record_cond): Extract avail_exprs from avail_exprs_stack. (lookup_avail_expr): Similarly. (htab_staticstics): Remove unnecessary prototype. Move to earlier position in file. (dump_dominator_optimization_stats): Make static and prototype. Add argument for the hash table to dump. (debug_dominator_optimization_stats): Remove. * tree-ssa-dom.h (dump_dominator_optimization_stats): Remove prototype. (debug_dominator_optimization_stats): Similarly. * tree-ssa-scopedtables.h (class avail_exprs_stack): Add missing "void" in prototype for pop_to_marker method. Add accessor method for the underlying avail_exprs table. * tree-ssa-threadedge.c: Remove trailing whitespace. From-SVN: r227921
2015-09-16[PATCH] Move code out of tree-ssa-dom into tree-ssa-scopedtablesJeff Law1-0/+121
PR tree-optimization/47679 * tree-ssa-dom.c (enum expr_kind): Moved from here to tree-ssa-scopedtables.h. (struct hashable_expr, class expr_hash_elt): Likewise. (struct expr_elt_hasher, class avail_exprs_stack): Likewise. Move associated methods into tree-ssa-scopedtables.c. (avail_expr_hash, initialize_expr_from_cond): Similarly. (hashable_expr_equal_p, add_expr_commutative): Likewise. (add_hashable_expr): Likewise. (record_cond): Delete element directly. * tree-ssa-scopedtables.h (avail_expr_stack, const_and_copies): Add private copy ctor and assignment operator methods. (expr_elt_hasher): Inline trivial methods. (initialize_expr_from_cond): Prototype. * tree-ssa-scopedtables.c: Add necessary includes, functions and methods that were previously in tree-ssa-dom.c. Improve various comments. From-SVN: r227831
2015-09-11[PATCH] Another small cleanup to the const_and_copies stackJeff Law1-4/+10
2015-09-11 Jeff Law <law@redhat.com> PR tree-optimization/47679 * tree-ssa-dom.c (struct cond_equivalence): Update comment. * tree-ssa-scopedtables.h (class const_and_copies): Prefix data member with m_. Update inline member functions as necessary. Add toplevel comment. * tree-ssa-scopedtables.c: Update const_and_copies's member functions to use m_ prefix to access the stack. From-SVN: r227697
2015-09-08Re: [PATCH] Minor cleanup of const_and_copies stackJeff Law1-1/+1
Re: [PATCH] Minor cleanup of const_and_copies stack * tree-ssa-scopedtables.h (class const_and_copies): Fix comment typo. From-SVN: r227559
2015-09-04[PATCH] Minor cleanup of const_and_copies stackJeff Law1-3/+16
* tree-ssa-scopedtables.c (const_and_copies::const_and_copies): Remove unnecessary constructor. It's now trivial and implemented inside... * tree-ssa-scopedtables.h (const_and_copies): Implement trivial constructor. Add comments to various methods. Remove unused private fields. * tree-ssa-dom.c (pass_dominator::execute): Corresponding changes. * tree-vrp.c (identify_jump_threads): Likewise. * tree-ssa-threadedge.c (thread_through_normal_block): Fix minor indentation issues. (thread_across_edge): Similarly. (record_temporary_equivalences_from_stmts_at_dest): Remove unused arguments in constructor call. From-SVN: r227493
2015-04-17re PR tree-optimization/47679 (Strange uninitialized warning after SRA)Jeff Law1-0/+40
PR tree-optimization/47679 * Makefile.in (OBJS); Add tree-ssa-scopedtables.o. * tree-ssa-scopedtables.c: New file. * tree-ssa-scopedtables.h: New file. * tree-ssa-dom.c: Include tree-ssa-scopedtables.h. (const_and_copies): Change name/type. (record_const_or_copy): Move into tree-ssa-scopedtables.c (record_const_or_copy_1): Similarly. (restore_vars_to_original_value): Similarly. (pass_dominator::execute): Create and destroy const_and_copies table. (thread_across_edge): Update passing of const_and_copies. (record_temporary_equivalence): Use method calls rather than manipulating const_and_copies directly. (record_equality, cprop_into_successor_phis): Similarly. (dom_opt_dom_walker::before_dom_children): Similarly. (dom_opt_dom_walker::after_dom_children): Similarly. (eliminate_redundant_computations): Similarly. * tree-ssa-threadedge.c (remove_temporary_equivalences): Delete. (record_temporary_equivalence): Likewise. (invalidate_equivalences): Likewise. (record_temporary_equivalences_from_phis): Update due to type change of const_and_copies. Use method calls rather than manipulating the stack directly. (record_temporary_equivalences_from_stmts_at_dest): Likewise. (thread_through_normal_block, thread_across_edge): Likewise. (thread_across_edge): Likewise. * tree-ssa-threadedge.h (thread_across_edge): Update prototype. * tree-vrp.c: Include tree-ssa-scopedtables.h. Change type of equiv_stack. (identify_jump_threads): Update due to type change of equiv_stack. (finalize_jump_threads): Delete the equiv_stack when complete. From-SVN: r222195