Skip to content
  1. Aug 24, 2018
    • Kirill Bobyrev's avatar
      [clangd] Log memory usage of DexIndex and MemIndex · fc89001c
      Kirill Bobyrev authored
      This patch prints information about built index size estimation to
      verbose logs. This is useful for optimizing memory usage of DexIndex and
      comparisons with MemIndex.
      
      Reviewed by: sammccall
      
      Differential Revision: https://reviews.llvm.org/D51154
      
      llvm-svn: 340601
      fc89001c
    • Ilya Biryukov's avatar
      [clangd] Allow to merge symbols on-the-fly in global-symbol-builder · e9fe4db8
      Ilya Biryukov authored
      Summary:
      The new mode avoids serializing and deserializing YAML.
      This results in better performance and less memory usage. Reduce phase
      is now almost instant.
      
      The default is to use the old mode going through YAML serialization to
      allow migrating MapReduce clients that require the old mode to operate
      properly. After we migrate the clients, we can switch the default to
      the new mode.
      
      Reviewers: hokein, ioeric, kbobyrev, sammccall
      
      Reviewed By: ioeric
      
      Subscribers: MaskRay, jkorous, arphaman, kadircet, cfe-commits
      
      Differential Revision: https://reviews.llvm.org/D51155
      
      llvm-svn: 340600
      e9fe4db8
    • Ilya Biryukov's avatar
      [Tooling] Add a isSingleProcess() helper to ToolExecutor · dbdd8e52
      Ilya Biryukov authored
      Summary:
      Used in clangd's symbol builder to optimize for the common
      shared-memory executor case.
      
      Reviewers: ioeric
      
      Reviewed By: ioeric
      
      Subscribers: kadircet, cfe-commits
      
      Differential Revision: https://reviews.llvm.org/D51164
      
      llvm-svn: 340599
      dbdd8e52
    • Eric Liu's avatar
      [FileManager] Do not call 'real_path' in getFile(). · 411e7100
      Eric Liu authored
      Summary:
      This partially rolls back the change in D48903:
      https://github.com/llvm-mirror/clang/commit/89aa7f45a1f728144935289d4ce69d8522999de0#diff-0025af005307891b5429b6a834823d5eR318
      
      `real_path` can be very expensive on real file systems, and calling it on each
      opened file can slow down the compilation. This also slows down deserialized
      ASTs for which real paths need to be recalculated for each input files again.
      
      For clangd code completion latency (using preamble):
      Before
      {F7039629}
      After
      {F7039630}
      
      Reviewers: ilya-biryukov, simark
      
      Reviewed By: ilya-biryukov
      
      Subscribers: kadircet, cfe-commits
      
      Differential Revision: https://reviews.llvm.org/D51159
      
      llvm-svn: 340598
      411e7100
    • Aleksandr Urakov's avatar
      [PDB] Make variables.test to pass using a 32-bit compiler too · 562811a8
      Aleksandr Urakov authored
      Summary:
      `variables.test` depends on mangled names, but the mangling depends
      on the bitness. This patch specifies the bitness explicitly, so mangled names
      doesn't differ when a 32-bit version of the compiler is used.
      
      Reviewers: stella.stamenova, asmith
      
      Reviewed By: stella.stamenova
      
      Tags: #lldb
      
      Differential Revision: https://reviews.llvm.org/D51158
      
      llvm-svn: 340597
      562811a8
    • Chandler Carruth's avatar
      [AVR] Fix inline asm calls now that the addrspace(0) there is explicit. · 8ed84333
      Chandler Carruth authored
      This updates the test case for r340519 so it should pass again. r340522
      only got some of the AVR tests that needed an update.
      
      llvm-svn: 340596
      8ed84333
    • Kito Cheng's avatar
      [RISCV] RISC-V using -fuse-init-array by default · ed08d373
      Kito Cheng authored
      Reviewers: asb, apazos, mgrang
      
      Reviewed By: asb
      
      Differential Revision: https://reviews.llvm.org/D50043
      
      llvm-svn: 340595
      ed08d373
    • Justin Bogner's avatar
      [SDAG] Add versions of computeKnownBits that return a value · fbbd4366
      Justin Bogner authored
      Having the KnownBits as an output parameter is kind of awkward to use
      and a holdover from when it was two separate APInts. Instead, just
      return a KnownBits object.
      
      I'm leaving the existing interface in place for now, since updating
      the callers all at once would be thousands of lines of diff.
      
      llvm-svn: 340594
      fbbd4366
    • Kostya Serebryany's avatar
      [hwasan] implement detection of realloc-after-free · a7c3846a
      Kostya Serebryany authored
      llvm-svn: 340593
      a7c3846a
    • Richard Smith's avatar
      Make llvm-profdata show -text work as advertised in the documentation. · c6ba9ca1
      Richard Smith authored
      Per LLVM's CommandGuide, llvm-profdata show -text is supposed to produce
      textual output that can be passed as input to further llvm-profdata
      invocations. This previously didn't work for two reasons:
      
      1) -text was not sufficient to enable the machine-readable text format output;
      instead, -text was effectively ignored if -counts was not also specified. (With
      this patch, -counts is instead ignored if -text is specified, because the
      machine-readable text format always includes counts.)
      
      2) When the input data was an IR-level profile, the :ir marker was missing from
      the output, resulting in a text format output that would not be usable as
      profiling data due to function hash mismatches.
      
      Differential Revision: https://reviews.llvm.org/D51188
      
      llvm-svn: 340592
      c6ba9ca1
    • Kostya Serebryany's avatar
      [hwasan] implement detection of double-free (invalid-free) · c5f98d2a
      Kostya Serebryany authored
      llvm-svn: 340591
      c5f98d2a
    • Nico Weber's avatar
      Attempt to fix ELF/lto-plugin-ignore.s on Windows after r340487. · 0b87d056
      Nico Weber authored
      I removed the ".exe" regex in the wrong place. lld-link in front of the
      "error:" no longer has the suffix; the --plugin-opt diagnostic still has it.
      
      llvm-svn: 340590
      0b87d056
    • Raphael Isemann's avatar
      Add more pre-run asserts for the DirCompletionAbsolute test · 3e1c793e
      Raphael Isemann authored
      Summary:
      The DirCompletionAbsolute is still randomly failing on the nodes even after D50722, so this patch adds more asserts
      that verify certain properties on which the actual completion implementation relies on.
      
      The first assert checks that the directory we complete on actually exists. If the directory doesn't exist on the
      next CI failure, this assert should catch it and we know that the 0 matches come from a missing base directory.
      
      The second assert is just checking that we are below the PATH_MAX limit that the completion checks against.
      This check could randomly fail if the temporary directories we generate are sometimes longer than PATH_MAX,
      and the assert can tell us that this is the reason we failed (instead of the mysterious '0 matches').
      
      (As a sidenote: We shouldn't be checking against PATH_MAX anyway in the code (as this is just wrong). Also
      the disk completion API really needs a better error mechanism than returning 0 on both error or no-results.)
      
      Reviewers: aprantl, friss
      
      Reviewed By: aprantl
      
      Subscribers: abidh
      
      Differential Revision: https://reviews.llvm.org/D51111
      
      llvm-svn: 340589
      3e1c793e
    • Reid Kleckner's avatar
      Make LLVM_ENABLE_CRASH_DUMPS set a variable default · 7a973fb7
      Reid Kleckner authored
      That way users can set the default to true, but then disable core dumps
      from certain apps that link support.
      
      llvm-svn: 340588
      7a973fb7
    • Kuba Mracek's avatar
      [sanitizer] Don't call task_for_pid(mach_task_self). NFC. · 9f690839
      Kuba Mracek authored
      Calling task_for_pid with mach_task_self is just returning mach_task_self anyway, but it also triggers system warnings (task_for_pid is only supposed to be used by high-privileged executables). NFC.
      
      rdar://problem/39198248
      
      Differential Revision: https://reviews.llvm.org/D51119
      
      llvm-svn: 340587
      9f690839
    • Stephen Kelly's avatar
      Fix typo · e63344e8
      Stephen Kelly authored
      llvm-svn: 340586
      e63344e8
    • Raphael Isemann's avatar
      Reuse the SelectorTable from Clang's Preprocessor · d2b0862f
      Raphael Isemann authored
      Summary:
      At the moment we create our own SelectorTable even though the Preprocessor always
      creates one for us that we can (and should) reuse.
      
      Reviewers: vsk
      
      Reviewed By: vsk
      
      Subscribers: lldb-commits
      
      Differential Revision: https://reviews.llvm.org/D51185
      
      llvm-svn: 340585
      d2b0862f
    • David Blaikie's avatar
      DebugInfo: Improve debug location merging · 2a813ef2
      David Blaikie authored
      Fix a set of related bugs:
      
      * Considering two locations as equivalent when their lines are the same
      but their scopes are different causes erroneous debug info that
      attributes a commoned call to be attributed to one of the two calls it
      was commoned from.
      
      * The previous code to compute a new location's scope was inaccurate and
      would use the inlinedAt that was the /parent/ of the inlinedAt that is
      the nearest common one, and also used that parent scope instead of the
      nearest common scope.
      
      * Not generating new locations generally seemed like a lower quality
      choice
      
      There was some risk that generating more new locations could hurt object
      size by making more fine grained line table entries, but it looks like
      that was offset by the decrease in line table (& address & ranges) size
      caused by more accurately computing the scope - which likely lead to
      fewer range entries (more contiguous ranges) & reduced size that way.
      
      All up with these changes I saw minor reductions (-1.21%, -1.77%) in
      .rela.debug_ranges and .rela.debug_addr (in a fission, compressed debug
      info build) as well as other minor size changes (generally reductinos)
      across the board (-1.32% debug_info.dwo, -1.28% debug_loc.dwo). Measured
      in an optimized (-O2) build of the clang binary.
      
      If you are investigating a size regression in an optimized debug builds,
      this is certainly a patch to look into - and I'd be happy to look into
      any major regressions found & see what we can do to address them.
      
      llvm-svn: 340583
      2a813ef2
  2. Aug 23, 2018
Loading