[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