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 [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. NVPTX edition 2014-04-29 07:57:44 +00:00
MCTargetDesc
TargetInfo
cl_common_defines.h Update a couple of header inclusion guards 2014-05-31 21:26:09 +00:00
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 [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. NVPTX edition 2014-04-29 07:57:44 +00:00
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 [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. NVPTX edition 2014-04-29 07:57:44 +00:00
NVPTXAssignValidGlobalNames.cpp [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. NVPTX edition 2014-04-29 07:57:44 +00:00
NVPTXFavorNonGenericAddrSpaces.cpp Test commit. 2014-05-23 06:30:12 +00:00
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 Fix typos 2014-06-07 21:23:09 +00:00
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 [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. NVPTX edition 2014-04-29 07:57:44 +00:00
NVPTXMachineFunctionInfo.h
NVPTXMCExpr.cpp
NVPTXMCExpr.h Move expression visitation logic up to MCStreamer. 2014-06-25 15:45:33 +00:00
NVPTXPrologEpilogPass.cpp [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. NVPTX edition 2014-04-29 07:57:44 +00:00
NVPTXRegisterInfo.cpp De-virtualize or remove some methods that have no overrides nor override anything. In some cases remove all together if there are no callers either. 2014-04-30 05:53:27 +00:00
NVPTXRegisterInfo.h De-virtualize or remove some methods that have no overrides nor override anything. In some cases remove all together if there are no callers either. 2014-04-30 05:53:27 +00:00
NVPTXRegisterInfo.td [NVPTX] Add support for envreg reads 2014-06-27 18:35:21 +00:00
NVPTXReplaceImageHandles.cpp [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. NVPTX edition 2014-04-29 07:57:44 +00:00
NVPTXSection.h [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. NVPTX edition 2014-04-29 07:57:44 +00:00
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