[Attributor] Allow IR-attr deduction for non-IPO amendable functions
authorJohannes Doerfert <johannes@jdoerfert.de>
Mon, 10 Jul 2023 23:43:27 +0000 (16:43 -0700)
committerJohannes Doerfert <johannes@jdoerfert.de>
Fri, 14 Jul 2023 20:54:04 +0000 (13:54 -0700)
commit55544518c6020b98e12a31c0c7d13bb0e549d850
tree49bc409a3abcea381063620e891fccbd68c9043e
parent4dc5662c27d57bd66f15962e785aa309a39d10b3
[Attributor] Allow IR-attr deduction for non-IPO amendable functions

If the function is non-IPO amendable we do skip most attributes/AAs.
However, if an AA has a isImpliedByIR that can deduce the attribute from
other attributes, we can run those. For now, we manually enable them,
if we have more later we can use some automation/flag.
15 files changed:
llvm/include/llvm/Transforms/IPO/Attributor.h
llvm/lib/Transforms/IPO/Attributor.cpp
llvm/test/Transforms/Attributor/ArgumentPromotion/array.ll
llvm/test/Transforms/Attributor/ArgumentPromotion/musttail.ll
llvm/test/Transforms/Attributor/ArgumentPromotion/variadic.ll
llvm/test/Transforms/Attributor/align.ll
llvm/test/Transforms/Attributor/depgraph.ll
llvm/test/Transforms/Attributor/memory_locations.ll
llvm/test/Transforms/Attributor/nocapture-1.ll
llvm/test/Transforms/Attributor/nofree.ll
llvm/test/Transforms/Attributor/nonnull.ll
llvm/test/Transforms/Attributor/readattrs.ll
llvm/test/Transforms/Attributor/value-simplify-instances.ll
llvm/test/Transforms/Attributor/value-simplify-pointer-info.ll
llvm/test/Transforms/Attributor/willreturn.ll