diff options
author | David Tenty <daltenty@ibm.com> | 2023-04-18 11:36:10 -0400 |
---|---|---|
committer | David Tenty <daltenty@ibm.com> | 2023-04-18 13:00:27 -0400 |
commit | 8d2e9fc8553c91b1f22e82ffc2c00020f40bb0a2 (patch) | |
tree | 46b45a446866addcc857440a25d4df3bb231214f /llvm/lib/Support/UnicodeNameToCodepointGenerated.cpp | |
parent | 221350965a891fc4ce33ea311428448939678112 (diff) | |
download | llvm-8d2e9fc8553c91b1f22e82ffc2c00020f40bb0a2.zip llvm-8d2e9fc8553c91b1f22e82ffc2c00020f40bb0a2.tar.gz llvm-8d2e9fc8553c91b1f22e82ffc2c00020f40bb0a2.tar.bz2 |
[PowerPC] Add function pointer alignment to DataLayout
The alignment of function pointers was added to the Datalayout by
D57335 but currently is unset for the Power target. This will cause us
to compute a conservative minimum alignment of one if places like
Value::getPointerAlignment.
This patch implements the function pointer alignment in the Datalayout
for the Power backend and Power targets in clang, so we can query the
value for a particular Power target.
We come up with the correct value one of two ways:
- If the target uses function descriptor objects (i.e. ELFv1 & AIX ABIs),
then a function pointer points to the descriptor, so use the alignment
we would emit the descriptor with.
- If the target doesn't use function descriptor objects (i.e. ELFv2), a
function pointer points to the global entry point, so use the minimum
alignment for code on Power (i.e. 4-bytes).
Reviewed By: nemanjai
Differential Revision: https://reviews.llvm.org/D147016
Diffstat (limited to 'llvm/lib/Support/UnicodeNameToCodepointGenerated.cpp')
0 files changed, 0 insertions, 0 deletions