This patch creates sub-directory libcxxabi/test/vendor/ibm and adds 2 LIT test cases for the AIX EH under the directory. One tests the restoration of the condition register and the other tests the restoration of vector registers. Both are saved on the stack by the function prologue.
Details
- Reviewers
ldionne compnerd MaskRay daltenty - Group Reviewers
Restricted Project - Commits
- rGbc7f0fb5ea74: [libc++abi][AIX] Add 2 LIT tests for the AIX unwinder
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
libcxxabi/test/vendor/ibm/cond_reg_restore.pass.cpp | ||
---|---|---|
23 | The comment is a bit difficult to parse for me. AIUI, it means to state that the inline assembly forces the prologue/epilogue to save/restore the condition register. That makes sense since the cr2 register is marked as a clobber. | |
24 | Nit: could you use ::: or : : : for the inline assembly parameters please. | |
libcxxabi/test/vendor/ibm/vec_reg_restore.pass.cpp | ||
41 | Why registers 29, 30 and v62, v63? A comment about that would be nice. All four of those are non-volatile registers, which should be restored during the unwinding. |
Hi @compnerd, Thanks very much for your comments! I've made changes accordingly. Please let me know if you have further comments!
libcxxabi/test/vendor/ibm/cond_reg_restore.pass.cpp | ||
---|---|---|
23 | Sorry about that. Reworded as suggested, thanks! | |
24 | Changed to : : :, thanks! | |
libcxxabi/test/vendor/ibm/vec_reg_restore.pass.cpp | ||
41 | Sorry, will add comments to better describe the code. Thanks! |
The comment is a bit difficult to parse for me. AIUI, it means to state that the inline assembly forces the prologue/epilogue to save/restore the condition register. That makes sense since the cr2 register is marked as a clobber.