llvm-6502/lib/Target/NVPTX
Jingyue Wu 58f8a138a9 Add NVPTXPeephole pass to reduce unnecessary address cast
Summary:
This patch first change the register that holds local address for stack
frame to %SPL. Then the new NVPTXPeephole pass will try to scan the
following pattern

   %vreg0<def> = LEA_ADDRi64 <fi#0>, 4
   %vreg1<def> = cvta_to_local %vreg0

and transform it into

   %vreg1<def> = LEA_ADDRi64 %VRFrameLocal, 4

Patched by Xuetian Weng

Test Plan: test/CodeGen/NVPTX/local-stack-frame.ll

Reviewers: jholewinski, jingyue

Reviewed By: jingyue

Subscribers: eliben, jholewinski, llvm-commits

Differential Revision: http://reviews.llvm.org/D10549

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@240587 91177308-0d34-0410-b5e6-96231b3b80d8
2015-06-24 20:20:16 +00:00
..
InstPrinter Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
MCTargetDesc Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
TargetInfo
cl_common_defines.h
CMakeLists.txt Add NVPTXPeephole pass to reduce unnecessary address cast 2015-06-24 20:20:16 +00:00
LLVMBuild.txt
Makefile
ManagedStringPool.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
NVPTX.h Add NVPTXPeephole pass to reduce unnecessary address cast 2015-06-24 20:20:16 +00:00
NVPTX.td
NVPTXAllocaHoisting.cpp
NVPTXAllocaHoisting.h
NVPTXAsmPrinter.cpp Simplify the Mangler interface now that DataLayout is mandatory. 2015-06-23 13:59:29 +00:00
NVPTXAsmPrinter.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
NVPTXAssignValidGlobalNames.cpp Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
NVPTXFavorNonGenericAddrSpaces.cpp Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
NVPTXFrameLowering.cpp Add NVPTXPeephole pass to reduce unnecessary address cast 2015-06-24 20:20:16 +00:00
NVPTXFrameLowering.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
NVPTXGenericToNVVM.cpp
NVPTXImageOptimizer.cpp Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
NVPTXInstrFormats.td
NVPTXInstrInfo.cpp [CodeGen] ArrayRef'ize cond/pred in various TII APIs. NFC. 2015-06-11 19:30:37 +00:00
NVPTXInstrInfo.h [CodeGen] ArrayRef'ize cond/pred in various TII APIs. NFC. 2015-06-11 19:30:37 +00:00
NVPTXInstrInfo.td
NVPTXIntrinsics.td
NVPTXISelDAGToDAG.cpp [NVPTX] roll forward r239082 2015-06-04 21:28:26 +00:00
NVPTXISelDAGToDAG.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
NVPTXISelLowering.cpp Add address space argument to isLegalAddressingMode 2015-06-01 05:31:59 +00:00
NVPTXISelLowering.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
NVPTXLowerAggrCopies.cpp
NVPTXLowerAggrCopies.h
NVPTXLowerAlloca.cpp Add NVPTXLowerAlloca pass to convert alloca'ed memory to local address 2015-06-17 22:31:02 +00:00
NVPTXLowerKernelArgs.cpp [NVPTX] roll forward r239082 2015-06-04 21:28:26 +00:00
NVPTXMachineFunctionInfo.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
NVPTXMCExpr.cpp MC: Add target hook to control symbol quoting 2015-06-09 00:31:39 +00:00
NVPTXMCExpr.h MC: Add target hook to control symbol quoting 2015-06-09 00:31:39 +00:00
NVPTXPeephole.cpp Add NVPTXPeephole pass to reduce unnecessary address cast 2015-06-24 20:20:16 +00:00
NVPTXPrologEpilogPass.cpp Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
NVPTXRegisterInfo.cpp Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
NVPTXRegisterInfo.h
NVPTXRegisterInfo.td Add NVPTXPeephole pass to reduce unnecessary address cast 2015-06-24 20:20:16 +00:00
NVPTXReplaceImageHandles.cpp Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
NVPTXSection.h
NVPTXSubtarget.cpp Replace string GNU Triples with llvm::Triple in MCSubtargetInfo and create*MCSubtargetInfo(). NFC. 2015-06-10 12:11:26 +00:00
NVPTXSubtarget.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
NVPTXTargetMachine.cpp Add NVPTXPeephole pass to reduce unnecessary address cast 2015-06-24 20:20:16 +00:00
NVPTXTargetMachine.h Replace string GNU Triples with llvm::Triple in TargetMachine. NFC. 2015-06-11 19:41:26 +00:00
NVPTXTargetObjectFile.h
NVPTXTargetTransformInfo.cpp
NVPTXTargetTransformInfo.h
NVPTXUtilities.cpp
NVPTXUtilities.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
NVPTXVector.td
NVVMReflect.cpp Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00