aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-scopedtables.h
diff options
context:
space:
mode:
authorJeff Law <law@redhat.com>2015-09-04 09:15:59 -0600
committerJeff Law <law@gcc.gnu.org>2015-09-04 09:15:59 -0600
commita12cbc5775e85403cd8ed244c8f45b506afd294b (patch)
tree118616fb2c9da24c0c8d264650464a0fdf898a55 /gcc/tree-ssa-scopedtables.h
parent0417fe49d6be14bb9ebf25b08f67d6a936958d25 (diff)
downloadgcc-a12cbc5775e85403cd8ed244c8f45b506afd294b.zip
gcc-a12cbc5775e85403cd8ed244c8f45b506afd294b.tar.gz
gcc-a12cbc5775e85403cd8ed244c8f45b506afd294b.tar.bz2
[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. From-SVN: r227493
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 bc30ee6..564c24d 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 */