diff options
author | Linus Torvalds <torvalds@ppc970.osdl.org> | 2004-10-22 18:20:39 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-04-07 21:03:37 -0700 |
commit | 93f1ca29e4cfc460836c487d81368c991772abe1 (patch) | |
tree | dc9ec138c9e924812a1b645b3d5bddf5e6b80ecc /linearize.h | |
parent | a154193c75f37423db0d3b3e2f34a87a41ddfcdd (diff) | |
download | sparse-93f1ca29e4cfc460836c487d81368c991772abe1.tar.gz |
Add an internal sparse "context" statement type.
It just ends up propagating the expression to the linearizer,
which creates an internal "context" instruction for it.
Diffstat (limited to 'linearize.h')
-rw-r--r-- | linearize.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/linearize.h b/linearize.h index a92280a3..bc4aacde 100644 --- a/linearize.h +++ b/linearize.h @@ -65,6 +65,9 @@ struct instruction { pseudo_t func; struct pseudo_list *arguments; }; + struct /* context */ { + int increment; + }; }; }; @@ -136,6 +139,9 @@ enum opcode { OP_VANEXT, OP_VAARG, OP_SLICE, + + /* Sparse tagging (line numbers, context, whatever) */ + OP_CONTEXT, }; struct basic_block_list; @@ -150,6 +156,7 @@ struct instruction_list; struct basic_block { unsigned long flags; /* BB status flags */ + int context; struct basic_block_list *parents; /* sources */ struct instruction_list *insns; /* Linear list of instructions */ }; |