diff options
author | Weiming Zhao <weimingz@codeaurora.org> | 2017-04-20 18:37:14 +0000 |
---|---|---|
committer | Weiming Zhao <weimingz@codeaurora.org> | 2017-04-20 18:37:14 +0000 |
commit | 962c5a3aec056a74facf2a4fb8766d071e33aaf3 (patch) | |
tree | 07c26e5a50a38c671ebcd80306a9a43bcf404279 /llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.cpp | |
parent | b965121ba864608f121690451e8ce380afd12f7e (diff) | |
download | bcm5719-llvm-962c5a3aec056a74facf2a4fb8766d071e33aaf3.tar.gz bcm5719-llvm-962c5a3aec056a74facf2a4fb8766d071e33aaf3.zip |
[Thumb-1] Fix corner cases for compressed jump tables
Summary:
When synthesized TBB/TBH is expanded, we need to avoid the case of:
BaseReg is redefined after the load of branching target. E.g.:
%R2 = tLEApcrelJT <jt#1>
%R1 = tLDRr %R1, %R2 ==> %R2 = tLEApcrelJT <jt#1>
%R2 = tLDRspi %SP, 12 %R2 = tLDRspi %SP, 12
tBR_JTr %R1 tTBB_JT %R2, %R1
`
Reviewers: jmolloy
Reviewed By: jmolloy
Subscribers: llvm-commits, rengolin
Differential Revision: https://reviews.llvm.org/D32250
llvm-svn: 300870
Diffstat (limited to 'llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.cpp')
0 files changed, 0 insertions, 0 deletions