diff options
author | 2004-12-03 12:54:58 -0700 | |
---|---|---|
committer | 2005-04-07 21:05:27 -0700 | |
commit | 422bd24978f19c2ffd3b3f88ac4a083eea4389b3 (patch) | |
tree | c8d9d07fb2e9d30598d12dfa48b7f49edb545360 /linearize.h | |
parent | Expose "show_pseudo()" to the world. (diff) | |
download | sparse-422bd24978f19c2ffd3b3f88ac4a083eea4389b3.tar.gz sparse-422bd24978f19c2ffd3b3f88ac4a083eea4389b3.tar.bz2 sparse-422bd24978f19c2ffd3b3f88ac4a083eea4389b3.zip |
Make the "entrypoint" be a special OP_ENTRY instruction instead of
a special basic block.
This removes a lot of special cases, since now flow doesn't have any
special BB to worry about. It also gives a clear definition point for
argument pseudos, and thus makes liveness tracking lose a special
case.
Diffstat (limited to 'linearize.h')
-rw-r--r-- | linearize.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/linearize.h b/linearize.h index d67de8d..c67065a 100644 --- a/linearize.h +++ b/linearize.h @@ -88,6 +88,10 @@ struct instruction { enum opcode { OP_BADOP, + + /* Entry */ + OP_ENTRY, + /* Terminator */ OP_TERMINATOR, OP_RET = OP_TERMINATOR, @@ -252,7 +256,7 @@ struct entrypoint { struct symbol_list *accesses; struct basic_block_list *bbs; struct basic_block *active; - struct basic_block *entry; + struct instruction *entry; }; extern void insert_select(struct basic_block *bb, struct instruction *br, struct instruction *phi, pseudo_t true, pseudo_t false); |