[PATCH] D22001: [DSE] Remove dead stores in end blocks containing fence
Duncan P. N. Exon Smith via llvm-commits
llvm-commits at lists.llvm.org
Thu Jul 7 13:17:20 PDT 2016
I still think this should be the version of `isa<>` that takes a reference.
> On 2016-Jul-07, at 12:07, Anna Thomas <anna at azul.com> wrote:
>
> Index: lib/Transforms/Scalar/DeadStoreElimination.cpp
> ===================================================================
> --- lib/Transforms/Scalar/DeadStoreElimination.cpp
> +++ lib/Transforms/Scalar/DeadStoreElimination.cpp
> @@ -771,6 +771,14 @@
> continue;
> }
>
> + // We can remove the dead stores, irrespective of the fence and its ordering
> + // (release/acquire/seq_cst). Fences only constraints the ordering of
> + // already visible stores, it does not make a store visible to other
> + // threads. So, skipping over a fence does not change a store from being
> + // dead.
> + if (isa<FenceInst>(&*BBI))
I still think this should be:
if (isa<FenceInst>(*BBI))
Anna, you mentioned an implicit conversion. I don't see any implicit conversion here, though.
> + continue;
> +
> MemoryLocation LoadedLoc;
>
> // If we encounter a use of the pointer, it is no longer considered dead
More information about the llvm-commits
mailing list