[PATCH] D133379: [DL] Make vector ABI align bound by element align

Chris Bieneman via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 6 14:51:57 PDT 2022


beanz created this revision.
beanz added reviewers: bogner, efriedma, nikic, craig.topper, aeubanks.
Herald added subscribers: StephenFan, hiraditya.
Herald added a project: All.
beanz requested review of this revision.
Herald added a project: LLVM.

If a data layout specifies a vector alignment that is less than the
alignment of the element type, prefer the element alignment.

This alters the vector ABI alignment so that vector elements are always
aligned appropriately for their type.

This oddity of data layout doesn't seem to happen in any existing
backends, but does in DirectX where vector alignment has a lower bound
of the element type. For example < 4 x float > requires 32-bit
alignment, and < 2 x double > requires 64.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D133379

Files:
  llvm/include/llvm/Support/Alignment.h
  llvm/lib/IR/DataLayout.cpp
  llvm/unittests/IR/DataLayoutTest.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D133379.458288.patch
Type: text/x-patch
Size: 4064 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220906/b577590d/attachment.bin>


More information about the llvm-commits mailing list