aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Support/SourceMgr.cpp
diff options
context:
space:
mode:
authorpveras <verasbs@gmail.com>2025-10-13 19:11:10 +0100
committerGitHub <noreply@github.com>2025-10-13 18:11:10 +0000
commitd74290319e3db3425bf2f0f87ef6c32f1078371f (patch)
tree0350f860a0402d9de2f36617879c6139e6190f60 /llvm/lib/Support/SourceMgr.cpp
parent34c0a5f1b44172de0a9464356b12bd7f6c25023c (diff)
downloadllvm-d74290319e3db3425bf2f0f87ef6c32f1078371f.zip
llvm-d74290319e3db3425bf2f0f87ef6c32f1078371f.tar.gz
llvm-d74290319e3db3425bf2f0f87ef6c32f1078371f.tar.bz2
Delegate to ABI plugin to check if call frame addresses are valid (#161398)
Specially when dealing with different address spaces, CFAs could start from addresses like 0. For instance, Nvidia GPUs have instructions to read from local memory that use 0-based offsets and stack memory can be referenced by these offsets rather than global addresses. Note that ABIs could already specify what they consider to be valid CFA values but this was never used in these parts of the unwinder code. For most ABIs, this makes the validation more strict, as they already used to discard 0s and then checked for alignment which would discard 1s. There a few exceptions where 0s were possible and this makes it less strict, like the RISCV and ARC ABIs. @jasonmolenda Would you be the appropriate reviewer for this? Also cc. @clayborg @walter-erquinigo
Diffstat (limited to 'llvm/lib/Support/SourceMgr.cpp')
0 files changed, 0 insertions, 0 deletions