aboutsummaryrefslogtreecommitdiff
path: root/lldb/source/Commands/CommandObjectTarget.cpp
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@sifive.com>2022-10-17 12:40:32 -0700
committerCraig Topper <craig.topper@sifive.com>2022-10-17 13:56:22 -0700
commit2b32e4f98b4f0e9e6a7c301b627ff75d9af8699e (patch)
tree914c2b030c9dedb3fe566341dbdd9d877b882bd3 /lldb/source/Commands/CommandObjectTarget.cpp
parent5de73d27bd6b9140978b376b34ef3a7231df9aa9 (diff)
downloadllvm-2b32e4f98b4f0e9e6a7c301b627ff75d9af8699e.zip
llvm-2b32e4f98b4f0e9e6a7c301b627ff75d9af8699e.tar.gz
llvm-2b32e4f98b4f0e9e6a7c301b627ff75d9af8699e.tar.bz2
[RISCV] Add basic support for the sifive-7-series short forward branch optimization.
sifive-7-series has macrofusion support to convert a branch over a single instruction into a conditional instruction. This can be an improvement if the branch is hard to predict. This patch adds support for the most basic case, a branch over a move instruction. This is implemented as a pseudo instruction so we can hide the control flow until all code motion passes complete. I've disabled a recent select optimization if this feature is enabled in the subtarget. Related gcc patch for the same optimization https://www.mail-archive.com/gcc-patches@gcc.gnu.org/msg211045.html Reviewed By: reames Differential Revision: https://reviews.llvm.org/D135814
Diffstat (limited to 'lldb/source/Commands/CommandObjectTarget.cpp')
0 files changed, 0 insertions, 0 deletions