aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linearize.c
diff options
authorLuc Van Oostenryck <luc.vanoostenryck@gmail.com>2017-11-13 14:16:10 +0100
committerLuc Van Oostenryck <luc.vanoostenryck@gmail.com>2017-11-13 14:16:10 +0100
commit1f6cd6fe94fc440a9bbd9c2f1070bd016e550be4 (patch)
tree73d5dee14c2d20e92b37b868ae3e12fb8d3b8cc3 /linearize.c
parent5d7a65b06e8f8d42f80a046950e8f990d149b48e (diff)
parent555217d63d01f31d6322d475e33b5912a5926169 (diff)
downloadsparse-dev-1f6cd6fe94fc440a9bbd9c2f1070bd016e550be4.tar.gz
Merge branch 'dump-ir' into tip
Diffstat (limited to 'linearize.c')
-rw-r--r--linearize.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/linearize.c b/linearize.c
index 905b473e..9040d5d9 100644
--- a/linearize.c
+++ b/linearize.c
@@ -2186,11 +2186,8 @@ static struct entrypoint *linearize_fn(struct symbol *sym, struct symbol *base_t
add_one_insn(ep, insn);
}
- if (fdump_linearize) {
- if (fdump_linearize == 2)
- return ep;
+ if (fdump_ir & PASS_LINEARIZE)
show_entry(ep);
- }
/*
* Do trivial flow simplification - branches to
@@ -2201,8 +2198,13 @@ static struct entrypoint *linearize_fn(struct symbol *sym, struct symbol *base_t
/*
* Turn symbols into pseudos
*/
- simplify_symbol_usage(ep);
+ if (fpasses & PASS_MEM2REG)
+ simplify_symbol_usage(ep);
+ if (fdump_ir & PASS_MEM2REG)
+ show_entry(ep);
+ if (!(fpasses & PASS_OPTIM))
+ return ep;
repeat:
/*
* Remove trivial instructions, and try to CSE