[PATCH] D76550: [Attributor] Improve the alignment of the loads
Roman Lebedev via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Sun Mar 22 09:36:21 PDT 2020
lebedev.ri added inline comments.
================
Comment at: llvm/lib/Transforms/IPO/Attributor.cpp:5637-5640
+ unsigned Alignment =
+ AlignAA.getKnownAlign() == 0 ? 1 : AlignAA.getKnownAlign();
+ createReplacementValues(Alignment, PrivatizableType.getValue(), ACS,
+ Base, NewArgOperands);
----------------
omarahmed wrote:
> lebedev.ri wrote:
> > lebedev.ri wrote:
> > > Instead, do
> > > ```
> > > createReplacementValues(MaybeAlign(AlignAA.getKnownAlign()), PrivatizableType.getValue(), ACS, Base, NewArgOperands);
> > > ```
> > What happens if you just do `MaybeAlign(AlignAA.getAssumedAlign())`?
> some cases like argument promotion/attrs.ll returns 0 when query AAAlign attribute so that make it doesn't put any alignment to the load instr
Oh, i see what you mean, no alignment implies natural alignment, not alignment of 1..
Please explain all those implications in the source comment.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D76550/new/
https://reviews.llvm.org/D76550
More information about the llvm-commits
mailing list