diff options
author | Eli Friedman <efriedma@quicinc.com> | 2020-05-18 20:38:13 -0700 |
---|---|---|
committer | Eli Friedman <efriedma@quicinc.com> | 2020-06-23 19:13:42 -0700 |
commit | a2caa3b61497b6be8c8b77823d0fd62b4be1f177 (patch) | |
tree | 9da9e17f80ffd8bb60a06eb2d7932c8a91611932 /llvm/lib/IR/ConstantFold.cpp | |
parent | f8bd6a75edac7560deb5fdcb31041b454dd9d7e0 (diff) | |
download | llvm-a2caa3b61497b6be8c8b77823d0fd62b4be1f177.zip llvm-a2caa3b61497b6be8c8b77823d0fd62b4be1f177.tar.gz llvm-a2caa3b61497b6be8c8b77823d0fd62b4be1f177.tar.bz2 |
Remove GlobalValue::getAlignment().
This function is deceptive at best: it doesn't return what you'd expect.
If you have an arbitrary GlobalValue and you want to determine the
alignment of that pointer, Value::getPointerAlignment() returns the
correct value. If you want the actual declared alignment of a function
or variable, GlobalObject::getAlignment() returns that.
This patch switches all the users of GlobalValue::getAlignment to an
appropriate alternative.
Differential Revision: https://reviews.llvm.org/D80368
Diffstat (limited to 'llvm/lib/IR/ConstantFold.cpp')
-rw-r--r-- | llvm/lib/IR/ConstantFold.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/lib/IR/ConstantFold.cpp b/llvm/lib/IR/ConstantFold.cpp index ef584af..81eaaaf 100644 --- a/llvm/lib/IR/ConstantFold.cpp +++ b/llvm/lib/IR/ConstantFold.cpp @@ -1239,8 +1239,8 @@ Constant *llvm::ConstantFoldBinaryInstruction(unsigned Opcode, Constant *C1, // Without a datalayout we have to assume the worst case: that the // function pointer isn't aligned at all. GVAlign = llvm::None; - } else { - GVAlign = MaybeAlign(GV->getAlignment()); + } else if (isa<GlobalVariable>(GV)) { + GVAlign = cast<GlobalVariable>(GV)->getAlign(); } if (GVAlign && *GVAlign > 1) { |