]> granicus.if.org Git - llvm/commit
[Attributor] Restrict liveness and return information to functions
authorJohannes Doerfert <jdoerfert@anl.gov>
Wed, 28 Aug 2019 14:09:14 +0000 (14:09 +0000)
committerJohannes Doerfert <jdoerfert@anl.gov>
Wed, 28 Aug 2019 14:09:14 +0000 (14:09 +0000)
commit5b06dbd0810a67728d2388ec69a04ef415d441da
treeda6e9a02184a21768983024f7d6de9b61e3b1758
parent8cb71e0f5be4d30b3e0cd43294beddc75af47640
[Attributor] Restrict liveness and return information to functions

Summary:
Until we have proper call-site information we should not recompute
liveness and return information for each call site. This patch directly
uses the function versions and introduces TODOs at the usage sites.

The required iterations to get to the fixpoint are most of the time
reduced by this change and we always avoid work duplication.

Reviewers: sstefan1, uenoku

Subscribers: hiraditya, bollu, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D66562

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@370208 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/IPO/Attributor.cpp
test/Transforms/FunctionAttrs/align.ll
test/Transforms/FunctionAttrs/arg_nocapture.ll
test/Transforms/FunctionAttrs/arg_returned.ll
test/Transforms/FunctionAttrs/liveness.ll
test/Transforms/FunctionAttrs/nonnull.ll
test/Transforms/FunctionAttrs/nounwind.ll
test/Transforms/FunctionAttrs/read_write_returned_arguments_scc.ll