NVPTX: Don't even create a regalloc if we're not going to use it.
authorBenjamin Kramer <benny.kra@googlemail.com>
Fri, 31 May 2013 19:21:58 +0000 (19:21 +0000)
committerBenjamin Kramer <benny.kra@googlemail.com>
Fri, 31 May 2013 19:21:58 +0000 (19:21 +0000)
Fixes a leak found by valgrind.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183031 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/NVPTX/NVPTXTargetMachine.cpp

index 68f9bf74f7ff6c732a2c8f996e68a662eab392f0..72afe8d6ea9230ea52c3e26fc9ce6735ca4cd7b8 100644 (file)
@@ -109,6 +109,7 @@ public:
   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 @@ bool NVPTXPassConfig::addPostRegAlloc() {
   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);
 }