From: Arthur Eubanks Date: Fri, 5 Feb 2021 19:14:12 +0000 (-0800) Subject: [NVPTX][NewPM] Temporarily disable NVPTX passes in new PM pipeline X-Git-Tag: llvmorg-14-init~15887 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=526c0955c08b402a163139ea544815e9b46d47c3;p=platform%2Fupstream%2Fllvm.git [NVPTX][NewPM] Temporarily disable NVPTX passes in new PM pipeline 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 --- diff --git a/llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp b/llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp index f1a82f1..2158838 100644 --- a/llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp +++ b/llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp @@ -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 diff --git a/llvm/test/CodeGen/NVPTX/nvvm-reflect-arch.ll b/llvm/test/CodeGen/NVPTX/nvvm-reflect-arch.ll index 8e8d866..faab355 100644 --- a/llvm/test/CodeGen/NVPTX/nvvm-reflect-arch.ll +++ b/llvm/test/CodeGen/NVPTX/nvvm-reflect-arch.ll @@ -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"