[NVPTX][NewPM] Temporarily disable NVPTX passes in new PM pipeline
authorArthur Eubanks <aeubanks@google.com>
Fri, 5 Feb 2021 19:14:12 +0000 (11:14 -0800)
committerArthur Eubanks <aeubanks@google.com>
Fri, 5 Feb 2021 19:31:07 +0000 (11:31 -0800)
These passes are causing numerical discrepancies after being added to
the pipeline. Disable while investigating.

Reviewed By: rupprecht

Differential Revision: https://reviews.llvm.org/D96166

llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
llvm/test/CodeGen/NVPTX/nvvm-reflect-arch.ll

index f1a82f1..2158838 100644 (file)
@@ -222,14 +222,17 @@ void NVPTXTargetMachine::registerPassBuilderCallbacks(PassBuilder &PB,
         return false;
       });
 
-  PB.registerPipelineStartEPCallback(
-      [this, DebugPassManager](ModulePassManager &PM,
-                               PassBuilder::OptimizationLevel Level) {
-        FunctionPassManager FPM(DebugPassManager);
-        FPM.addPass(NVVMReflectPass(Subtarget.getSmVersion()));
-        FPM.addPass(NVVMIntrRangePass(Subtarget.getSmVersion()));
-        PM.addPass(createModuleToFunctionPassAdaptor(std::move(FPM)));
-      });
+  // FIXME: these passes are causing numerical discrepancies, investigate and
+  // re-enable.
+
+  // PB.registerPipelineStartEPCallback(
+  //     [this, DebugPassManager](ModulePassManager &PM,
+  //                              PassBuilder::OptimizationLevel Level) {
+  //       FunctionPassManager FPM(DebugPassManager);
+  //       FPM.addPass(NVVMReflectPass(Subtarget.getSmVersion()));
+  //       FPM.addPass(NVVMIntrRangePass(Subtarget.getSmVersion()));
+  //       PM.addPass(createModuleToFunctionPassAdaptor(std::move(FPM)));
+  //     });
 }
 
 TargetTransformInfo
index 8e8d866..faab355 100644 (file)
@@ -1,9 +1,10 @@
 ; Libdevice in recent CUDA versions relies on __CUDA_ARCH reflecting GPU type.
 ; Verify that __nvvm_reflect() is replaced with an appropriate value.
 ;
-; RUN: opt %s -S -nvvm-reflect -O2 -mtriple=nvptx64 \
+; FIXME: fix pass and re-enable under new PM
+; RUN: opt %s -S -nvvm-reflect -O2 -enable-new-pm=0 -mtriple=nvptx64 \
 ; RUN:   | FileCheck %s --check-prefixes=COMMON,SM20
-; RUN: opt %s -S -nvvm-reflect -O2 -mtriple=nvptx64 -mcpu=sm_35 \
+; RUN: opt %s -S -nvvm-reflect -O2 -enable-new-pm=0 -mtriple=nvptx64 -mcpu=sm_35 \
 ; RUN:   | FileCheck %s --check-prefixes=COMMON,SM35
 
 @"$str" = private addrspace(1) constant [12 x i8] c"__CUDA_ARCH\00"