diff options
author | David Sherwood <david.sherwood@arm.com> | 2020-06-02 11:16:23 +0100 |
---|---|---|
committer | David Sherwood <david.sherwood@arm.com> | 2020-06-09 08:10:17 +0100 |
commit | cc8872400c3c0960e2673ea67ab6bcfcc9b3966b (patch) | |
tree | 277a28061e09b638d24488bf805c6f5dd4a2fbe4 /llvm/lib/CodeGen/MachineFunction.cpp | |
parent | 37289615c01d08915626c58f825bc797c3a036e4 (diff) | |
download | llvm-cc8872400c3c0960e2673ea67ab6bcfcc9b3966b.zip llvm-cc8872400c3c0960e2673ea67ab6bcfcc9b3966b.tar.gz llvm-cc8872400c3c0960e2673ea67ab6bcfcc9b3966b.tar.bz2 |
[CodeGen] Ensure callers of CreateStackTemporary use sensible alignments
In two instances of CreateStackTemporary we are sometimes promoting
alignments beyond the stack alignment. I have introduced a new function
called getReducedAlign that will return the alignment for the broken
down parts of illegal vector types. For example, on NEON a <32 x i8>
type is made up of two <16 x i8> types - in this case the sensible
alignment is 16 bytes, not 32.
In the legalization code wherever we create stack temporaries I have
started using the reduced alignments instead for illegal vector types.
I added a test to
CodeGen/AArch64/build-one-lane.ll
that tries to insert an element into an illegal fixed vector type
that involves creating a temporary stack object.
Differential Revision: https://reviews.llvm.org/D80370
Diffstat (limited to 'llvm/lib/CodeGen/MachineFunction.cpp')
0 files changed, 0 insertions, 0 deletions