diff options
author | Guillaume Chatelet <gchatelet@google.com> | 2023-02-03 15:21:02 +0000 |
---|---|---|
committer | Guillaume Chatelet <gchatelet@google.com> | 2023-02-03 15:40:55 +0000 |
commit | 3c80d24a4b24c878068d2bb5d8a650af027598cf (patch) | |
tree | 7c695b3e6aabed780c8b2ec03560ac379cb3a218 /llvm/lib/IR/ConstantFold.cpp | |
parent | de7e9ebe46d1acc0ee12609ada49aa21064b7a97 (diff) | |
download | llvm-3c80d24a4b24c878068d2bb5d8a650af027598cf.zip llvm-3c80d24a4b24c878068d2bb5d8a650af027598cf.tar.gz llvm-3c80d24a4b24c878068d2bb5d8a650af027598cf.tar.bz2 |
[NFC] Simplify logic in ConstantFold
Differential Revision: https://reviews.llvm.org/D143271
Diffstat (limited to 'llvm/lib/IR/ConstantFold.cpp')
-rw-r--r-- | llvm/lib/IR/ConstantFold.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/llvm/lib/IR/ConstantFold.cpp b/llvm/lib/IR/ConstantFold.cpp index 18f481a..7af33a7 100644 --- a/llvm/lib/IR/ConstantFold.cpp +++ b/llvm/lib/IR/ConstantFold.cpp @@ -1053,7 +1053,7 @@ Constant *llvm::ConstantFoldBinaryInstruction(unsigned Opcode, Constant *C1, isa<GlobalValue>(CE1->getOperand(0))) { GlobalValue *GV = cast<GlobalValue>(CE1->getOperand(0)); - MaybeAlign GVAlign; + Align GVAlign; // defaults to 1 if (Module *TheModule = GV->getParent()) { const DataLayout &DL = TheModule->getDataLayout(); @@ -1073,14 +1073,14 @@ Constant *llvm::ConstantFoldBinaryInstruction(unsigned Opcode, Constant *C1, } else if (isa<Function>(GV)) { // Without a datalayout we have to assume the worst case: that the // function pointer isn't aligned at all. - GVAlign = std::nullopt; + GVAlign = Align(1); } else if (isa<GlobalVariable>(GV)) { - GVAlign = cast<GlobalVariable>(GV)->getAlign(); + GVAlign = cast<GlobalVariable>(GV)->getAlign().valueOrOne(); } - if (GVAlign && *GVAlign > 1) { + if (GVAlign > 1) { unsigned DstWidth = CI2->getType()->getBitWidth(); - unsigned SrcWidth = std::min(DstWidth, Log2(*GVAlign)); + unsigned SrcWidth = std::min(DstWidth, Log2(GVAlign)); APInt BitsNotSet(APInt::getLowBitsSet(DstWidth, SrcWidth)); // If checking bits we know are clear, return zero. |