OSDN Git Service

[SystemZ] Utilize Test Data Class instructions.
authorMarcin Koscielnicki <koriakin@0x04.net>
Sun, 10 Jul 2016 14:41:22 +0000 (14:41 +0000)
committerMarcin Koscielnicki <koriakin@0x04.net>
Sun, 10 Jul 2016 14:41:22 +0000 (14:41 +0000)
commit80f398414d6a2c461fb9b5ff360ff7dfd5e8f1f8
tree8a08a04501302add80827d8f099c8c079ce329e2
parent7ea0bdecfe7547b4a6c32fd1fbcaafe2559106a1
[SystemZ] Utilize Test Data Class instructions.

This adds a new SystemZ-specific intrinsic, llvm.s390.tdc.f(32|64|128),
which maps straight to the test data class instructions.  A new IR pass
is added to recognize instructions that can be converted to TDC and
perform the necessary replacements.

Differential Revision: http://reviews.llvm.org/D21949

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@275016 91177308-0d34-0410-b5e6-96231b3b80d8
13 files changed:
include/llvm/IR/IntrinsicsSystemZ.td
lib/Target/SystemZ/CMakeLists.txt
lib/Target/SystemZ/README.txt
lib/Target/SystemZ/SystemZ.h
lib/Target/SystemZ/SystemZISelLowering.cpp
lib/Target/SystemZ/SystemZTDC.cpp [new file with mode: 0644]
lib/Target/SystemZ/SystemZTargetMachine.cpp
test/CodeGen/SystemZ/tdc-01.ll [new file with mode: 0644]
test/CodeGen/SystemZ/tdc-02.ll [new file with mode: 0644]
test/CodeGen/SystemZ/tdc-03.ll [new file with mode: 0644]
test/CodeGen/SystemZ/tdc-04.ll [new file with mode: 0644]
test/CodeGen/SystemZ/tdc-05.ll [new file with mode: 0644]
test/CodeGen/SystemZ/tdc-06.ll [new file with mode: 0644]