llvm-6502/lib/Target/NVPTX
Chandler Carruth 70968365db [codegen,aarch64] Add a target hook to the code generator to control
vector type legalization strategies in a more fine grained manner, and
change the legalization of several v1iN types and v1f32 to be widening
rather than scalarization on AArch64.

This fixes an assertion failure caused by scalarizing nodes like "v1i32
trunc v1i64". As v1i64 is legal it will fail to scalarize v1i32.

This also provides a foundation for other targets to have more granular
control over how vector types are legalized.

Patch by Hao Liu, reviewed by Tim Northover. I'm committing it to allow
some work to start taking place on top of this patch as it adds some
really important hooks to the backend that I'd like to immediately start
using. =]

http://reviews.llvm.org/D4322

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@212242 91177308-0d34-0410-b5e6-96231b3b80d8
2014-07-03 00:23:43 +00:00
..
InstPrinter
MCTargetDesc
TargetInfo
cl_common_defines.h
CMakeLists.txt
LLVMBuild.txt
Makefile
ManagedStringPool.h
NVPTX.h
NVPTX.td [NVPTX] Add target options for PTX 3.2/4.0 and SM 5.0 (Maxwell) 2014-06-27 18:35:18 +00:00
NVPTXAllocaHoisting.cpp
NVPTXAllocaHoisting.h
NVPTXAsmPrinter.cpp [NVPTX] Error out if initializer is given for variable in an address space that does not support initialization 2014-06-27 18:36:01 +00:00
NVPTXAsmPrinter.h
NVPTXAssignValidGlobalNames.cpp
NVPTXFavorNonGenericAddrSpaces.cpp
NVPTXFrameLowering.cpp Move the constructor for NVPTXFrameLowering into the implementation 2014-06-27 02:05:24 +00:00
NVPTXFrameLowering.h Move the constructor for NVPTXFrameLowering into the implementation 2014-06-27 02:05:24 +00:00
NVPTXGenericToNVVM.cpp [NVPTX] Do not process samplers in GenericToNVVM 2014-06-27 18:36:02 +00:00
NVPTXImageOptimizer.cpp
NVPTXInstrFormats.td
NVPTXInstrInfo.cpp Remove caching of the target machine in NVPTXInstrInfo and 2014-06-27 01:27:08 +00:00
NVPTXInstrInfo.h Remove caching of the target machine in NVPTXInstrInfo and 2014-06-27 01:27:08 +00:00
NVPTXInstrInfo.td [NVPTX] Add support for [SHL,SRA,SRL]_PARTS 2014-06-27 18:35:40 +00:00
NVPTXIntrinsics.td [NVPTX] Fix handling of ldg/ldu intrinsics. 2014-06-27 18:35:51 +00:00
NVPTXISelDAGToDAG.cpp [NVPTX] Fix handling of ldg/ldu intrinsics. 2014-06-27 18:35:51 +00:00
NVPTXISelDAGToDAG.h [NVPTX] Fix handling of ldg/ldu intrinsics. 2014-06-27 18:35:51 +00:00
NVPTXISelLowering.cpp [codegen,aarch64] Add a target hook to the code generator to control 2014-07-03 00:23:43 +00:00
NVPTXISelLowering.h [codegen,aarch64] Add a target hook to the code generator to control 2014-07-03 00:23:43 +00:00
NVPTXLowerAggrCopies.cpp
NVPTXLowerAggrCopies.h
NVPTXMachineFunctionInfo.h
NVPTXMCExpr.cpp
NVPTXMCExpr.h
NVPTXPrologEpilogPass.cpp
NVPTXRegisterInfo.cpp
NVPTXRegisterInfo.h
NVPTXRegisterInfo.td [NVPTX] Add support for envreg reads 2014-06-27 18:35:21 +00:00
NVPTXReplaceImageHandles.cpp
NVPTXSection.h
NVPTXSubtarget.cpp [NVPTX] Add target options for PTX 3.2/4.0 and SM 5.0 (Maxwell) 2014-06-27 18:35:18 +00:00
NVPTXSubtarget.h [NVPTX] Update sub-target feature detection 2014-06-27 18:35:16 +00:00
NVPTXTargetMachine.cpp [NVPTX] Directly control the Machine SSA passes that are invoked for NVPTX. 2014-06-27 18:35:14 +00:00
NVPTXTargetMachine.h Move NVPTX subtarget dependent variables from the target machine 2014-06-27 04:33:14 +00:00
NVPTXTargetObjectFile.h
NVPTXutil.cpp
NVPTXutil.h
NVPTXUtilities.cpp
NVPTXUtilities.h
NVPTXVector.td
NVVMReflect.cpp [NVPTX] Add reflect intrinsic (better than matching by function name) 2014-06-27 18:36:11 +00:00