[Attributor] Selectively look at the callee even when there are operand bundles
authorJohannes Doerfert <johannes@jdoerfert.de>
Fri, 4 Sep 2020 16:14:33 +0000 (11:14 -0500)
committerJohannes Doerfert <johannes@jdoerfert.de>
Wed, 9 Sep 2020 05:52:17 +0000 (00:52 -0500)
commitc0ab901bddd5cb80c71848a426b7eaa2882b2ef5
treea0538f3f989edf4b030c298986fb8ac5ea462ea5
parent2600c9e2efce1dc4c64870b00a45ae0082c685fc
[Attributor] Selectively look at the callee even when there are operand bundles

While operand bundles carry unpredictable semantics, we know some of
them and can therefore "ignore" them. In this case we allow to look at
the declaration of `llvm.assume` when asked for the attributes at a call
site. The assume operand bundles we have do not invalidate the
declaration attributes.

We cannot test this in isolation because the llvm.assume attributes are
determined by the parser. However, a follow up patch will provide test
coverage.
llvm/lib/Transforms/IPO/Attributor.cpp