[PATCH] D63159: [GlobalISel] Add a G_BRJT opcode

Amara Emerson via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jun 11 12:53:34 PDT 2019


aemerson created this revision.
aemerson added reviewers: paquette, qcolombet, dsanders, Petar.Avramovic, arsenm.
aemerson added a project: LLVM.
Herald added subscribers: volkan, hiraditya, kristof.beyls, javed.absar, rovka, wdng.

This is a branch opcode that takes a jump table pointer, jump table index and an index into the table to do an indirect branch.

We pass both the table pointer and JTI to allow targets like ARM64 to more easily use the existing jump table compression optimization without having to walk up the block to find a paired G_JUMP_TABLE.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D63159

Files:
  llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
  llvm/include/llvm/Support/TargetOpcodes.def
  llvm/include/llvm/Target/GenericOpcodes.td
  llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
  llvm/lib/CodeGen/MachineVerifier.cpp
  llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
  llvm/test/MachineVerifier/test_g_brjt.mir

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D63159.204135.patch
Type: text/x-patch
Size: 5837 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190611/492f7b94/attachment.bin>


More information about the llvm-commits mailing list