[PATCH] D20986: [safestack] Fixup llvm.dbg.value when rewriting unsafe allocas.

Peter Collingbourne via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 15 15:31:07 PDT 2016


pcc added inline comments.

================
Comment at: lib/Transforms/Utils/Local.cpp:1276
@@ +1275,3 @@
+    if (auto *MDV = MetadataAsValue::getIfExists(AI->getContext(), L))
+      for (auto UI = MDV->use_begin(), UE = MDV->use_end(); UI != UE;) {
+        Use &U = *UI++;
----------------
Please add negative tests covering both cases.

================
Comment at: test/Transforms/SafeStack/debug-loc-dynamic.ll:3
@@ +2,3 @@
+
+; Test llvm.dbg.value for dynamic allocas moved onto the unsafe stack.
+
----------------
I was confused about what you were trying to test here (given that you removed the call to `replaceDbgValueForAlloca` for dynamic allocas) until I realized that you were just testing that the IR is unchanged. Can you please explicitly mention this?

================
Comment at: test/Transforms/SafeStack/debug-loc2.ll:19
@@ +18,3 @@
+
+; CHECK: call void @llvm.dbg.value(metadata i8* %unsafe_stack_ptr, i64 0, metadata ![[X1:.*]], metadata ![[X1_EXPR:.*]])
+  tail call void @llvm.dbg.value(metadata i32* %x1, i64 0, metadata !10, metadata !15), !dbg !16
----------------
Do you want to match `%[[USP]]` here?

================
Comment at: test/Transforms/SafeStack/debug-loc2.ll:23
@@ +22,3 @@
+
+; CHECK: call void @llvm.dbg.value(metadata i8* %unsafe_stack_ptr, i64 0, metadata ![[X2:.*]], metadata ![[X2_EXPR:.*]])
+  call void @llvm.dbg.value(metadata i32* %x2, i64 0, metadata !12, metadata !15), !dbg !18
----------------
Same here


Repository:
  rL LLVM

http://reviews.llvm.org/D20986





More information about the llvm-commits mailing list