[PATCH] D30167: [Assembler] Add test for !srcloc references in assembler diags

Sanne Wouda via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Feb 28 02:46:45 PST 2017


This revision was automatically updated to reflect the committed changes.
Closed by commit rL296465: [Assembler] Add test for !srcloc references in assembler diags (authored by sanwou01).

Changed prior to commit:
  https://reviews.llvm.org/D30167?vs=89117&id=89994#toc

Repository:
  rL LLVM

https://reviews.llvm.org/D30167

Files:
  llvm/trunk/test/MC/ARM/inline-asm-srcloc.ll
  llvm/trunk/tools/llc/llc.cpp


Index: llvm/trunk/test/MC/ARM/inline-asm-srcloc.ll
===================================================================
--- llvm/trunk/test/MC/ARM/inline-asm-srcloc.ll
+++ llvm/trunk/test/MC/ARM/inline-asm-srcloc.ll
@@ -0,0 +1,37 @@
+; RUN: not llc -filetype=obj 2>&1 -o /dev/null < %s | FileCheck %s
+
+; ModuleID = '/scratch/llvm/master/tools/clang/test/Misc/inline-asm-diags.c'
+source_filename = "/scratch/llvm/master/tools/clang/test/Misc/inline-asm-diags.c"
+target datalayout = "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64"
+target triple = "armv7-arm-none-eabi"
+
+; Function Attrs: noinline nounwind
+define void @foo2() #0 {
+entry:
+  call void asm sideeffect " wibble", ""() #1, !srcloc !3
+; CHECK: note: !srcloc = 107
+  ret void
+}
+
+; Function Attrs: noinline nounwind
+define void @foo() #0 {
+entry:
+  call void asm sideeffect " .word -bar", ""() #1, !srcloc !4
+; CHECK: note: !srcloc = 181
+  call void asm sideeffect " .word -foo", ""() #1, !srcloc !5
+; CHECK: note: !srcloc = 257
+  ret void
+}
+
+attributes #0 = { noinline nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="cortex-a8" "target-features"="+dsp,+neon,+strict-align,+vfp3" "unsafe-fp-math"="false" "use-soft-float"="false" }
+attributes #1 = { nounwind }
+
+!llvm.module.flags = !{!0, !1}
+!llvm.ident = !{!2}
+
+!0 = !{i32 1, !"wchar_size", i32 4}
+!1 = !{i32 1, !"min_enum_size", i32 4}
+!2 = !{!"clang version 5.0.0 "}
+!3 = !{i32 107}
+!4 = !{i32 181}
+!5 = !{i32 257}
Index: llvm/trunk/tools/llc/llc.cpp
===================================================================
--- llvm/trunk/tools/llc/llc.cpp
+++ llvm/trunk/tools/llc/llc.cpp
@@ -254,12 +254,16 @@
 }
 
 static void InlineAsmDiagHandler(const SMDiagnostic &SMD, void *Context,
-                                 unsigned) {
+                                 unsigned LocCookie) {
   bool *HasError = static_cast<bool *>(Context);
   if (SMD.getKind() == SourceMgr::DK_Error)
     *HasError = true;
 
   SMD.print(nullptr, errs());
+
+  // For testing purposes, we print the LocCookie here.
+  if (LocCookie)
+    errs() << "note: !srcloc = " << LocCookie << "\n";
 }
 
 // main - Entry point for the llc compiler.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D30167.89994.patch
Type: text/x-patch
Size: 2487 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170228/72a8a28a/attachment.bin>


More information about the llvm-commits mailing list