Changeset View
Changeset View
Standalone View
Standalone View
lib/CodeGen/PPCGCodeGeneration.cpp
Context not available. | |||||
#include "llvm/Analysis/ScalarEvolutionAliasAnalysis.h" | #include "llvm/Analysis/ScalarEvolutionAliasAnalysis.h" | ||||
#include "llvm/Analysis/TargetLibraryInfo.h" | #include "llvm/Analysis/TargetLibraryInfo.h" | ||||
#include "llvm/Analysis/TargetTransformInfo.h" | #include "llvm/Analysis/TargetTransformInfo.h" | ||||
#include "llvm/IR/DebugInfo.h" | |||||
#include "llvm/IR/LegacyPassManager.h" | #include "llvm/IR/LegacyPassManager.h" | ||||
#include "llvm/IR/Verifier.h" | #include "llvm/IR/Verifier.h" | ||||
#include "llvm/Support/TargetRegistry.h" | #include "llvm/Support/TargetRegistry.h" | ||||
Context not available. | |||||
} | } | ||||
std::string GPUNodeBuilder::finalizeKernelFunction() { | std::string GPUNodeBuilder::finalizeKernelFunction() { | ||||
llvm::StripDebugInfo(*GPUModule); | |||||
Meinersbur: Where do the debug intrinsics come from? As far as I know we just do not copy them over to… | |||||
singam-sanjayAuthorUnsubmitted Not Done ReplyInline ActionsThey are generated by Julia when invoked through julia-debug singam-sanjay: They are generated by Julia when invoked through `julia-debug` | |||||
grosserUnsubmitted Not Done ReplyInline ActionsRight. If I run "opt -polly-codegen-ppcg ~/Downloads/kernel_gemm-before-DEBUG.ll" and remove this line, these is no problem. Is this change really needed. In case it is, please add a test case that breaks without this change. Otherwise, please remove this change. grosser: Right. If I run "opt -polly-codegen-ppcg ~/Downloads/kernel_gemm-before-DEBUG.ll" and remove… | |||||
singam-sanjayAuthorUnsubmitted Not Done ReplyInline ActionsverifyModule doesn't report errors since the 2nd argument, raw_ostream *OS = nullptr, is left empty. When &(llvm::errs()) is passed as the 2nd argument you get the following output, DICompileUnit not listed in llvm.dbg.cu !11 = distinct !DICompileUnit(language: DW_LANG_C89, file: !3, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, enums: !12) Along with the following which eventually crashes the program. Cannot invoke an intrinsic other than donothing, patchpoint, statepoint, coro_resume or coro_destroy store void (metadata, i64, metadata, metadata)* @llvm.dbg.value, void (metadata, i64, metadata, metadata)** %polly_launch_0_param_7 LLVM ERROR: Broken function found, compilation aborted! singam-sanjay: verifyModule doesn't report errors since the 2nd argument, raw_ostream *OS = nullptr, is left… | |||||
if (verifyModule(*GPUModule)) { | if (verifyModule(*GPUModule)) { | ||||
BuildSuccessful = false; | BuildSuccessful = false; | ||||
return ""; | return ""; | ||||
Context not available. |
Where do the debug intrinsics come from? As far as I know we just do not copy them over to generated code.