[PATCH] D18928: [SystemZ] Support conditional indirect sibling calls via BCR.

Marcin Koƛcielnicki via llvm-commits llvm-commits at lists.llvm.org
Sat Apr 9 08:01:06 PDT 2016


koriakin created this revision.
koriakin added a reviewer: uweigand.
koriakin added a subscriber: llvm-commits.
koriakin set the repository for this revision to rL LLVM.

This adds a conditional variant of CallBR instruction, CallBCR.  Also,
it can be fused with integer comparisons, resulting in one of the new
C*BCall instructions.

In addition to CallBRCL limitations, this has another one: it won't trigger
if the function to call isn't already in %r1 - see f22 in the test for
an example (it's also why the loads in tests are volatile).

Repository:
  rL LLVM

http://reviews.llvm.org/D18928

Files:
  lib/Target/SystemZ/SystemZAsmPrinter.cpp
  lib/Target/SystemZ/SystemZElimCompare.cpp
  lib/Target/SystemZ/SystemZInstrInfo.cpp
  lib/Target/SystemZ/SystemZInstrInfo.h
  lib/Target/SystemZ/SystemZInstrInfo.td
  test/CodeGen/SystemZ/call-05.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D18928.53130.patch
Type: text/x-patch
Size: 18350 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160409/df34e8d5/attachment.bin>


More information about the llvm-commits mailing list