mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-09-05 01:30:18 +00:00
Vectors were being manually scalarized by the backend. Instead, let the target-independent code do all of the work. The manual scalarization was from a time before good target-independent support for scalarization in LLVM. However, this forces us to specially-handle vector loads and stores, which we can turn into PTX instructions that produce/consume multiple operands. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174968 91177308-0d34-0410-b5e6-96231b3b80d8
34 lines
885 B
CMake
34 lines
885 B
CMake
set(LLVM_TARGET_DEFINITIONS NVPTX.td)
|
|
|
|
|
|
tablegen(LLVM NVPTXGenRegisterInfo.inc -gen-register-info)
|
|
tablegen(LLVM NVPTXGenInstrInfo.inc -gen-instr-info)
|
|
tablegen(LLVM NVPTXGenAsmWriter.inc -gen-asm-writer)
|
|
tablegen(LLVM NVPTXGenDAGISel.inc -gen-dag-isel)
|
|
tablegen(LLVM NVPTXGenSubtargetInfo.inc -gen-subtarget)
|
|
add_public_tablegen_target(NVPTXCommonTableGen)
|
|
|
|
set(NVPTXCodeGen_sources
|
|
NVPTXFrameLowering.cpp
|
|
NVPTXInstrInfo.cpp
|
|
NVPTXISelDAGToDAG.cpp
|
|
NVPTXISelLowering.cpp
|
|
NVPTXRegisterInfo.cpp
|
|
NVPTXSubtarget.cpp
|
|
NVPTXTargetMachine.cpp
|
|
NVPTXSplitBBatBar.cpp
|
|
NVPTXLowerAggrCopies.cpp
|
|
NVPTXutil.cpp
|
|
NVPTXAllocaHoisting.cpp
|
|
NVPTXAsmPrinter.cpp
|
|
NVPTXUtilities.cpp
|
|
)
|
|
|
|
add_llvm_target(NVPTXCodeGen ${NVPTXCodeGen_sources})
|
|
|
|
add_dependencies(LLVMNVPTXCodeGen intrinsics_gen)
|
|
|
|
add_subdirectory(TargetInfo)
|
|
add_subdirectory(InstPrinter)
|
|
add_subdirectory(MCTargetDesc)
|