[Attributor] Dominating must-write accesses allow unknown initial values
authorJohannes Doerfert <johannes@jdoerfert.de>
Thu, 19 May 2022 22:20:48 +0000 (17:20 -0500)
committerJohannes Doerfert <johannes@jdoerfert.de>
Fri, 22 Jul 2022 04:08:43 +0000 (23:08 -0500)
commit62f7888d6d9d98481a1373db1d7804b49c69ec12
tree79bbb3f634154126e34e53a56005db0ea08c3b84
parentdfac03027186edc1d26ad1d485e6c08d3d9a1fb7
[Attributor] Dominating must-write accesses allow unknown initial values

If we have a dominating must-write access we do not need to know the
initial value of some object to perform reasoning about the potential
values. The dominating must-write has overwritten the initial value.
14 files changed:
llvm/include/llvm/Transforms/IPO/Attributor.h
llvm/lib/Transforms/IPO/Attributor.cpp
llvm/lib/Transforms/IPO/AttributorAttributes.cpp
llvm/test/Transforms/Attributor/ArgumentPromotion/aggregate-promote.ll
llvm/test/Transforms/Attributor/ArgumentPromotion/alignment.ll
llvm/test/Transforms/Attributor/ArgumentPromotion/attrs.ll
llvm/test/Transforms/Attributor/ArgumentPromotion/basictest.ll
llvm/test/Transforms/Attributor/ArgumentPromotion/byval-2.ll
llvm/test/Transforms/Attributor/ArgumentPromotion/byval.ll
llvm/test/Transforms/Attributor/ArgumentPromotion/control-flow2.ll
llvm/test/Transforms/Attributor/ArgumentPromotion/profile.ll
llvm/test/Transforms/Attributor/internal-noalias.ll
llvm/test/Transforms/Attributor/value-simplify-pointer-info.ll
llvm/test/Transforms/Attributor/wrapper.ll