[PATCH] D38392: Disallow sinking of unordered atomic loads into loops

Dehao Chen via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Sep 29 12:35:06 PDT 2017


danielcdh added a comment.

In the following example:

while(true) {

  a1 = foo();
  bar(a1);
  while(true) {
    if (baz())
      return atomic_load(a1);
  }

}

The atomic_load(a1) will be executed once without hoisting. But with LICM, it may be called multiple times.


https://reviews.llvm.org/D38392





More information about the llvm-commits mailing list