diff options
author | Guillaume Chatelet <gchatelet@google.com> | 2020-06-30 15:31:24 +0000 |
---|---|---|
committer | Guillaume Chatelet <gchatelet@google.com> | 2020-06-30 15:31:24 +0000 |
commit | 423458ec09d647050f756e3ee4ca06901239d87c (patch) | |
tree | 8cd3771ff18e69abb9730e53d98c66b9b10ef9fe /llvm/lib/CodeGen/TargetLoweringBase.cpp | |
parent | 833273a81250213d3ba85ca5419d03155604ada2 (diff) | |
download | llvm-423458ec09d647050f756e3ee4ca06901239d87c.zip llvm-423458ec09d647050f756e3ee4ca06901239d87c.tar.gz llvm-423458ec09d647050f756e3ee4ca06901239d87c.tar.bz2 |
[Alignment][NFC] TargetLowering::allowsMemoryAccessForAlignment
First patch of a series to adapt TargetLowering::allowsXXX functions
This 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
Differential Revision: https://reviews.llvm.org/D81372
Diffstat (limited to 'llvm/lib/CodeGen/TargetLoweringBase.cpp')
-rw-r--r-- | llvm/lib/CodeGen/TargetLoweringBase.cpp | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/llvm/lib/CodeGen/TargetLoweringBase.cpp b/llvm/lib/CodeGen/TargetLoweringBase.cpp index bcb2083..2c94c2c 100644 --- a/llvm/lib/CodeGen/TargetLoweringBase.cpp +++ b/llvm/lib/CodeGen/TargetLoweringBase.cpp @@ -1573,14 +1573,14 @@ unsigned TargetLoweringBase::getByValTypeAlignment(Type *Ty, bool TargetLoweringBase::allowsMemoryAccessForAlignment( LLVMContext &Context, const DataLayout &DL, EVT VT, unsigned AddrSpace, - unsigned Alignment, MachineMemOperand::Flags Flags, bool *Fast) const { + Align Alignment, MachineMemOperand::Flags Flags, bool *Fast) const { // Check if the specified alignment is sufficient based on the data layout. // TODO: While using the data layout works in practice, a better solution // would be to implement this check directly (make this a virtual function). // For example, the ABI alignment may change based on software platform while // this function should only be affected by hardware implementation. Type *Ty = VT.getTypeForEVT(Context); - if (Alignment >= DL.getABITypeAlign(Ty).value()) { + if (Alignment >= DL.getABITypeAlign(Ty)) { // Assume that an access that meets the ABI-specified alignment is fast. if (Fast != nullptr) *Fast = true; @@ -1588,15 +1588,15 @@ bool TargetLoweringBase::allowsMemoryAccessForAlignment( } // This is a misaligned access. - return allowsMisalignedMemoryAccesses(VT, AddrSpace, Alignment, Flags, Fast); + return allowsMisalignedMemoryAccesses(VT, AddrSpace, Alignment.value(), Flags, + Fast); } bool TargetLoweringBase::allowsMemoryAccessForAlignment( LLVMContext &Context, const DataLayout &DL, EVT VT, const MachineMemOperand &MMO, bool *Fast) const { return allowsMemoryAccessForAlignment(Context, DL, VT, MMO.getAddrSpace(), - MMO.getAlign().value(), MMO.getFlags(), - Fast); + MMO.getAlign(), MMO.getFlags(), Fast); } bool TargetLoweringBase::allowsMemoryAccess(LLVMContext &Context, @@ -1604,8 +1604,8 @@ bool TargetLoweringBase::allowsMemoryAccess(LLVMContext &Context, unsigned AddrSpace, Align Alignment, MachineMemOperand::Flags Flags, bool *Fast) const { - return allowsMemoryAccessForAlignment(Context, DL, VT, AddrSpace, - Alignment.value(), Flags, Fast); + return allowsMemoryAccessForAlignment(Context, DL, VT, AddrSpace, Alignment, + Flags, Fast); } bool TargetLoweringBase::allowsMemoryAccess(LLVMContext &Context, |