This patch adds a new NVPTX back-end to LLVM which supports code generation for NVIDI...
authorJustin Holewinski <jholewinski@nvidia.com>
Fri, 4 May 2012 20:18:50 +0000 (20:18 +0000)
committerJustin Holewinski <jholewinski@nvidia.com>
Fri, 4 May 2012 20:18:50 +0000 (20:18 +0000)
commit49683f3c961379fbc088871a5d6304950f1f1cbc
tree830fa1ee9c992ef4645863d128be912ce2bfc987
parent2c7e5c714c8675f757c4936a3a2132c2466a626c
This patch adds a new NVPTX back-end to LLVM which supports code generation for NVIDIA PTX 3.0. This back-end will (eventually) replace the current PTX back-end, while maintaining compatibility with it.

The new target machines are:

nvptx (old ptx32) => 32-bit PTX
nvptx64 (old ptx64) => 64-bit PTX

The sources are based on the internal NVIDIA NVPTX back-end, and
contain more functionality than the current PTX back-end currently
provides.

NV_CONTRIB

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156196 91177308-0d34-0410-b5e6-96231b3b80d8
86 files changed:
CMakeLists.txt
autoconf/configure.ac
configure
include/llvm/ADT/Triple.h
include/llvm/Intrinsics.td
include/llvm/IntrinsicsNVVM.td [new file with mode: 0644]
lib/Support/Triple.cpp
lib/Target/LLVMBuild.txt
lib/Target/NVPTX/CMakeLists.txt [new file with mode: 0644]
lib/Target/NVPTX/InstPrinter/CMakeLists.txt [new file with mode: 0644]
lib/Target/NVPTX/InstPrinter/LLVMBuild.txt [new file with mode: 0644]
lib/Target/NVPTX/InstPrinter/Makefile [new file with mode: 0644]
lib/Target/NVPTX/InstPrinter/NVPTXInstPrinter.cpp [new file with mode: 0644]
lib/Target/NVPTX/LLVMBuild.txt [new file with mode: 0644]
lib/Target/NVPTX/MCTargetDesc/CMakeLists.txt [new file with mode: 0644]
lib/Target/NVPTX/MCTargetDesc/LLVMBuild.txt [new file with mode: 0644]
lib/Target/NVPTX/MCTargetDesc/Makefile [new file with mode: 0644]
lib/Target/NVPTX/MCTargetDesc/NVPTXBaseInfo.h [new file with mode: 0644]
lib/Target/NVPTX/MCTargetDesc/NVPTXMCAsmInfo.cpp [new file with mode: 0644]
lib/Target/NVPTX/MCTargetDesc/NVPTXMCAsmInfo.h [new file with mode: 0644]
lib/Target/NVPTX/MCTargetDesc/NVPTXMCTargetDesc.cpp [new file with mode: 0644]
lib/Target/NVPTX/MCTargetDesc/NVPTXMCTargetDesc.h [new file with mode: 0644]
lib/Target/NVPTX/Makefile [new file with mode: 0644]
lib/Target/NVPTX/ManagedStringPool.h [new file with mode: 0644]
lib/Target/NVPTX/NVPTX.h [new file with mode: 0644]
lib/Target/NVPTX/NVPTX.td [new file with mode: 0644]
lib/Target/NVPTX/NVPTXAllocaHoisting.cpp [new file with mode: 0644]
lib/Target/NVPTX/NVPTXAllocaHoisting.h [new file with mode: 0644]
lib/Target/NVPTX/NVPTXAsmPrinter.cpp [new file with mode: 0644]
lib/Target/NVPTX/NVPTXAsmPrinter.h [new file with mode: 0644]
lib/Target/NVPTX/NVPTXFrameLowering.cpp [new file with mode: 0644]
lib/Target/NVPTX/NVPTXFrameLowering.h [new file with mode: 0644]
lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp [new file with mode: 0644]
lib/Target/NVPTX/NVPTXISelDAGToDAG.h [new file with mode: 0644]
lib/Target/NVPTX/NVPTXISelLowering.cpp [new file with mode: 0644]
lib/Target/NVPTX/NVPTXISelLowering.h [new file with mode: 0644]
lib/Target/NVPTX/NVPTXInstrFormats.td [new file with mode: 0644]
lib/Target/NVPTX/NVPTXInstrInfo.cpp [new file with mode: 0644]
lib/Target/NVPTX/NVPTXInstrInfo.h [new file with mode: 0644]
lib/Target/NVPTX/NVPTXInstrInfo.td [new file with mode: 0644]
lib/Target/NVPTX/NVPTXIntrinsics.td [new file with mode: 0644]
lib/Target/NVPTX/NVPTXLowerAggrCopies.cpp [new file with mode: 0644]
lib/Target/NVPTX/NVPTXLowerAggrCopies.h [new file with mode: 0644]
lib/Target/NVPTX/NVPTXNumRegisters.h [new file with mode: 0644]
lib/Target/NVPTX/NVPTXRegisterInfo.cpp [new file with mode: 0644]
lib/Target/NVPTX/NVPTXRegisterInfo.h [new file with mode: 0644]
lib/Target/NVPTX/NVPTXRegisterInfo.td [new file with mode: 0644]
lib/Target/NVPTX/NVPTXSection.h [new file with mode: 0644]
lib/Target/NVPTX/NVPTXSplitBBatBar.cpp [new file with mode: 0644]
lib/Target/NVPTX/NVPTXSplitBBatBar.h [new file with mode: 0644]
lib/Target/NVPTX/NVPTXSubtarget.cpp [new file with mode: 0644]
lib/Target/NVPTX/NVPTXSubtarget.h [new file with mode: 0644]
lib/Target/NVPTX/NVPTXTargetMachine.cpp [new file with mode: 0644]
lib/Target/NVPTX/NVPTXTargetMachine.h [new file with mode: 0644]
lib/Target/NVPTX/NVPTXTargetObjectFile.h [new file with mode: 0644]
lib/Target/NVPTX/NVPTXUtilities.cpp [new file with mode: 0644]
lib/Target/NVPTX/NVPTXUtilities.h [new file with mode: 0644]
lib/Target/NVPTX/NVPTXVector.td [new file with mode: 0644]
lib/Target/NVPTX/NVPTXutil.cpp [new file with mode: 0644]
lib/Target/NVPTX/NVPTXutil.h [new file with mode: 0644]
lib/Target/NVPTX/TargetInfo/CMakeLists.txt [new file with mode: 0644]
lib/Target/NVPTX/TargetInfo/LLVMBuild.txt [new file with mode: 0644]
lib/Target/NVPTX/TargetInfo/Makefile [new file with mode: 0644]
lib/Target/NVPTX/TargetInfo/NVPTXTargetInfo.cpp [new file with mode: 0644]
lib/Target/NVPTX/VectorElementize.cpp [new file with mode: 0644]
lib/Target/NVPTX/cl_common_defines.h [new file with mode: 0644]
lib/Target/NVPTX/gen-register-defs.py [new file with mode: 0644]
projects/sample/autoconf/configure.ac
projects/sample/configure
test/CodeGen/NVPTX/annotations.ll [new file with mode: 0644]
test/CodeGen/NVPTX/arithmetic-fp-sm10.ll [new file with mode: 0644]
test/CodeGen/NVPTX/arithmetic-fp-sm20.ll [new file with mode: 0644]
test/CodeGen/NVPTX/arithmetic-int.ll [new file with mode: 0644]
test/CodeGen/NVPTX/calling-conv.ll [new file with mode: 0644]
test/CodeGen/NVPTX/compare-int.ll [new file with mode: 0644]
test/CodeGen/NVPTX/convert-fp.ll [new file with mode: 0644]
test/CodeGen/NVPTX/convert-int-sm10.ll [new file with mode: 0644]
test/CodeGen/NVPTX/convert-int-sm20.ll [new file with mode: 0644]
test/CodeGen/NVPTX/fma-disable.ll [new file with mode: 0644]
test/CodeGen/NVPTX/fma.ll [new file with mode: 0644]
test/CodeGen/NVPTX/intrinsic-old.ll [new file with mode: 0644]
test/CodeGen/NVPTX/ld-addrspace.ll [new file with mode: 0644]
test/CodeGen/NVPTX/ld-generic.ll [new file with mode: 0644]
test/CodeGen/NVPTX/lit.local.cfg [new file with mode: 0644]
test/CodeGen/NVPTX/st-addrspace.ll [new file with mode: 0644]
test/CodeGen/NVPTX/st-generic.ll [new file with mode: 0644]