[PATCH] D37463: Fix miscompile in LoopSink pass

Daniil Suchkov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 7 23:10:24 PDT 2017


DaniilSuchkov added a comment.

LoopSink uses canSinkOrHoistInst from LICM to check whether instruction can be sunk or not. This check rejects all loads with isUnordered() == true (see http://llvm.org/docs/Atomics.html#atomics-and-ir-optimization). It looks like "unordered" atomics are handled in a right way: they are never sunk into loops.


Repository:
  rL LLVM

https://reviews.llvm.org/D37463





More information about the llvm-commits mailing list