aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@ppc970.osdl.org>2004-11-26 20:14:38 -0700
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-04-07 21:05:00 -0700
commit59a346978545f2bb361094a42c77b4b94ff7c78b (patch)
tree5d606225eeffae34996391aeaba45a0db853edb0 /linearize.h
parentFix pseudo->def on OP_PHI->OP_SEL conversion. (diff)
downloadsparse-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.h2
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);