[PATCH] D77454: [WIP] LoadInst should store Align, not MaybeAlign.
Guillaume Chatelet via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Sun Apr 5 02:39:42 PDT 2020
gchatelet added a comment.
Thx a lot @efriedma!
The whole purpose of the effort behind `Align`/`MaybeAlign` was indeed to remove confusion (and bugs).
LLVM code is huge and I had to be conservative most of the time, navigating visually and trying to guess what was expected by interfaces. This is great to know that the `LoadInst` API needs a resolved alignment, definitely helps a lot!
I'm happy if we end up dropping `MaybeAlign` completely although I believe it's still necessary for some interfaces. The less the better obviously.
================
Comment at: llvm/lib/Target/NVPTX/NVPTXLowerAggrCopies.cpp:117
+ /* CopyLen */ CopyLen,
+ /* SrcAlign */ MaybeAlign(LI->getAlign()).valueOrOne(),
+ /* DestAlign */ SI->getAlign().valueOrOne(),
----------------
Is this necessary? `LI->getAlign()` should suffice.
================
Comment at: llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp:1027
// load (select (Cond, &V1, &V2)) --> select(Cond, load &V1, load &V2).
- const MaybeAlign Alignment(LI.getAlignment());
+ auto Alignment(LI.getAlign());
if (isSafeToLoadUnconditionally(SI->getOperand(1), LI.getType(),
----------------
`auto Alignment = LI.getAlign();`
================
Comment at: llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp:559
+ return nullptr;
+ Align LoadAlignment(FirstLI->getAlignment());
unsigned LoadAddrSpace = FirstLI->getPointerAddressSpace();
----------------
`Align LoadAlignment = FirstLI->getAlignment();`
================
Comment at: llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp:594
- LoadAlignment = std::min(LoadAlignment, MaybeAlign(LI->getAlignment()));
+ LoadAlignment = std::min(LoadAlignment, Align(LI->getAlignment()));
----------------
`LoadAlignment = std::min(LoadAlignment, LI->getAlign());`
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D77454/new/
https://reviews.llvm.org/D77454
More information about the llvm-commits
mailing list