[PATCH] D67922: [Alignment][NFC] MaybeAlign in GVNExpression
Guillaume Chatelet via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Sep 23 08:53:37 PDT 2019
gchatelet created this revision.
gchatelet added a reviewer: courbet.
Herald added subscribers: llvm-commits, hiraditya.
Herald added a project: LLVM.
This is patch is part of a series to introduce an Alignment type.
See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html
See this patch for the introduction of the type: https://reviews.llvm.org/D64790
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D67922
Files:
llvm/include/llvm/Transforms/Scalar/GVNExpression.h
llvm/lib/Transforms/Scalar/NewGVN.cpp
Index: llvm/lib/Transforms/Scalar/NewGVN.cpp
===================================================================
--- llvm/lib/Transforms/Scalar/NewGVN.cpp
+++ llvm/lib/Transforms/Scalar/NewGVN.cpp
@@ -1332,7 +1332,7 @@
E->setOpcode(0);
E->op_push_back(PointerOp);
if (LI)
- E->setAlignment(LI->getAlignment());
+ E->setAlignment(llvm::MaybeAlign(LI->getAlignment()));
// TODO: Value number heap versions. We may be able to discover
// things alias analysis can't on it's own (IE that a store and a
Index: llvm/include/llvm/Transforms/Scalar/GVNExpression.h
===================================================================
--- llvm/include/llvm/Transforms/Scalar/GVNExpression.h
+++ llvm/include/llvm/Transforms/Scalar/GVNExpression.h
@@ -323,7 +323,7 @@
class LoadExpression final : public MemoryExpression {
private:
LoadInst *Load;
- unsigned Alignment;
+ llvm::MaybeAlign Alignment;
public:
LoadExpression(unsigned NumOperands, LoadInst *L,
@@ -333,7 +333,7 @@
LoadExpression(enum ExpressionType EType, unsigned NumOperands, LoadInst *L,
const MemoryAccess *MemoryLeader)
: MemoryExpression(NumOperands, EType, MemoryLeader), Load(L) {
- Alignment = L ? L->getAlignment() : 0;
+ Alignment.emplace(L ? L->getAlignment() : 0);
}
LoadExpression() = delete;
@@ -348,8 +348,8 @@
LoadInst *getLoadInst() const { return Load; }
void setLoadInst(LoadInst *L) { Load = L; }
- unsigned getAlignment() const { return Alignment; }
- void setAlignment(unsigned Align) { Alignment = Align; }
+ llvm::MaybeAlign getAlignment() const { return Alignment; }
+ void setAlignment(llvm::MaybeAlign Align) { Alignment = Align; }
bool equals(const Expression &Other) const override;
bool exactlyEquals(const Expression &Other) const override {
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D67922.221350.patch
Type: text/x-patch
Size: 1825 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190923/03233b09/attachment.bin>
More information about the llvm-commits
mailing list