[PATCH] D14797: [BranchFolding] Add volatile checking when clearing memory references

Chad Rosier via llvm-commits llvm-commits at lists.llvm.org
Thu Nov 19 05:40:30 PST 2015


mcrosier added a comment.

In http://reviews.llvm.org/D14797#292428, @flyingforyou wrote:

> Thanks Geoff.
>
> Is that safe for other optimization passes? Actually, I am not sure that merging memref lists is safe.
>  If you think it is safe, I will do that. please let me know.


Checkout the commit message for r231799.

Merging multiple MMO's onto a single MI should not cause any correctness issues.  However, the MI scheduler doesn't know how to handle multiple MMOs, so it makes conservative assumptions in this case (see the FIXME comment in ScheduleDAGInstrs.cpp:MIsNeedChainEdge()).

In r231799, Ana and I added the == operator for MMOs.  When merging the MMO into the MI you could check for redundant MMOs and not merge them.  I don't know if this is necessary for your use case, however.

HTH, Chad


http://reviews.llvm.org/D14797





More information about the llvm-commits mailing list