diff options
author | Saleem Abdulrasool <compnerd@compnerd.org> | 2021-08-02 16:34:56 +0000 |
---|---|---|
committer | Saleem Abdulrasool <compnerd@compnerd.org> | 2021-08-02 16:36:37 +0000 |
commit | d6d0b6559e97a3d0b258814e870d3e19f3a7ffcc (patch) | |
tree | 189077b5963c637e685da50ad0364bc3a5970df4 /llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp | |
parent | 9e02f58780ab8734e5d27a0138bd477d18ae64a1 (diff) | |
download | llvm-d6d0b6559e97a3d0b258814e870d3e19f3a7ffcc.zip llvm-d6d0b6559e97a3d0b258814e870d3e19f3a7ffcc.tar.gz llvm-d6d0b6559e97a3d0b258814e870d3e19f3a7ffcc.tar.bz2 |
unwind: repair register restoration for OR1K
Currently, OR1K architecture put the program counter at offset 0x128 of
the current `or1k_thread_state_t`. However, the PC is restored after
updating the thread pointer in `r3`, which causes the PC to be fetched
incorrectly.
This patch swaps the order of restoration of `r9` and `r3`, such that
the PC is restored to `r9` using the current thread state.
Patch by Oi Chee Cheung!
Reviewed By: whitequark, compnerd
Differential Revision: https://reviews.llvm.org/D107042
Diffstat (limited to 'llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp')
0 files changed, 0 insertions, 0 deletions