diff options
author | Linus Torvalds <torvalds@ppc970.osdl.org> | 2004-11-26 20:14:38 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-04-07 21:05:00 -0700 |
commit | 59a346978545f2bb361094a42c77b4b94ff7c78b (patch) | |
tree | 5d606225eeffae34996391aeaba45a0db853edb0 /linearize.h | |
parent | Fix pseudo->def on OP_PHI->OP_SEL conversion. (diff) | |
download | sparse-59a346978545f2bb361094a42c77b4b94ff7c78b.tar.gz sparse-59a346978545f2bb361094a42c77b4b94ff7c78b.tar.bz2 sparse-59a346978545f2bb361094a42c77b4b94ff7c78b.zip |
Add a final pseudo usage tracking phase, which keeps
track of which instructions use which pseudos.
It also verifies the usage, which shows a few bugs in
structure handling.
Diffstat (limited to 'linearize.h')
-rw-r--r-- | linearize.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/linearize.h b/linearize.h index 524c209..1373396 100644 --- a/linearize.h +++ b/linearize.h @@ -23,6 +23,7 @@ struct pseudo { unsigned int usage:24, type:8; struct pseudo_ptr_list *users; + struct instruction_list *insns; union { struct symbol *sym; struct instruction *def; @@ -244,6 +245,7 @@ struct entrypoint { struct basic_block_list *bbs; struct basic_block *active; struct basic_block *entry; + struct pseudo_list *pseudos; }; extern void insert_select(struct basic_block *bb, struct instruction *br, struct instruction *phi, pseudo_t true, pseudo_t false); |