diff options
| author | Luc Van Oostenryck <luc.vanoostenryck@gmail.com> | 2018-02-07 13:43:01 +0100 |
|---|---|---|
| committer | Luc Van Oostenryck <luc.vanoostenryck@gmail.com> | 2018-02-14 12:39:39 +0100 |
| commit | da55cba8eadfb6f010a54de507d7d02b672f86f5 (patch) | |
| tree | 7d47076d6e26aec3e46a6f4dadc87f0e9dc95da5 /char.h | |
| parent | 517c5e6e0d637c74d60af3300ecb040d15d45158 (diff) | |
| download | sparse-dev-da55cba8eadfb6f010a54de507d7d02b672f86f5.tar.gz | |
kill dead stores when simplifying symbols
In the initial simplify_symbols() and in simplify_memops()
when a store is simplified away, it's killed via kill_store()
where its ->bb is set to NULL and the usage is removed from
the value. However the usage is not removed from the address.
As consequence, code related to the address calculation
is not optimized away as it should be since the value is
wrongly considered as needed.
Fix this by using kill_instruction_force() to remove these
stores.
Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
Diffstat (limited to 'char.h')
0 files changed, 0 insertions, 0 deletions
