From e1a98343a1f8b00b2df9572baa9151ac80e77a29 Mon Sep 17 00:00:00 2001 From: Tobias Grosser Date: Sun, 24 Jul 2016 06:43:17 +0000 Subject: [PATCH] GPGPU: Verify kernel IR before generating assembly llvm-svn: 276550 --- polly/lib/CodeGen/PPCGCodeGeneration.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/polly/lib/CodeGen/PPCGCodeGeneration.cpp b/polly/lib/CodeGen/PPCGCodeGeneration.cpp index 74dd31d91fcf..420b3eec356a 100644 --- a/polly/lib/CodeGen/PPCGCodeGeneration.cpp +++ b/polly/lib/CodeGen/PPCGCodeGeneration.cpp @@ -28,6 +28,7 @@ #include "llvm/Analysis/TargetLibraryInfo.h" #include "llvm/Analysis/TargetTransformInfo.h" #include "llvm/IR/LegacyPassManager.h" +#include "llvm/IR/Verifier.h" #include "llvm/Support/TargetRegistry.h" #include "llvm/Support/TargetSelect.h" #include "llvm/Target/TargetMachine.h" @@ -674,6 +675,10 @@ std::string GPUNodeBuilder::createKernelASM() { } void GPUNodeBuilder::finalizeKernelFunction() { + // Verify module. + llvm::legacy::PassManager Passes; + Passes.add(createVerifierPass()); + Passes.run(*GPUModule); if (DumpKernelIR) outs() << *GPUModule << "\n";