aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/IR/ConstantFold.cpp
diff options
context:
space:
mode:
authorEli Friedman <efriedma@quicinc.com>2020-05-18 20:38:13 -0700
committerEli Friedman <efriedma@quicinc.com>2020-06-23 19:13:42 -0700
commita2caa3b61497b6be8c8b77823d0fd62b4be1f177 (patch)
tree9da9e17f80ffd8bb60a06eb2d7932c8a91611932 /llvm/lib/IR/ConstantFold.cpp
parentf8bd6a75edac7560deb5fdcb31041b454dd9d7e0 (diff)
downloadllvm-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.cpp4
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) {