diff options
author | Alexander Richardson <arichardson.kde@gmail.com> | 2018-11-13 10:54:49 +0000 |
---|---|---|
committer | Alexander Richardson <arichardson.kde@gmail.com> | 2018-11-13 10:54:49 +0000 |
commit | dbfa6e616c15d7d6be4946194bd252bbd07d051e (patch) | |
tree | 0373193722de20ed0fada96807a704f67e9e824f /clang/lib/CodeGen/CodeGenModule.cpp | |
parent | 4eb93907f782d9a0cd83fbc32c36d515523cfa4a (diff) | |
download | llvm-dbfa6e616c15d7d6be4946194bd252bbd07d051e.zip llvm-dbfa6e616c15d7d6be4946194bd252bbd07d051e.tar.gz llvm-dbfa6e616c15d7d6be4946194bd252bbd07d051e.tar.bz2 |
Fix .cfi_restore with register numbers > 64
Summary:
DW_CFA_restore can only encode register numbers up to 64 (6 bits unsigned
int). For regsiter numbers > 64 we have to use DW_CFA_restore_extended
instead which uses a ULEB128 value.
I discovered this problem in the out-of-tree CHERI target since we use
DWARF register number 89 for our return capability register.
Reviewers: probinson, dblaikie, aprantl, espindola
Reviewed By: dblaikie
Subscribers: JohnReagan, emaste, JDevlieghere, llvm-commits
Differential Revision: https://reviews.llvm.org/D54420
llvm-svn: 346751
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
0 files changed, 0 insertions, 0 deletions