[llvm] r233253 - bugpoint: Verify input files
Duncan P. N. Exon Smith
dexonsmith at apple.com
Wed Mar 25 22:03:10 PDT 2015
Author: dexonsmith
Date: Thu Mar 26 00:03:10 2015
New Revision: 233253
URL: http://llvm.org/viewvc/llvm-project?rev=233253&view=rev
Log:
bugpoint: Verify input files
Like r233229 for `llvm-link`, start verifying input files to `bugpoint`.
Modified:
llvm/trunk/test/BugPoint/metadata.ll
llvm/trunk/tools/bugpoint/BugDriver.cpp
Modified: llvm/trunk/test/BugPoint/metadata.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/BugPoint/metadata.ll?rev=233253&r1=233252&r2=233253&view=diff
==============================================================================
--- llvm/trunk/test/BugPoint/metadata.ll (original)
+++ llvm/trunk/test/BugPoint/metadata.ll Thu Mar 26 00:03:10 2015
@@ -6,9 +6,9 @@
; CHECK: call void @foo(), !dbg ![[LOC:[0-9]+]], !attach ![[CALL:[0-9]+]]
; CHECK: ![[LOC]] = !MDLocation(line: 104, column: 105, scope: ![[SCOPE:[0-9]+]])
-; CHECK: ![[SCOPE]] = !MDCompileUnit(language: 0, file: ![[FILE:[0-9]+]], producer: "me", isOptimized: true, runtimeVersion: 0, emissionKind: 0, enums: ![[LIST:[0-9]+]], retainedTypes: ![[LIST]])
+; CHECK: ![[SCOPE]] = !MDSubprogram(name: "test"
+; CHECK-SAME: file: ![[FILE:[0-9]+]]
; CHECK: ![[FILE]] = !MDFile(filename: "source.c", directory: "/dir")
-; CHECK: ![[LIST]] = !{i32 0}
; CHECK: ![[CALL]] = !{!"the call to foo"}
%rust_task = type {}
@@ -31,12 +31,12 @@ declare void @foo()
!3 = !{!"noise"}
!4 = !{!"filler"}
-!9 = !MDCompileUnit(language: 0, producer: "me", isOptimized: true, emissionKind: 0, file: !15, enums: !16, retainedTypes: !16)
+!9 = !MDSubprogram(name: "test", file: !15)
!10 = !MDLocation(line: 100, column: 101, scope: !9)
!11 = !MDLocation(line: 102, column: 103, scope: !9)
!12 = !MDLocation(line: 104, column: 105, scope: !9)
!13 = !MDLocation(line: 106, column: 107, scope: !9)
!14 = !MDLocation(line: 108, column: 109, scope: !9)
!15 = !MDFile(filename: "source.c", directory: "/dir")
-!16 = !{i32 0}
+!16 = !{}
!17 = !{i32 1, !"Debug Info Version", i32 3}
Modified: llvm/trunk/tools/bugpoint/BugDriver.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/bugpoint/BugDriver.cpp?rev=233253&r1=233252&r2=233253&view=diff
==============================================================================
--- llvm/trunk/tools/bugpoint/BugDriver.cpp (original)
+++ llvm/trunk/tools/bugpoint/BugDriver.cpp Thu Mar 26 00:03:10 2015
@@ -16,6 +16,7 @@
#include "BugDriver.h"
#include "ToolRunner.h"
#include "llvm/IR/Module.h"
+#include "llvm/IR/Verifier.h"
#include "llvm/IRReader/IRReader.h"
#include "llvm/Linker/Linker.h"
#include "llvm/Pass.h"
@@ -91,6 +92,11 @@ std::unique_ptr<Module> llvm::parseInput
return Result;
}
+ if (verifyModule(*Result, &errs())) {
+ errs() << "bugpoint: " << Filename << ": error: does not verify\n";
+ return std::unique_ptr<Module>();
+ }
+
// If we don't have an override triple, use the first one to configure
// bugpoint, or use the host triple if none provided.
if (TargetTriple.getTriple().empty()) {
More information about the llvm-commits
mailing list