aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/Documentation
diff options
authorLuc Van Oostenryck <luc.vanoostenryck@gmail.com>2018-03-06 01:50:18 +0100
committerLuc Van Oostenryck <luc.vanoostenryck@gmail.com>2018-03-18 19:02:28 +0100
commit334bae855c8e24f30bfaa911265c0d64cab3432d (patch)
tree037049f47af9a5880ec68a2f10193a016c937703 /Documentation
parent1609176c9dbddd280c20a49fce81c9e1dd9b9c78 (diff)
downloadsparse-dev-334bae855c8e24f30bfaa911265c0d64cab3432d.tar.gz
avoid deadborn loads & stores
During linearization, most kinds of instruction are not generated if there is no active BB (which mean that these instructions can never be executed). However, loads & stores are generated anyway. These dead loads and stores will then need to be removed which is a bit tricky: - memops are special and more complex to be removed than instructions like 'add' and such. - these instructions exist in 'phantom basic blocks': a BB which has ia null bb->ep and which doesn't belong to then entrypoint's ep->bbs. Such blocks are considered as removed and are never scanned or anything. Keep things simple and avoid to generate memops in inactive basic blocks. Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
Diffstat (limited to 'Documentation')
0 files changed, 0 insertions, 0 deletions