[lldb] Revive lldb-instrI revived lldb-instr to update the macros for D117712. I think the newmacros are simple enough that we add them by hand, but this tool can doit automatically for you.Dif
[lldb] Revive lldb-instrI revived lldb-instr to update the macros for D117712. I think the newmacros are simple enough that we add them by hand, but this tool can doit automatically for you.Differential revision: https://reviews.llvm.org/D117748
show more ...
[lldb] Remove lldb-instr
Adapt lldb-instr to d47ee525f9e92898 APi change
[lldb/Reproducers] Change the way we instrument void* argumentsThe reproducer instrumentation cannot automatically serialize anddeserialize void* arguments. Currently we deal with this by explicit
[lldb/Reproducers] Change the way we instrument void* argumentsThe reproducer instrumentation cannot automatically serialize anddeserialize void* arguments. Currently we deal with this by explicitlypreventing these methods from being instrumented. This has the undesiredside effect of breaking replay when that method returns a value laterused by another SB API call.The solution is to change our approach and instrument these methods.Instead of using the DUMMY macro, we just make (de)serialization of thevoid pointer a NOOP and always return a nullptr.
[lldb] [cmake] Support linking against clang-cpp dylibLink against clang-cpp dylib rather than split libs whenCLANG_LINK_CLANG_DYLIB is enabled.Differential Revision: https://reviews.llvm.org/D6
[lldb] [cmake] Support linking against clang-cpp dylibLink against clang-cpp dylib rather than split libs whenCLANG_LINK_CLANG_DYLIB is enabled.Differential Revision: https://reviews.llvm.org/D68456llvm-svn: 373734
[LLDB] Migrate llvm::make_unique to std::make_uniqueNow that we've moved to C++14, we no longer need the llvm::make_uniqueimplementation from STLExtras.h. This patch is a mechanical replacementof
[LLDB] Migrate llvm::make_unique to std::make_uniqueNow that we've moved to C++14, we no longer need the llvm::make_uniqueimplementation from STLExtras.h. This patch is a mechanical replacementof (hopefully) all the llvm::make_unique instances across the monorepo.Differential revision: https://reviews.llvm.org/D66259llvm-svn: 368933
[Reproducers] Capture return values of functions returning by ptr/refFor some reason I had convinced myself that functions returning bypointer or reference do not require recording their result. H
[Reproducers] Capture return values of functions returning by ptr/refFor some reason I had convinced myself that functions returning bypointer or reference do not require recording their result. However,after further considering I don't see how that could work, at least notwith the current implementation. Interestingly enough, the reproducerinstrumentation already (mostly) accounts for this, though thelldb-instr tool did not.This patch adds the missing macros and updates the lldb-instr tool.Differential revision: https://reviews.llvm.org/D60178llvm-svn: 357639
[lldb-instr] Support LLDB_RECORD_DUMMYExtend lldb-instr to insert LLDB_RECORD_DUMMY macros for currentlyunsupported signatures (void and function pointers).llvm-svn: 355710
[lldb-instr] Group RECORD macrosGroup LLDB_RECORD macros per input file.llvm-svn: 354423
[lldb-instr] Don't print REGISTER macro when RECORD is already presentCurrently we'd always print the LLDB_REGISTER macro, even if theLLDB_RECORD macro was already present. This patches changes th
[lldb-instr] Don't print REGISTER macro when RECORD is already presentCurrently we'd always print the LLDB_REGISTER macro, even if theLLDB_RECORD macro was already present. This patches changes that to makeit easier to incrementally update the macros.Note that it's still possible for the RECORD and REGISTER macros to getout of sync.llvm-svn: 354400
[lldb-instr] Wrap returns of struct/classes in LLDB_RECORD_RESULTThe instrumentation framework requires return values of custom classesand structs to be wrapped in the LLDB_RECORD_RESULT macro.l
[lldb-instr] Wrap returns of struct/classes in LLDB_RECORD_RESULTThe instrumentation framework requires return values of custom classesand structs to be wrapped in the LLDB_RECORD_RESULT macro.llvm-svn: 354301
[lldb-instr] Pass PCHContainerOperations to ClangToolOn a local modules build this would cause an error.> fatal error: no handler registered for module format 'obj'> LLVM ERROR: unknown module f
[lldb-instr] Pass PCHContainerOperations to ClangToolOn a local modules build this would cause an error.> fatal error: no handler registered for module format 'obj'> LLVM ERROR: unknown module formatInterestingly enough, this didn't trigger on the GreenDragon CMake bot,which is configured with modules.llvm-svn: 353869
[lldb] [lldb-instr] Add missing linkage to clang librariesFix build errors against shared clang by adding all the libraries usedin the code.Differential Revision: https://reviews.llvm.org/D57999
[lldb] [lldb-instr] Add missing linkage to clang librariesFix build errors against shared clang by adding all the libraries usedin the code.Differential Revision: https://reviews.llvm.org/D57999llvm-svn: 353680
[Reproducers] lldb-instr: tool to generate instrumentation macros.This patch introduces a new tool called 'lldb-instr'. It automates theworkflow of inserting LLDB_RECORD and LLDB_REGSITER macros f
[Reproducers] lldb-instr: tool to generate instrumentation macros.This patch introduces a new tool called 'lldb-instr'. It automates theworkflow of inserting LLDB_RECORD and LLDB_REGSITER macros forinstrumentation.Because the tool won't be part of the build process, I didn't want toover-complicate it. SB_RECORD macros are inserted in place, whileSB_REGISTER macros are printed to stdout, and have to be manually copiedinto the Registry's constructor. Additionally, the utility makes noattempt to properly format the inserted macros. Please use clang-formatto format the changes after running the tool.Differential revision: https://reviews.llvm.org/D56822llvm-svn: 353271