[PATCH] D97673: [RFC] [[Coroutine] [Debug] Salvage dbg.value at O2

Adrian Prantl via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Mar 3 16:39:46 PST 2021


aprantl requested changes to this revision.
aprantl added a comment.
This revision now requires changes to proceed.

I know this is is tempting, but unfortunately we can't have codegen change based on a debug info intrinsic (see more detailed comment inline).



================
Comment at: llvm/lib/Transforms/Coroutines/CoroFrame.cpp:2311
+      if (Checker.isDefinitionAcrossSuspend(A, DVI))
+        FrameData.Spills[&A].push_back(DVI);
+  }
----------------
Unfortunately, this is violates a guiding principle in LLVM: Debug info may under no circumstances affect the generated code. In other words, the output of `clang` and `clang -g` followed by `strip` must be identical. If you want this behavior it must either be controlled by a separate flag, or it must be on all the time, even when compiling without debug info.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D97673/new/

https://reviews.llvm.org/D97673



More information about the llvm-commits mailing list