This patch adds a check of alias analysis in noalias callsite argument deduction.
Details
Details
Diff Detail
Diff Detail
- Repository
- rL LLVM
Event Timeline
llvm/test/Transforms/FunctionAttrs/noalias_returned.ll | ||
---|---|---|
266 ↗ | (On Diff #220275) | This is because, for now, we check noalias for the floating value firsthand: // (i) Check whether noalias holds in the definition. auto &NoAliasAA = A.getAAFor<AANoAlias>(*this, IRP); if (!NoAliasAA.isAssumedNoAlias()) return indicatePessimisticFixpoint(); And GEP is not looked in AANoaliasFloaitingValue so A_0 and B_0 can't be deduced in this point. |
Comment Actions
Can you hoist the AAR definition and then this LGTM.
llvm/test/Transforms/FunctionAttrs/noalias_returned.ll | ||
---|---|---|
266 ↗ | (On Diff #220275) | I see. We need to strip the pointer in the float AANoAlias deduction later. |