aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linearize.c
diff options
authorLuc Van Oostenryck <luc.vanoostenryck@gmail.com>2017-04-14 14:52:36 +0200
committerLuc Van Oostenryck <luc.vanoostenryck@gmail.com>2018-03-18 19:02:28 +0100
commitaa35b472057ea8eea0853e4e88f1568e1921b1eb (patch)
treefb236826a027cc67621556a529fe025b2be8f30a /linearize.c
parent16af95f8e0b235ee036ed30a2b0c48728a365060 (diff)
downloadsparse-dev-aa35b472057ea8eea0853e4e88f1568e1921b1eb.tar.gz
small code reorg of add_store()
No functional changes here. Just prepare for upcoming changes. Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
Diffstat (limited to 'linearize.c')
-rw-r--r--linearize.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/linearize.c b/linearize.c
index 80bc9e29..6b79864e 100644
--- a/linearize.c
+++ b/linearize.c
@@ -949,15 +949,16 @@ static pseudo_t add_load(struct entrypoint *ep, struct access_data *ad)
static void add_store(struct entrypoint *ep, struct access_data *ad, pseudo_t value)
{
struct basic_block *bb = ep->active;
+ struct instruction *store;
- if (bb_reachable(bb)) {
- struct symbol *btype = bitfield_base_type(ad->type);
- struct instruction *store = alloc_typed_instruction(OP_STORE, btype);
- store->offset = ad->offset;
- use_pseudo(store, value, &store->target);
- use_pseudo(store, ad->address, &store->src);
- add_one_insn(ep, store);
- }
+ if (!bb)
+ return;
+
+ store = alloc_typed_instruction(OP_STORE, bitfield_base_type(ad->type));
+ store->offset = ad->offset;
+ use_pseudo(store, value, &store->target);
+ use_pseudo(store, ad->address, &store->src);
+ add_one_insn(ep, store);
}
static pseudo_t linearize_store_gen(struct entrypoint *ep,