[all-commits] [llvm/llvm-project] af4835: [Attributor][FIX] Stabilize the state of AAReturne...

Johannes Doerfert via All-commits all-commits at lists.llvm.org
Tue May 12 19:02:16 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: af48351cc8fc63148e8cfd10a936b2d5d0c2f078
      https://github.com/llvm/llvm-project/commit/af48351cc8fc63148e8cfd10a936b2d5d0c2f078
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2020-05-12 (Tue, 12 May 2020)

  Changed paths:
    M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
    M llvm/test/Transforms/Attributor/returned.ll

  Log Message:
  -----------
  [Attributor][FIX] Stabilize the state of AAReturnedValues each update

For AAReturnedValues we treated new and existing information differently
in the updateImpl. Only the latter was properly analyzed and
categorized. The former was thought to be analyzed in the subsequent
update. Since the Attributor does not support "self-updates" we need to
make sure the state is "stable" after each updateImpl invocation. That
is, if the surrounding information does not change, the state is valid.
Now we make sure all return values have been handled and properly
categorized each iteration. We might not update again if we have not
requested a non-fix attribute so we cannot "wait" for the next update to
analyze a new return value.

Bug reported by @sdmitriev.




More information about the All-commits mailing list