summaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-scopedtables.h
diff options
context:
space:
mode:
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>2015-09-04 15:15:59 +0000
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>2015-09-04 15:15:59 +0000
commit9964a98388674fd4884943ff1ac12152af99fa7f (patch)
tree118616fb2c9da24c0c8d264650464a0fdf898a55 /gcc/tree-ssa-scopedtables.h
parent2eebe9a8ff3a5ae175225fd51a2b0f94a7f3c88a (diff)
downloadgcc-9964a98388674fd4884943ff1ac12152af99fa7f.tar.gz
[PATCH] Minor cleanup of const_and_copies stack
* 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227493 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-ssa-scopedtables.h')
-rw-r--r--gcc/tree-ssa-scopedtables.h19
1 files changed, 16 insertions, 3 deletions
diff --git a/gcc/tree-ssa-scopedtables.h b/gcc/tree-ssa-scopedtables.h
index bc30ee67583..564c24d4289 100644
--- a/gcc/tree-ssa-scopedtables.h
+++ b/gcc/tree-ssa-scopedtables.h
@@ -23,18 +23,31 @@ along with GCC; see the file COPYING3. If not see
class const_and_copies
{
public:
- const_and_copies (FILE *, int);
+ const_and_copies (void) { stack.create (20); };
~const_and_copies (void) { stack.release (); }
+
+ /* Push the unwinding marker onto the stack. */
void push_marker (void) { stack.safe_push (NULL_TREE); }
+
+ /* Restore the const/copies table to its state whe the last marker
+ was pushed. */
void pop_to_marker (void);
+
+ /* Record a single const/copy pair that can be unwound. */
void record_const_or_copy (tree, tree);
+
+ /* Special entry point when we want to provide an explicit previous
+ value for the first argument. Try to get rid of this in the future. */
void record_const_or_copy (tree, tree, tree);
+
+ /* When threading we need to invalidate certain equivalences after
+ following a loop backedge. The entries we need to invalidate will
+ always be in this unwindable stack. This entry point handles
+ finding and invalidating those entries. */
void invalidate (tree);
private:
vec<tree> stack;
- FILE *dump_file;
- int dump_flags;
};
#endif /* GCC_TREE_SSA_SCOPED_TABLES_H */