diff options
| author | Hideto Ueno <uenoku.tokotoko@gmail.com> | 2019-08-30 10:00:32 +0000 |
|---|---|---|
| committer | Hideto Ueno <uenoku.tokotoko@gmail.com> | 2019-08-30 10:00:32 +0000 |
| commit | 6381b143f6cc3607a1a96442aa06dc469ea1fc79 (patch) | |
| tree | 1bbad4951cc047118aafea8ab867b8641de90330 /llvm/lib/Transforms | |
| parent | 3b08a61f7e81fea7b4d04fd7c6072d4ee71dacf6 (diff) | |
| download | bcm5719-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.cpp | 6 |
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(...). |

