diff options
author | 2004-11-28 23:39:18 -0700 | |
---|---|---|
committer | 2005-04-07 21:05:14 -0700 | |
commit | 0c5a9f95b494cbd04786857927784c4fddf60365 (patch) | |
tree | 6736204b4513636f1a63c708262f63aba8c8167c /linearize.h | |
parent | Start using instruction sizes properly. (diff) | |
download | sparse-0c5a9f95b494cbd04786857927784c4fddf60365.tar.gz sparse-0c5a9f95b494cbd04786857927784c4fddf60365.tar.bz2 sparse-0c5a9f95b494cbd04786857927784c4fddf60365.zip |
Start tracking cross-basic-block pseudo usage.
This should basically allow us to do register allocation. Or
maybe it's too broken. But the results look reasonable from a
quick manual peek.
Diffstat (limited to 'linearize.h')
-rw-r--r-- | linearize.h | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/linearize.h b/linearize.h index 06b145b..72cf4dd 100644 --- a/linearize.h +++ b/linearize.h @@ -22,7 +22,6 @@ struct pseudo { int nr; enum pseudo_type type; struct pseudo_ptr_list *users; - struct instruction_list *insns; union { struct symbol *sym; struct instruction *def; @@ -174,6 +173,7 @@ struct basic_block { struct basic_block_list *parents; /* sources */ struct basic_block_list *children; /* destinations */ struct instruction_list *insns; /* Linear list of instructions */ + struct pseudo_list *needs, *defines; }; static inline int is_branch_goto(struct instruction *br) @@ -251,7 +251,6 @@ 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); |