[Attributor] Deduce attributes for non-exact functions
authorLuofan Chen <clfbbn@gmail.com>
Sat, 4 Apr 2020 16:32:36 +0000 (11:32 -0500)
committerJohannes Doerfert <johannes@jdoerfert.de>
Sat, 4 Apr 2020 16:34:58 +0000 (11:34 -0500)
commiteec6d87626e7528d5ffb3609f30fe7f1b00e30a0
tree6d04a9ea9e6263fa0048d30aa387eb96d13f6f2a
parentceed44adfd1ae9d714eaa4f0e7fa5a1a149b4dc5
[Attributor] Deduce attributes for non-exact functions

This patch is based on D63312 and D63319. For now we create shallow wrappers for all functions that are IPO amendable.
See also [this github issue](https://github.com/llvm/llvm-project/issues/172).

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D76404
llvm/lib/Transforms/IPO/Attributor.cpp
llvm/test/Transforms/Attributor/wrapper.ll [new file with mode: 0644]