[PATCH] D41044: Implementation of -fextend-lifetimes and -fextend-this-ptr to aid with debugging of optimized code

Wolfgang Pieb via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri Dec 8 17:27:58 PST 2017


wolfgangp created this revision.
Herald added a subscriber: JDevlieghere.

The patch implements the clang support for generating artificial uses of local variables and parameters to aid with debugging of optimized code. I presented this concept in my lightning talk "Debugging of optimized code: Extending the lifetime of local variables" at the October 2017 LLVM conference.

Since the concept is not universally supported, the purpose of this review is to make the patch available to interested parties and perhaps to restart the discussion.

This patch requires the patch posted in https://reviews.llvm.org/D41043 (the llvm portion).

The implementation generates calls to the llvm intrinsic fake.use in similar fashion as end of lifetime markers.


https://reviews.llvm.org/D41044

Files:
  include/clang/Driver/Options.td
  include/clang/Frontend/CodeGenOptions.def
  lib/CodeGen/CGDecl.cpp
  lib/CodeGen/CodeGenFunction.h
  lib/CodeGen/CodeGenModule.h
  lib/Driver/ToolChains/Clang.cpp
  lib/Frontend/CompilerInvocation.cpp
  test/CodeGen/fake-use.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D41044.126248.patch
Type: text/x-patch
Size: 8396 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20171209/22b35409/attachment-0001.bin>


More information about the cfe-commits mailing list