Fix PR 102908: wrongly removing null pointer loads
authorAndrew Pinski <apinski@marvell.com>
Sat, 23 Oct 2021 19:24:43 +0000 (19:24 +0000)
committerAndrew Pinski <apinski@marvell.com>
Mon, 25 Oct 2021 12:08:37 +0000 (12:08 +0000)
commit7518e4c2f0758daac5d650d400565cf49ac3c8c5
treeceaf55f2846cfd5cb6bebfc0c827012b460a58b6
parent0b028fb4989c2bdfaf474b4493c5926fb40da3c3
Fix PR 102908: wrongly removing null pointer loads

Just like PR 100382, here we have a DCE removing a
null pointer load which is needed still.
In this case, execute_fixup_cfg removes a store (correctly)
and then removes the null load (incorrectly) due to
not checking stmt_unremovable_because_of_non_call_eh_p.
This patch adds the check in the similar way as the patch
to fix PR 100382 did.

gcc/ChangeLog:

* tree-ssa-dce.c (simple_dce_from_worklist):
Check stmt_unremovable_because_of_non_call_eh_p also
before removing the statement.
gcc/tree-ssa-dce.c