bridge: set debug info version
Otherwise some LLVM tools (e.g. llvm-as) will warn on our IR.
Change-Id: I746dcb054fa94426eb4f4fa1a39ee69b870b8e70
Reviewed-on: https://go-review.googlesource.com/c/141179
Reviewed-by: Than McIntosh <thanm@google.com>
diff --git a/bridge/go-llvm-dibuildhelper.cpp b/bridge/go-llvm-dibuildhelper.cpp
index aa83d7e..00f64b2 100644
--- a/bridge/go-llvm-dibuildhelper.cpp
+++ b/bridge/go-llvm-dibuildhelper.cpp
@@ -23,6 +23,7 @@
#include "llvm/IR/DebugLoc.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/Instructions.h"
+#include "llvm/IR/Module.h"
#include "llvm/Support/FileSystem.h"
DIBuildHelper::DIBuildHelper(llvm::Module *module,
@@ -52,6 +53,10 @@
"llvm-goc", isOptimized,
compileFlags, runtimeVersion);
pushDIScope(moduleScope_);
+
+ module_->addModuleFlag(llvm::Module::Warning, "Debug Info Version",
+ llvm::DEBUG_METADATA_VERSION);
+ module_->addModuleFlag(llvm::Module::Warning, "Dwarf Version", 4);
}
void DIBuildHelper::finalize()
diff --git a/unittests/BackendCore/BackendDebugEmit.cpp b/unittests/BackendCore/BackendDebugEmit.cpp
index face485..327bc5f 100644
--- a/unittests/BackendCore/BackendDebugEmit.cpp
+++ b/unittests/BackendCore/BackendDebugEmit.cpp
@@ -34,8 +34,8 @@
entry:
%x = alloca i32
store i32 0, i32* %x
- call void @llvm.dbg.declare(metadata i32* %x, metadata !3,
- metadata !DIExpression()), !dbg !10
+ call void @llvm.dbg.declare(metadata i32* %x, metadata !5,
+ metadata !DIExpression()), !dbg !12
ret void
}
)RAW_RESULT";
@@ -67,8 +67,8 @@
const char *exp = R"RAW_RESULT(
define void @foo(i8* nest %nest.0, { i64, i64, i64 }* byval %p0) #0 {
entry:
- call void @llvm.dbg.declare(metadata { i64, i64, i64 }* %p0, metadata !3,
- metadata !DIExpression()), !dbg !16
+ call void @llvm.dbg.declare(metadata { i64, i64, i64 }* %p0, metadata !5,
+ metadata !DIExpression()), !dbg !18
ret void
}
)RAW_RESULT";
@@ -171,10 +171,10 @@
h.mkLocal("x", bu32t);
const char *exp = R"RAW_RESULT(
- define void @foo(i8* nest %nest.0) #0 !dbg !3 {
+ define void @foo(i8* nest %nest.0) #0 !dbg !5 {
entry:
%x = alloca i32
- ret void, !dbg !8
+ ret void, !dbg !10
}
)RAW_RESULT";