NVPTX: Don't even create a regalloc if we're not going to use it.
Fixes a leak found by valgrind.
llvm-svn: 183031
diff --git a/llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp b/llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
index 68f9bf7..72afe8d 100644
--- a/llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
+++ b/llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
@@ -109,6 +109,7 @@
virtual bool addPreRegAlloc();
virtual bool addPostRegAlloc();
+ virtual FunctionPass *createTargetRegisterAllocator(bool) LLVM_OVERRIDE;
virtual void addFastRegAlloc(FunctionPass *RegAllocPass);
virtual void addOptimizedRegAlloc(FunctionPass *RegAllocPass);
};
@@ -147,12 +148,16 @@
return false;
}
+FunctionPass *NVPTXPassConfig::createTargetRegisterAllocator(bool) {
+ return 0; // No reg alloc
+}
+
void NVPTXPassConfig::addFastRegAlloc(FunctionPass *RegAllocPass) {
- // No reg alloc
+ assert(!RegAllocPass && "NVPTX uses no regalloc!");
addPass(&StrongPHIEliminationID);
}
void NVPTXPassConfig::addOptimizedRegAlloc(FunctionPass *RegAllocPass) {
- // No reg alloc
+ assert(!RegAllocPass && "NVPTX uses no regalloc!");
addPass(&StrongPHIEliminationID);
}