mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-10-20 03:23:01 +02:00
34412b317e
Summary: This is done by first adding two additional instructions to convert the alloca returned address to local and convert it back to generic. Then replace all uses of alloca instruction with the converted generic address. Then we can rely NVPTXFavorNonGenericAddrSpace pass to combine the generic addresscast and the corresponding Load, Store, Bitcast, GEP Instruction together. Patched by Xuetian Weng (xweng@google.com). Test Plan: test/CodeGen/NVPTX/lower-alloca.ll Reviewers: jholewinski, jingyue Reviewed By: jingyue Subscribers: meheff, broune, eliben, jholewinski, llvm-commits Differential Revision: http://reviews.llvm.org/D10483 llvm-svn: 239964
41 lines
1.1 KiB
CMake
41 lines
1.1 KiB
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
|
|
NVPTXAllocaHoisting.cpp
|
|
NVPTXAsmPrinter.cpp
|
|
NVPTXAssignValidGlobalNames.cpp
|
|
NVPTXFavorNonGenericAddrSpaces.cpp
|
|
NVPTXFrameLowering.cpp
|
|
NVPTXGenericToNVVM.cpp
|
|
NVPTXISelDAGToDAG.cpp
|
|
NVPTXISelLowering.cpp
|
|
NVPTXImageOptimizer.cpp
|
|
NVPTXInstrInfo.cpp
|
|
NVPTXLowerAggrCopies.cpp
|
|
NVPTXLowerKernelArgs.cpp
|
|
NVPTXLowerAlloca.cpp
|
|
NVPTXMCExpr.cpp
|
|
NVPTXPrologEpilogPass.cpp
|
|
NVPTXRegisterInfo.cpp
|
|
NVPTXReplaceImageHandles.cpp
|
|
NVPTXSubtarget.cpp
|
|
NVPTXTargetMachine.cpp
|
|
NVPTXTargetTransformInfo.cpp
|
|
NVPTXUtilities.cpp
|
|
NVVMReflect.cpp
|
|
)
|
|
|
|
add_llvm_target(NVPTXCodeGen ${NVPTXCodeGen_sources})
|
|
|
|
add_subdirectory(TargetInfo)
|
|
add_subdirectory(InstPrinter)
|
|
add_subdirectory(MCTargetDesc)
|