summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms
diff options
context:
space:
mode:
authorHideto Ueno <uenoku.tokotoko@gmail.com>2019-08-30 10:00:32 +0000
committerHideto Ueno <uenoku.tokotoko@gmail.com>2019-08-30 10:00:32 +0000
commit6381b143f6cc3607a1a96442aa06dc469ea1fc79 (patch)
tree1bbad4951cc047118aafea8ab867b8641de90330 /llvm/lib/Transforms
parent3b08a61f7e81fea7b4d04fd7c6072d4ee71dacf6 (diff)
downloadbcm5719-llvm-6381b143f6cc3607a1a96442aa06dc469ea1fc79.tar.gz
bcm5719-llvm-6381b143f6cc3607a1a96442aa06dc469ea1fc79.zip
[Attributor] Implement AANoAliasCallSiteArgument initialization
Summary: This patch adds an appropriate `initialize` method for `AANoAliasCallSiteArgument`. Reviewers: jdoerfert, sstefan1 Reviewed By: jdoerfert Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D66927 llvm-svn: 370456
Diffstat (limited to 'llvm/lib/Transforms')
-rw-r--r--llvm/lib/Transforms/IPO/Attributor.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/llvm/lib/Transforms/IPO/Attributor.cpp b/llvm/lib/Transforms/IPO/Attributor.cpp
index dff7011061a..05686921a65 100644
--- a/llvm/lib/Transforms/IPO/Attributor.cpp
+++ b/llvm/lib/Transforms/IPO/Attributor.cpp
@@ -1592,8 +1592,10 @@ struct AANoAliasCallSiteArgument final : AANoAliasImpl {
/// See AbstractAttribute::initialize(...).
void initialize(Attributor &A) override {
- // TODO: It isn't sound to initialize as the same with `AANoAliasImpl`
- // because `noalias` may not be valid in the current position.
+ // See callsite argument attribute and callee argument attribute.
+ ImmutableCallSite ICS(&getAnchorValue());
+ if (ICS.paramHasAttr(getArgNo(), Attribute::NoAlias))
+ indicateOptimisticFixpoint();
}
/// See AbstractAttribute::updateImpl(...).
OpenPOWER on IntegriCloud