[PATCH] D92431: [SROA] Remove Dead Instructions while creating speculative instructions

Arnamoy B via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Dec 1 14:18:48 PST 2020


arnamoy10 added a comment.

Here is a diff for the content of DeadInsts just before and after a `speculatePHINodeLoads()` F14483561: temp.PNG <https://reviews.llvm.org/F14483561>

The address of the deleted `LI` was NOT taken by the new speculative load, giving rise to a dangling pointer in `DeadInsts`.

PS:  The bug does not show up when running `sroa` standalone with `opt` or with Vanilla LLVM10 pipeline.  We discovered the bug while compiling a test program for our custom compiler.  The bitcode just before the crashing sroa was as follows:

F14483600: test.ll <https://reviews.llvm.org/F14483600>


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D92431/new/

https://reviews.llvm.org/D92431



More information about the llvm-commits mailing list