Print this page
11972 resync smatch
Split |
Close |
Expand all |
Collapse all |
--- old/usr/src/tools/smatch/src/flow.h
+++ new/usr/src/tools/smatch/src/flow.h
1 1 #ifndef FLOW_H
2 2 #define FLOW_H
3 3
4 4 #include "lib.h"
5 5
6 6 extern unsigned long bb_generation;
7 7
8 -#define REPEAT_CSE 1
9 -#define REPEAT_SYMBOL_CLEANUP 2
10 -#define REPEAT_CFG_CLEANUP 3
8 +#define REPEAT_CSE (1 << 0)
9 +#define REPEAT_SYMBOL_CLEANUP (1 << 1)
10 +#define REPEAT_CFG_CLEANUP (1 << 2)
11 11
12 12 struct entrypoint;
13 13 struct instruction;
14 14
15 15 extern int simplify_flow(struct entrypoint *ep);
16 16
17 +extern void kill_dead_stores(struct entrypoint *ep, pseudo_t addr, int local);
17 18 extern void simplify_symbol_usage(struct entrypoint *ep);
18 19 extern void simplify_memops(struct entrypoint *ep);
19 20 extern void pack_basic_blocks(struct entrypoint *ep);
20 21
21 22 extern void convert_instruction_target(struct instruction *insn, pseudo_t src);
22 -extern void cleanup_and_cse(struct entrypoint *ep);
23 +extern void remove_dead_insns(struct entrypoint *);
23 24 extern int simplify_instruction(struct instruction *);
24 25
25 26 extern void kill_bb(struct basic_block *);
26 27 extern void kill_use(pseudo_t *);
28 +extern void remove_use(pseudo_t *);
27 29 extern void kill_unreachable_bbs(struct entrypoint *ep);
28 30
29 -extern void kill_insn(struct instruction *, int force);
30 -static inline void kill_instruction(struct instruction *insn)
31 +extern int kill_insn(struct instruction *, int force);
32 +static inline int kill_instruction(struct instruction *insn)
31 33 {
32 - kill_insn(insn, 0);
34 + return kill_insn(insn, 0);
33 35 }
34 -static inline void kill_instruction_force(struct instruction *insn)
36 +static inline int kill_instruction_force(struct instruction *insn)
35 37 {
36 - kill_insn(insn, 1);
38 + return kill_insn(insn, 1);
37 39 }
38 40
39 41 void check_access(struct instruction *insn);
40 42 void convert_load_instruction(struct instruction *, pseudo_t);
41 43 void rewrite_load_instruction(struct instruction *, struct pseudo_list *);
42 44 int dominates(pseudo_t pseudo, struct instruction *insn, struct instruction *dom, int local);
43 45
44 -extern void clear_liveness(struct entrypoint *ep);
45 -extern void track_pseudo_liveness(struct entrypoint *ep);
46 -extern void track_pseudo_death(struct entrypoint *ep);
47 -extern void track_phi_uses(struct instruction *insn);
48 -
49 46 extern void vrfy_flow(struct entrypoint *ep);
50 47 extern int pseudo_in_list(struct pseudo_list *list, pseudo_t pseudo);
51 48
52 49 #endif
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX