llvm-project/libunwind
Brandon Bergren bb13411614 [libunwind] Multiple preprocessor fixes on PowerPC*
* Remove misnamed `PPC64_HAS_VMX` in preference of directly checking `defined(__VSX__)`.

libunwind was using "VMX" to mean "VSX". "VMX" is just another name for Altivec, while "VSX" is the vector-scalar extensions first used in POWER7. Exposing a "PPC64_HAS_VMX" define was misleading and incorrect.

* Add `defined(__ALTIVEC__)` guards around vector register operations to fix non-altivec CPUS such as the e5500.

When compiling for certain Book-E processors such as the e5500, we want to skip vector save/restore, as the Altivec registers are illegal on non-Altivec implementations.

* Add `!defined(__NO_FPRS__)` guards around traditional floating-point save/restore.

When compiling for powerpcspe, we cannot access floating point registers, as there aren't any. (The SPE on e500v2 is a 64-bit extension of the GPRs, and it doesn't have the normal floating-point registers at all.)
This fixes building for powerpcspe, although no actual handling for SPE save/restore is written yet.

Reviewed By: MaskRay, #libunwind, compnerd

Differential Revision: https://reviews.llvm.org/D91906
2020-11-23 19:07:21 -08:00
..
cmake [libcxx][libcxxabi][libunwind] Use libgcc on Android 2020-04-30 15:42:32 -07:00
docs Bump the trunk major version to 12 2020-07-15 12:05:05 +02:00
include [libunwind] Ensure enough alignment for unw_cursor_t for SEH build configurations 2020-08-22 22:48:57 +03:00
src [libunwind] Multiple preprocessor fixes on PowerPC* 2020-11-23 19:07:21 -08:00
test Revert "Allow running back-deployment testing against libc++abi" 2020-11-06 17:26:42 -05:00
.clang-format
CMakeLists.txt [libunwind] LIBUNWIND_REMEMBER_HEAP_ALLOC to cmake. 2020-11-11 11:21:17 +01:00
LICENSE.TXT Fix typos throughout the license files that somehow I and my reviewers 2019-01-21 09:52:34 +00:00