[LLVMdev] Cross-Block Dead Store Elimination

Philip Reames listmail at philipreames.com
Wed Nov 5 16:48:03 PST 2014


On 10/24/2014 01:17 PM, Artem Dinaburg wrote:
> Hi,
>
> It looks like the DeadStoreElimination optimization doesn't work across BasicBlock boundaries. The project I'm working on (https://github.com/trailofbits/mcsema), would tremendously benefit from even simple cross-block DSE.
If you have specific small examples which aren't getting caught, I'd be 
interested in seeing test cases (as bugs.)
> There was a patch to do non-local DSE few years ago (http://lists.cs.uiuc.edu/pipermail/llvmdev/2010-January/028751.html), but seems that the patch was never merged.
>
> Is there an existing way to do cross-block DSE?
EarlyCSE handles limited cases here.  GVN probably could, but doesn't 
seem to.  (Which surprises me.)
> Was there something wrong with the original non-local DSE patch that it wasn't merged?
I suspect it got lost in review.  It looks like there were some quality 
issues with the original implementation and the cycle never got closed.
>
> Thanks,
> Artem
>
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20141105/d0343b31/attachment.html>


More information about the llvm-dev mailing list