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);
 }