[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