diff options
author | Craig Topper <craig.topper@gmail.com> | 2020-04-20 12:18:23 -0700 |
---|---|---|
committer | Craig Topper <craig.topper@gmail.com> | 2020-04-20 13:08:05 -0700 |
commit | 897409fb56f4525639b0e47e88960f24cd91c924 (patch) | |
tree | 4fc73b0cc9610b9a487d946e23ac32082fc96505 /llvm/lib/CodeGen/CodeGenPrepare.cpp | |
parent | 20fd62438004247be401a68a2243f74ce14360f3 (diff) | |
download | llvm-897409fb56f4525639b0e47e88960f24cd91c924.zip llvm-897409fb56f4525639b0e47e88960f24cd91c924.tar.gz llvm-897409fb56f4525639b0e47e88960f24cd91c924.tar.bz2 |
[Local] Update getOrEnforceKnownAlignment/getKnownAlignment to use Align/MaybeAlign.
Differential Revision: https://reviews.llvm.org/D78443
Diffstat (limited to 'llvm/lib/CodeGen/CodeGenPrepare.cpp')
-rw-r--r-- | llvm/lib/CodeGen/CodeGenPrepare.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/llvm/lib/CodeGen/CodeGenPrepare.cpp b/llvm/lib/CodeGen/CodeGenPrepare.cpp index d6a216f9..d11d74a 100644 --- a/llvm/lib/CodeGen/CodeGenPrepare.cpp +++ b/llvm/lib/CodeGen/CodeGenPrepare.cpp @@ -1939,12 +1939,14 @@ bool CodeGenPrepare::optimizeCallInst(CallInst *CI, bool &ModifiedDT) { // If this is a memcpy (or similar) then we may be able to improve the // alignment if (MemIntrinsic *MI = dyn_cast<MemIntrinsic>(CI)) { - unsigned DestAlign = getKnownAlignment(MI->getDest(), *DL); - if (DestAlign > MI->getDestAlignment()) + Align DestAlign = getKnownAlignment(MI->getDest(), *DL); + MaybeAlign MIDestAlign = MI->getDestAlign(); + if (!MIDestAlign || DestAlign > *MIDestAlign) MI->setDestAlignment(DestAlign); if (MemTransferInst *MTI = dyn_cast<MemTransferInst>(MI)) { - unsigned SrcAlign = getKnownAlignment(MTI->getSource(), *DL); - if (SrcAlign > MTI->getSourceAlignment()) + MaybeAlign MTISrcAlign = MTI->getSourceAlign(); + Align SrcAlign = getKnownAlignment(MTI->getSource(), *DL); + if (!MTISrcAlign || SrcAlign > *MTISrcAlign) MTI->setSourceAlignment(SrcAlign); } } |