Skip to content
  1. Sep 19, 2018
    • Eric Liu's avatar
      [clangd] Store preamble macros in dynamic index. · 467c5f9c
      Eric Liu authored
      Summary:
      Pros:
      o Loading macros from preamble for every completion is slow (see profile).
      o Calculating macro USR is also slow (see profile).
      o Sema can provide a lot of macro completion results (e.g. when filter is empty,
      60k for some large TUs!).
      
      Cons:
      o Slight memory increase in dynamic index (~1%).
      o Some extra work during preamble build (should be fine as preamble build and
      indexAST is way slower).
      
      Before:
      {F7195645}
      
      After:
      {F7195646}
      
      Reviewers: ilya-biryukov, sammccall
      
      Reviewed By: sammccall
      
      Subscribers: MaskRay, jkorous, arphaman, kadircet, cfe-commits
      
      Differential Revision: https://reviews.llvm.org/D52078
      
      llvm-svn: 342529
      467c5f9c
    • Eric Liu's avatar
      [Sema] Do not load macros from preamble when LoadExternal is false. · 88de9f65
      Eric Liu authored
      Reviewers: ilya-biryukov
      
      Reviewed By: ilya-biryukov
      
      Subscribers: cfe-commits
      
      Differential Revision: https://reviews.llvm.org/D52079
      
      llvm-svn: 342528
      88de9f65
    • Carlos Alberto Enciso's avatar
      [DebugInfo][Dexter] Speculated BB presents illegal variable value to debugger. · ba4e437c
      Carlos Alberto Enciso authored
      When SimplifyCFG changes the PHI node into a select instruction, the debug information becomes ambiguous. It causes the debugger to display wrong variable value. 
      
      Differential Revision: https://reviews.llvm.org/D51976
      
      llvm-svn: 342527
      ba4e437c
    • Jonas Devlieghere's avatar
      [DWARF Verifier] Add helper function to dump DIEs. [NFC] · f1f3e737
      Jonas Devlieghere authored
      It's pretty common for the verifier to dump the relevant DIE when it
      finds an issue. This tends to be relatively verbose and error prone
      because we have to pass the DIDumpOptions to the DIE's dump method. This
      patch adds a helper function to the verifier to make this easier.
      
      llvm-svn: 342526
      f1f3e737
    • Shuai Wang's avatar
      [NFC] Fix uncompilable test cases of ExprMutationAnalyzer. · b81bcb3a
      Shuai Wang authored
      And ensure future test cases doesn't have compile errors.
      
      llvm-svn: 342525
      b81bcb3a
    • Marshall Clow's avatar
      Remove unused include of "verbose_assert.h" · 8ae45e0e
      Marshall Clow authored
      llvm-svn: 342524
      8ae45e0e
    • Dean Michael Berris's avatar
      [XRay] Detect terminfo library · ff93d3a8
      Dean Michael Berris authored
      Instead of assuming `-ltinfo` works, check whether there's terminfo
      support on the host where LLVMSupport is compiled.
      
      Follow-up to D52220.
      
      llvm-svn: 342523
      ff93d3a8
    • Thomas Lively's avatar
      [WebAssembly][NFC] Remove extra space in WebAssemblyInstrSIMD.td · ad7e9e9f
      Thomas Lively authored
      llvm-svn: 342522
      ad7e9e9f
    • Matthias Braun's avatar
      AArch64MacroFusion: Factor out some opcode handling code; NFC · 934be5fe
      Matthias Braun authored
      llvm-svn: 342521
      934be5fe
    • Matthias Braun's avatar
      ScheduleDAG: Cleanup dumping code; NFC · 726e12cf
      Matthias Braun authored
      - Instead of having both `SUnit::dump(ScheduleDAG*)` and
        `ScheduleDAG::dumpNode(ScheduleDAG*)`, just keep the latter around.
      - Add `ScheduleDAG::dump()` and avoid code duplication in several
        places. Implement it for different ScheduleDAG variants.
      - Add `ScheduleDAG::dumpNodeName()` in favor of the `SUnit::print()`
        functions. They were only ever used for debug dumping and putting the
        function into ScheduleDAG is consistent with the `dumpNode()` change.
      
      llvm-svn: 342520
      726e12cf
    • Aaron Puchert's avatar
      Thread safety analysis: Fix crash for function pointers · f6ccde78
      Aaron Puchert authored
      For function pointers, the FunctionDecl of the callee is unknown, so
      getDirectCallee will return nullptr. We have to catch that case to avoid
      crashing. We assume there is no attribute then.
      
      llvm-svn: 342519
      f6ccde78
    • Dean Michael Berris's avatar
      [XRay][compiler-rt] FDRLogWriter Abstraction · b64f71b0
      Dean Michael Berris authored
      Summary:
      This change introduces an `FDRLogWriter` type which is responsible for
      serialising metadata and function records to character buffers. This is
      the first step in a refactoring of the implementation of the FDR runtime
      to allow for more granular testing of the individual components of the
      implementation.
      
      The main contribution of this change is a means of hiding the details of
      how specific records are written to a buffer, and for managing the
      extents of these buffers. We make use of C++ features (templates and
      some metaprogramming) to reduce repetition in the act of writing out
      specific kinds of records to the buffer.
      
      In this process, we make a number of changes across both LLVM and
      compiler-rt to allow us to use the `Trace` abstraction defined in the
      LLVM project in the testing of the runtime implementation. This gives us
      a closer end-to-end test which version-locks the runtime implementation
      with the loading implementation in LLVM.
      
      We also allow using gmock in compiler-rt unit tests, by adding the
      requisite definitions in the `AddCompilerRT.cmake` module.
      
      Finally, we've gone ahead and updated the FDR logging implementation to
      use the FDRLogWriter for the lowest-level record-writing details.
      
      Following patches will isolate the state machine transitions which
      manage the set-up and tear-down of the buffers we're using in multiple
      threads.
      
      Reviewers: mboerger, eizan
      
      Subscribers: mgorny, jfb, llvm-commits
      
      Differential Revision: https://reviews.llvm.org/D52220
      
      llvm-svn: 342518
      b64f71b0
    • Volodymyr Sapsai's avatar
      Add a callback for `__has_include` and use it for dependency scanning. · a4c53284
      Volodymyr Sapsai authored
      This adds a preprocessor callback for the `__has_include` and
      `__has_include_next` directives.
      
      Successful checking for the presence of a header should add it to the list of
      header dependencies so this overrides the callback in the dependency scanner.
      
      Patch by Pete Cooper with some additions by me.
      
      rdar://problem/39545636
      
      Differential Revision: https://reviews.llvm.org/D30882
      
      llvm-svn: 342517
      a4c53284
    • Reid Kleckner's avatar
      [MS] Defer dllexport inline friend functions like other inline methods · 78381c63
      Reid Kleckner authored
      This special case was added in r264841, but the code breaks our
      invariants by calling EmitTopLevelDecl without first creating a
      HandlingTopLevelDeclRAII scope.
      
      This fixes the PCH crash in https://crbug.com/884427. I was never able
      to make a satisfactory reduction, unfortunately. I'm not very worried
      about this regressing since this change makes the code simpler while
      passing the existing test that shows we do emit dllexported friend
      function definitions. Now we just defer their emission until the tag is
      fully complete, which is generally good.
      
      llvm-svn: 342516
      78381c63
    • Saleem Abdulrasool's avatar
      Driver: extract a local variable for the Toolchain (NFC) · 3806c536
      Saleem Abdulrasool authored
      Create and store a reference to the current toolchain rather than calling
      `getToolChain` throughout the function.  NFC.
      
      llvm-svn: 342515
      3806c536
  2. Sep 18, 2018
Loading