aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp
diff options
context:
space:
mode:
authorSaleem Abdulrasool <compnerd@compnerd.org>2021-08-02 16:34:56 +0000
committerSaleem Abdulrasool <compnerd@compnerd.org>2021-08-02 16:36:37 +0000
commitd6d0b6559e97a3d0b258814e870d3e19f3a7ffcc (patch)
tree189077b5963c637e685da50ad0364bc3a5970df4 /llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp
parent9e02f58780ab8734e5d27a0138bd477d18ae64a1 (diff)
downloadllvm-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