aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linearize.h
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@ppc970.osdl.org>2004-02-22 10:59:46 -0700
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-04-07 21:01:25 -0700
commitbccad350df1a832c5008eef67b641031be8ac3c7 (patch)
tree00eaa5a44bf8515a734e346d26caf6032ebf0f87 /linearize.h
parentca15470fe4bdcf70942367c9c3dd1dcc9eadba07 (diff)
downloadsparse-bccad350df1a832c5008eef67b641031be8ac3c7.tar.gz
Clean up linearization, and make the basic blocks be
true basic blocks (with all exits at the bottom). This will simplify some of the analysis.
Diffstat (limited to 'linearize.h')
-rw-r--r--linearize.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/linearize.h b/linearize.h
index fdd135a4..7fc2b0d1 100644
--- a/linearize.h
+++ b/linearize.h
@@ -8,7 +8,15 @@
struct basic_block_list;
+/*
+ * Basic block flags. Right now we only have one, which keeps
+ * track (at build time) whether the basic block has been branched
+ * out of yet.
+ */
+#define BB_HASBRANCH 0x00000001
+
struct basic_block {
+ unsigned long flags; /* BB status flags */
struct symbol *this; /* Points to the symbol that owns "this" basic block - NULL if unreachable */
struct statement_list *stmts; /* Linear list of statements */
struct symbol *next; /* Points to the symbol that describes the fallthrough */