Skip to content
  1. Sep 15, 2018
  2. Sep 14, 2018
    • James Henderson's avatar
      Revert r342233. · 13f42630
      James Henderson authored
      This caused LLD test failures, which I've been unable to reproduce.
      
      Reverting to allow for further investigation next week.
      
      llvm-svn: 342244
      13f42630
    • James Henderson's avatar
      [ThinLTO]Allow setting of maximum cache size with 64-bit number · 48c0688a
      James Henderson authored
      Also added a C-interface function for large values, and updated
      llvm-lto's --thinlto-cache-max-size-bytes switch to take a type larger
      than int.
      
      The maximum cache size in terms of bytes is a 64-bit number. However,
      the methods to set it only took unsigned previously, which meant that
      the maximum cache size could not be specified above 4GB. That's quite
      small compared to the output of some projects, so it makes sense to
      provide the ability to set larger values in that field.
      
      We also needed a C-interface function that provides a greater range
      than the existing thinlto_codegen_set_cache_size_bytes, which also only
      takes an unsigned, so this change also adds
      hinlto_codegen_set_cache_size_megabytes.
      
      Reviewed by: mehdi_amini, tejohnson, steven_wu
      
      Differential Revision: https://reviews.llvm.org/D52023
      
      llvm-svn: 342233
      48c0688a
    • Wolfgang Pieb's avatar
      [DWARF] reposting r342048, which was reverted in r342056 due to buildbot · 55dbac9f
      Wolfgang Pieb authored
      errors.
      Adjusted 2 test cases for ARM and darwin and fixed a bug with the original
      change in dsymutil.
      
      llvm-svn: 342218
      55dbac9f
  3. Sep 13, 2018
  4. Sep 12, 2018
    • Vedant Kumar's avatar
      [llvm-cov] Delete custom JSON serialization code (NFC) · 2963c490
      Vedant Kumar authored
      Teach llvm-cov to use the new llvm JSON library, and remove some
      redundant/brittle JSON serialization tests.
      
      llvm-svn: 342088
      2963c490
    • Zachary Turner's avatar
      [PDB] Emit old fpo data to the PDB file. · a1f85f8b
      Zachary Turner authored
      r342003 added support for emitting FPO data from the
      DEBUG_S_FRAMEDATA subsection of the .debug$S section to the PDB
      file.  However, that is not the end of the story.  FPO can end
      up in two different destinations in a PDB, each corresponding to
      a different FPO data source.
      
      The case handled by r342003 involves copying data from the
      DEBUG_S_FRAMEDATA subsection of the .debug$S section to the
      "New FPO" stream in the PDB, which is then referred to by the
      DBI stream.  The case handled by this patch involves copying
      records from the .debug$F section of an object file to the "FPO"
      stream (or perhaps more aptly, the "Old FPO" stream) in the PDB
      file, which is also referred to by the DBI stream.
      
      The formats are largely similar, and the difference is mostly
      only visible in masm generated object files, such as some of the
      low-level CRT object files like memcpy.  MASM doesn't appear to
      support writing the DEBUG_S_FRAMEDATA subsection, and instead
      just writes these records to the .debug$F section.
      
      Although clang-cl does not emit a .debug$F section ever, lld still
      needs to support it so we have good debugging for CRT functions.
      
      Differential Revision: https://reviews.llvm.org/D51958
      
      llvm-svn: 342080
      a1f85f8b
    • Julie Hockett's avatar
      [objcopy] make objcopy follow program header standards · 468722ee
      Julie Hockett authored
      Submitted on behalf of Armando Montanez (amontanez@google.com).
      
      Objects with unused program headers copied by objcopy would always have
      nonzero values for program header offset and program header entry size.
      While technically valid, this atypical behavior triggers warnings in some
      tools. This change sets the two fields to zero when the program header is
      unused, better fitting the general expectations for unused program header
      data.
      
      Section headers behaved somewhat similarly (though only with the entry size),
      and are fixed in this revision as well.
      
      Differential Revision: https://reviews.llvm.org/D51961
      
      llvm-svn: 342065
      468722ee
    • Wolfgang Pieb's avatar
      Reverting r342048, which caused UBSan failures in dsymutil. · 233bc730
      Wolfgang Pieb authored
      llvm-svn: 342056
      233bc730
    • Wolfgang Pieb's avatar
      [DWARF] Refactoring range list dumping to fold DWARF v4 functionality into v5 handling · 3a8781cf
      Wolfgang Pieb authored
      Eliminating some duplication of rangelist dumping code at the expense of
      some version-dependent code in dump and extract routines.
      
      Reviewer: dblaikie, JDevlieghere, vleschuk
      
      Differential revision: https://reviews.llvm.org/D51081
      
      llvm-svn: 342048
      3a8781cf
    • Clement Courbet's avatar
      [llvm-exegesis][NFC]Remove dead function parameter · 903667e9
      Clement Courbet authored
      llvm-svn: 342035
      903667e9
    • Zachary Turner's avatar
      [PDB] Write FPO Data to the PDB. · 42e7cc1b
      Zachary Turner authored
      llvm-svn: 342003
      42e7cc1b
    • Reid Kleckner's avatar
      Apply local fixes intended to be part of r341999.' · 4a177802
      Reid Kleckner authored
      llvm-svn: 342000
      4a177802
    • Reid Kleckner's avatar
      [codeview] Decode and dump FP regs from S_FRAMEPROC records · a6f64265
      Reid Kleckner authored
      Summary:
      There are two registers encoded in the S_FRAMEPROC flags: one for locals
      and one for parameters. The encoding is described by the
      ExpandEncodedBasePointerReg function in cvinfo.h. Two bits are used to
      indicate one of four possible values:
      
        0: no register - Used when there are no variables.
        1: SP / standard - Variables are stored relative to the standard SP
           for the ISA.
        2: FP - Variables are addressed relative to the ISA frame
           pointer, i.e. EBP on x86. If realignment is required, parameters
           use this. If a dynamic alloca is used, locals will be EBP relative.
        3: Alternative - Variables are stored relative to some alternative
           third callee-saved register. This is required to address highly
           aligned locals when there are dynamic stack adjustments. In this
           case, both the incoming SP saved in the standard FP and the current
           SP are at some dynamic offset from the locals. LLVM uses ESI in
           this case, MSVC uses EBX.
      
      Most of the changes in this patch are to pass around the CPU so that we
      can decode these into real, named architectural registers.
      
      Subscribers: hiraditya
      
      Differential Revision: https://reviews.llvm.org/D51894
      
      llvm-svn: 341999
      a6f64265
  5. Sep 11, 2018
    • Matt Davis's avatar
      [llvm-mca] Delay calculation of Cycles per Resources, separate the cycles and resource quantities. · db834837
      Matt Davis authored
      Summary:
      This patch removes the storing of accumulated floating point data 
      within the llvm-mca library.
      
      This patch splits-up the two quantities: cycles and number of resource units.
      By splitting-up these two quantities, we delay the calculation of "cycles per resource unit"
      until that value is read, reducing the chance of accumulating floating point error. 
      
      I considered using the APFloat, but after measuring performance, for a large (many iteration)
      sample, I decided to go with this faster solution.
      
      Reviewers: andreadb, courbet, RKSimon
      
      Reviewed By: andreadb
      
      Subscribers: llvm-commits, javed.absar, tschuett, gbedwell
      
      Differential Revision: https://reviews.llvm.org/D51903
      
      llvm-svn: 341980
      db834837
    • Dean Michael Berris's avatar
      [XRay] Add the `llvm-xray fdr-dump` implementation · dd01efc5
      Dean Michael Berris authored
      Summary:
      In this change, we implement a `BlockPrinter` which orders records in a
      Block that's been indexed by the `BlockIndexer`. This is used in the
      `llvm-xray fdr-dump` tool which ties together the various types and
      utilities we've been working on, to allow for inspection of XRay FDR
      mode traces both with and without verification.
      
      This change is the final step of the refactoring of D50441.
      
      Reviewers: mboerger, eizan
      
      Subscribers: mgorny, hiraditya, llvm-commits
      
      Differential Revision: https://reviews.llvm.org/D51846
      
      llvm-svn: 341887
      dd01efc5
    • Lang Hames's avatar
      [ORC] Simplify LLJIT::Create by removing the ExecutionSession parameter. · 7c481430
      Lang Hames authored
      The Create method can just construct the ExecutionSession, rather than having the
      client pass it in.
      
      llvm-svn: 341872
      7c481430
  6. Sep 10, 2018
  7. Sep 08, 2018
    • Zachary Turner's avatar
      [PDB] Support pointer types in the native reader. · da4b63ab
      Zachary Turner authored
      In order to start testing this, I've added a new mode to
      llvm-pdbutil which is only really useful for writing tests.
      It just dumps the value of raw fields in record format.
      This isn't really ideal and it won't allow us to test some
      important cases, but it's better than nothing for now.
      
      llvm-svn: 341729
      da4b63ab
  8. Sep 07, 2018
    • Reid Kleckner's avatar
      [codeview] Improve readobj FPO dumper and pdbutil register names · ee0e8bab
      Reid Kleckner authored
      The improved dumping helps me investigate PR38857.
      
      llvm-svn: 341695
      ee0e8bab
    • Jonas Devlieghere's avatar
      [dsymutil] Prevent non-determinism due to threading. · 475ce5a2
      Jonas Devlieghere authored
      Before this patch, analyzeContext called getCanonicalDIEOffset(), for
      which the result depends on the timings of the setCanonicalDIEOffset()
      calls in the cloneLambda. This can lead to slightly different output
      between runs due to threading.
      
      To prevent this from happening, we now record the output debug info size
      after importing the modules (before any concurrent processing takes
      place). This value, named the ModulesEndOffset is used to compare the
      canonical DIE offset against. If the value is greater than this offset,
      the canonical DIE offset has been updated during cloning, and should
      therefore not be considered for pruning.
      
      Differential revision: https://reviews.llvm.org/D51443
      
      llvm-svn: 341649
      475ce5a2
    • Puyan Lotfi's avatar
      [llvm-objcopy] Dwarf .debug section compression support (zlib, zlib-gnu). · 99124cc0
      Puyan Lotfi authored
        Third Attempt:
          - Alignment issues resolved.
          - zlib::isAvailable() detected.
          - ArrayRef misuse fixed.
      
        Usage:
      
        llvm-objcopy --compress-debug-sections=zlib foo.o
        llvm-objcopy --compress-debug-sections=zlib-gnu foo.o
      
        In both cases the debug section contents is compressed with zlib. In the GNU
        style case the header is the "ZLIB" magic string followed by the uint64 big-
        endian decompressed size. In the non-GNU mode the header is the
        Elf(32|64)_Chdr.
      
        Decompression support is coming soon.
      
        Differential Revision: https://reviews.llvm.org/D49678
      
      llvm-svn: 341635
      99124cc0
    • Puyan Lotfi's avatar
      Revert: [llvm-objcopy] Dwarf .debug section compression (Second Attempt). · 5be060e3
      Puyan Lotfi authored
      Various bots still fail for unknown reason.
      
      llvm-svn: 341613
      5be060e3
    • Puyan Lotfi's avatar
      [llvm-objcopy] Dwarf .debug section compression support (zlib, zlib-gnu). · f0954dd2
      Puyan Lotfi authored
        Second Attempt. Alignment issues resolved. zlib::isAvailable() detected.
      
        Usage:
      
        llvm-objcopy --compress-debug-sections=zlib foo.o
        llvm-objcopy --compress-debug-sections=zlib-gnu foo.o
      
        In both cases the debug section contents is compressed with zlib. In the GNU
        style case the header is the "ZLIB" magic string followed by the uint64 big-
        endian decompressed size. In the non-GNU mode the header is the
        Elf(32|64)_Chdr.
      
        Decompression support is coming soon.
      
        Differential Revision: https://reviews.llvm.org/D49678
      
      llvm-svn: 341607
      f0954dd2
  9. Sep 06, 2018
  10. Sep 05, 2018
Loading