[PATCH] D68852: [Attributor] Pointer privatization attribute (argument promotion)
Johannes Doerfert via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Dec 16 19:03:55 PST 2019
jdoerfert marked 2 inline comments as done.
jdoerfert added inline comments.
================
Comment at: llvm/lib/Transforms/IPO/Attributor.cpp:4697
+ } else {
+ ReplacementValues.push_back(new LoadInst(PrivType, Base, "", IP));
+ }
----------------
efriedma wrote:
> No alignment set on loads?
I'll add the alignment for the alloca below based on the alignment of the pointer it replaces. The loads and stores will be annotated by the next run of the Attributor automatically.
We can also consider not emitting it if we can prove it is not needed, though that will not always be the case and it will require an analysis we do not yet have (something like AAAccessTracker).
Finally, SROA should, in the good case, eliminate the alloca completely.
================
Comment at: llvm/lib/Transforms/IPO/Attributor.cpp:4796
+ if (auto *AI = dyn_cast<AllocaInst>(Obj))
+ if (auto *CI = dyn_cast<ConstantInt>(AI->getArraySize()))
+ if (CI->isOne())
----------------
efriedma wrote:
> isArrayAllocation()
Will do.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D68852/new/
https://reviews.llvm.org/D68852
More information about the llvm-commits
mailing list