This is an archive of the discontinued LLVM Phabricator instance.

[libunwind][PPC64] Added vector registers.
ClosedPublic

Authored by luporl on Jan 10 2018, 8:50 AM.

Details

Summary

The Registers_ppc64 class needed a couple of changes, both to accommodate the
new registers as well as to handle the overlaps of VS register set
without wasting space.

The save/restore code of V and VS registers was added.
As VS registers depend on the VMX extension, they are processed only if
VMX support is detected (_ARCH_PWR8 for now).

Note: on PowerPC64le (but not on x86), libcxx builts with no errors only
with clang, not with gcc. As libunwind tests depend on libcxx,
for now 'check-unwind' only works when LLVM/clang/libcxx/libunwind are
built with clang.
Building libunwind with gcc, in-tree without libcxx, works though, we
just can't run the tests in this case.

Diff Detail

Repository
rL LLVM

Event Timeline

luporl created this revision.Jan 10 2018, 8:50 AM
luporl updated this revision to Diff 129288.Jan 10 2018, 9:26 AM

Added a note about running libunwind tests.

luporl edited the summary of this revision. (Show Details)Jan 10 2018, 9:31 AM
luporl added subscribers: alexandreyy, lbianc, anajuliapc.
luporl set the repository for this revision to rL LLVM.
luporl added a subscriber: cfe-commits.

No objections from me on this. There were a few stray cosmetic changes that perhaps could be split out, but it's not big enough that I'd object to it. So if @compnerd doesn't mind, I'll commit this.

mstorsjo accepted this revision.Jan 16 2018, 5:42 AM
This revision is now accepted and ready to land.Jan 16 2018, 5:42 AM
This revision was automatically updated to reflect the committed changes.