llvm-project/llvm/lib/Target/NVPTX
Matthias Braun 733fe3676c CodeGen: Remove MachineFunctionAnalysis => Enable (Machine)ModulePasses
Re-apply this patch, hopefully I will get away without any warnings
in the constructor now.

This patch removes the MachineFunctionAnalysis. Instead we keep a
map from IR Function to MachineFunction in the MachineModuleInfo.

This allows the insertion of ModulePasses into the codegen pipeline
without breaking it because the MachineFunctionAnalysis gets dropped
before a module pass.

Peak memory should stay unchanged without a ModulePass in the codegen
pipeline: Previously the MachineFunction was freed at the end of a codegen
function pipeline because the MachineFunctionAnalysis was dropped; With
this patch the MachineFunction is freed after the AsmPrinter has
finished.

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

llvm-svn: 279602
2016-08-24 01:52:46 +00:00
..
InstPrinter Remove autoconf support 2016-01-26 21:29:08 +00:00
MCTargetDesc Delete MCCodeGenInfo. 2016-06-30 18:25:11 +00:00
TargetInfo Remove autoconf support 2016-01-26 21:29:08 +00:00
CMakeLists.txt [NVPTX] Renamed NVPTXLowerKernelArgs -> NVPTXLowerArgs. NFC. 2016-07-20 21:44:07 +00:00
LLVMBuild.txt [NVPTX] Enable the load-store vectorizer on nvptx. 2016-07-20 22:11:36 +00:00
ManagedStringPool.h
NVPTX.h [NVPTX] Renamed NVPTXLowerKernelArgs -> NVPTXLowerArgs. NFC. 2016-07-20 21:44:07 +00:00
NVPTX.td [NVPTX] Add sm_60, sm_61, sm_62 targets to LLVM. 2016-07-06 21:06:10 +00:00
NVPTXAllocaHoisting.cpp CodeGen: Remove MachineFunctionAnalysis => Enable (Machine)ModulePasses 2016-08-24 01:52:46 +00:00
NVPTXAllocaHoisting.h
NVPTXAsmPrinter.cpp Replace a few more "fall through" comments with LLVM_FALLTHROUGH 2016-08-17 20:30:52 +00:00
NVPTXAsmPrinter.h Apply most suggestions of clang-tidy's performance-unnecessary-value-param 2016-06-08 19:09:22 +00:00
NVPTXAssignValidGlobalNames.cpp
NVPTXFavorNonGenericAddrSpaces.cpp Add optimization bisect opt-in calls for NVPTX passes 2016-04-26 23:44:31 +00:00
NVPTXFrameLowering.cpp MachineFunction: Return reference for getFrameInfo(); NFC 2016-07-28 18:40:00 +00:00
NVPTXFrameLowering.h Change eliminateCallFramePseudoInstr() to return an iterator 2016-03-31 18:33:38 +00:00
NVPTXGenericToNVVM.cpp CodeGen: Remove MachineFunctionAnalysis => Enable (Machine)ModulePasses 2016-08-24 01:52:46 +00:00
NVPTXISelDAGToDAG.cpp [NVPTX] Improve lowering of byval args of device functions. 2016-07-20 18:39:47 +00:00
NVPTXISelDAGToDAG.h Pass DebugLoc and SDLoc by const ref. 2016-06-12 15:39:02 +00:00
NVPTXISelLowering.cpp [SelectionDAG] Rename fextend -> fpextend, fround -> fpround, frnd -> fround 2016-08-18 20:08:15 +00:00
NVPTXISelLowering.h Pass DebugLoc and SDLoc by const ref. 2016-06-12 15:39:02 +00:00
NVPTXImageOptimizer.cpp Add optimization bisect opt-in calls for NVPTX passes 2016-04-26 23:44:31 +00:00
NVPTXInferAddressSpaces.cpp [NVPTX] Switch nvptx-use-infer-addrspace to true. 2016-08-19 20:46:45 +00:00
NVPTXInstrFormats.td
NVPTXInstrInfo.cpp Rename AnalyzeBranch* to analyzeBranch*. 2016-07-15 14:41:04 +00:00
NVPTXInstrInfo.h Rename AnalyzeBranch* to analyzeBranch*. 2016-07-15 14:41:04 +00:00
NVPTXInstrInfo.td [SelectionDAG] Rename fextend -> fpextend, fround -> fpround, frnd -> fround 2016-08-18 20:08:15 +00:00
NVPTXIntrinsics.td NVPTX: Remove the legacy ptx intrinsics 2016-07-07 16:40:17 +00:00
NVPTXLowerAggrCopies.cpp CodeGen: Remove MachineFunctionAnalysis => Enable (Machine)ModulePasses 2016-08-24 01:52:46 +00:00
NVPTXLowerAggrCopies.h
NVPTXLowerAlloca.cpp Add optimization bisect opt-in calls for NVPTX passes 2016-04-26 23:44:31 +00:00
NVPTXLowerArgs.cpp [NVPTX] Renamed NVPTXLowerKernelArgs -> NVPTXLowerArgs. NFC. 2016-07-20 21:44:07 +00:00
NVPTXMCExpr.cpp Apply most suggestions of clang-tidy's performance-unnecessary-value-param 2016-06-08 19:09:22 +00:00
NVPTXMCExpr.h Apply most suggestions of clang-tidy's performance-unnecessary-value-param 2016-06-08 19:09:22 +00:00
NVPTXMachineFunctionInfo.h
NVPTXPeephole.cpp Add optimization bisect opt-in calls for NVPTX passes 2016-04-26 23:44:31 +00:00
NVPTXPrologEpilogPass.cpp MachineFunction: Return reference for getFrameInfo(); NFC 2016-07-28 18:40:00 +00:00
NVPTXRegisterInfo.cpp [NVPTX] Use untyped (.b) integer registers in PTX. 2016-08-12 22:02:19 +00:00
NVPTXRegisterInfo.h
NVPTXRegisterInfo.td
NVPTXReplaceImageHandles.cpp
NVPTXSection.h [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
NVPTXSubtarget.cpp
NVPTXSubtarget.h Rename TargetSelectionDAGInfo into SelectionDAGTargetInfo and move it to CodeGen/ 2016-01-27 16:32:26 +00:00
NVPTXTargetMachine.cpp CodeGen: Remove MachineFunctionAnalysis => Enable (Machine)ModulePasses 2016-08-24 01:52:46 +00:00
NVPTXTargetMachine.h Delete Reloc::Default. 2016-05-18 22:04:49 +00:00
NVPTXTargetObjectFile.h [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
NVPTXTargetTransformInfo.cpp NVPTX: Remove the legacy ptx intrinsics 2016-07-07 16:40:17 +00:00
NVPTXTargetTransformInfo.h [NVPTX] Set NVPTXTTI::getInliningThresholdMultiplier to 5. 2016-04-15 01:38:50 +00:00
NVPTXUtilities.cpp Use the range variant of find instead of unpacking begin/end 2016-08-11 22:21:41 +00:00
NVPTXUtilities.h Apply most suggestions of clang-tidy's performance-unnecessary-value-param 2016-06-08 19:09:22 +00:00
NVPTXVector.td
NVVMIntrRange.cpp NVPTX: Remove the legacy ptx intrinsics 2016-07-07 16:40:17 +00:00
NVVMReflect.cpp [NVPTX] Don't (incorrectly) say that the NVVMReflect pass preserves all analyses. 2016-05-25 23:12:38 +00:00
cl_common_defines.h