[debugify] Demote an error about empty locations to a warning
authorVedant Kumar <vsk@apple.com>
Thu, 18 Jun 2020 21:17:07 +0000 (14:17 -0700)
committerVedant Kumar <vsk@apple.com>
Fri, 26 Jun 2020 21:55:02 +0000 (14:55 -0700)
In https://reviews.llvm.org/D81198, we outlined a number of scenarios
where dropping debug locations is appropriate. Stop issuing an error
when this happens.

llvm/lib/Transforms/Utils/Debugify.cpp
llvm/test/DebugInfo/debugify-report-missing-locs-only.ll
llvm/test/DebugInfo/debugify.ll

index 7c178ab..8f98d81 100644 (file)
@@ -330,11 +330,10 @@ bool checkDebugifyMetadata(Module &M,
       }
 
       if (!DL) {
-        dbg() << "ERROR: Instruction with empty DebugLoc in function ";
+        dbg() << "WARNING: Instruction with empty DebugLoc in function ";
         dbg() << F.getName() << " --";
         I.print(dbg());
         dbg() << "\n";
-        HasErrors = true;
       }
     }
 
index 4368276..abf392f 100644 (file)
@@ -1,6 +1,6 @@
-; RUN: opt -check-debugify < %s -S -o - 2>&1 | FileCheck %s -implicit-check-not "ERROR: Instruction with empty DebugLoc in function bar"
+; RUN: opt -check-debugify < %s -S -o - 2>&1 | FileCheck %s -implicit-check-not "WARNING: Instruction with empty DebugLoc in function bar"
 
-; CHECK: ERROR: Instruction with empty DebugLoc in function foo --   ret void
+; CHECK: WARNING: Instruction with empty DebugLoc in function foo --   ret void
 define void @foo() !dbg !6 {
   ret void
 }
index 89f62e2..e821ce0 100644 (file)
 ; RUN:   FileCheck %s -implicit-check-not="CheckModuleDebugify: FAIL"
 
 ; RUN: opt -debugify -strip -check-debugify -S -o - < %s 2>&1 | \
-; RUN:   FileCheck %s -check-prefix=CHECK-FAIL
+; RUN:   FileCheck %s -check-prefix=CHECK-WARN
 
 ; RUN: opt -enable-debugify -strip -S -o - < %s 2>&1 | \
-; RUN:   FileCheck %s -check-prefix=CHECK-FAIL
+; RUN:   FileCheck %s -check-prefix=CHECK-WARN
 
 ; RUN: opt -enable-debugify -S -o - < %s 2>&1 | FileCheck %s -check-prefix=PASS
 
@@ -88,15 +88,15 @@ define i32 @boom() {
 ; CHECK-REPEAT: ModuleDebugify: Skipping module with debug info
 
 ; --- Failure case
-; CHECK-FAIL: ERROR: Instruction with empty DebugLoc in function foo --   ret void
-; CHECK-FAIL: ERROR: Instruction with empty DebugLoc in function bar --   call void @foo()
-; CHECK-FAIL: ERROR: Instruction with empty DebugLoc in function bar --   {{.*}} add i32 0, 1
-; CHECK-FAIL: ERROR: Instruction with empty DebugLoc in function bar --   ret i32 0
-; CHECK-FAIL: WARNING: Missing line 1
-; CHECK-FAIL: WARNING: Missing line 2
-; CHECK-FAIL: WARNING: Missing line 3
-; CHECK-FAIL: WARNING: Missing line 4
-; CHECK-FAIL: WARNING: Missing variable 1
-; CHECK-FAIL: CheckModuleDebugify: FAIL
+; CHECK-WARN: WARNING: Instruction with empty DebugLoc in function foo --   ret void
+; CHECK-WARN: WARNING: Instruction with empty DebugLoc in function bar --   call void @foo()
+; CHECK-WARN: WARNING: Instruction with empty DebugLoc in function bar --   {{.*}} add i32 0, 1
+; CHECK-WARN: WARNING: Instruction with empty DebugLoc in function bar --   ret i32 0
+; CHECK-WARN: WARNING: Missing line 1
+; CHECK-WARN: WARNING: Missing line 2
+; CHECK-WARN: WARNING: Missing line 3
+; CHECK-WARN: WARNING: Missing line 4
+; CHECK-WARN: WARNING: Missing variable 1
+; CHECK-WARN: CheckModuleDebugify: PASS
 
 ; PASS: CheckModuleDebugify: PASS