Skip to content
  1. Sep 11, 2018
  2. Sep 10, 2018
  3. 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
  4. 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
  5. Sep 06, 2018
  6. Sep 05, 2018
  7. Sep 04, 2018
  8. Sep 03, 2018
  9. Sep 01, 2018
  10. Aug 31, 2018
    • Alexandre Ganea's avatar
      [DebugInfo] Common behavior for error types · 6a7efef4
      Alexandre Ganea authored
      Following D50807, and heading towards D50664, this intermediary change does the following:
      
      1. Upgrade all custom Error types in llvm/trunk/lib/DebugInfo/ to use the new StringError behavior (D50807).
      2. Implement std::is_error_code_enum and make_error_code() for DebugInfo error enumerations.
      3. Rename GenericError -> PDBError (the file will be renamed in a subsequent commit)
      4. Update custom error messages to follow the same formatting: (\w\s*)+\.
      5. Keep generic "file not found" (ENOENT) errors as they are in PDB code. Previously, there used to be a custom enumeration for that purpose.
      6. Remove a few extraneous LF in log() implementations. Printing LF is a responsability at a higher level, not at the error level.
      
      Differential Revision: https://reviews.llvm.org/D51499
      
      llvm-svn: 341228
      6a7efef4
    • Francis Visoiu Mistrih's avatar
      [llvm-objdump] Keep the memory buffer from the dSYM alive when using -g -dsym · 8e864be7
      Francis Visoiu Mistrih authored
      When using -g and -dsym, llvm-objdump opens the dsym file and keeps the
      MachOObjectFile alive, while the memory buffer that the MachOObjectFile
      was based on gets destroyed.
      
      Differential Revision: https://reviews.llvm.org/D51365
      
      llvm-svn: 341209
      8e864be7
  11. Aug 30, 2018
    • Adrian Prantl's avatar
      dsymutil: Avoid pruning non-type forward declarations inside DW_TAG_module · bdffea12
      Adrian Prantl authored
      forward declarations.
      
      Especially with template instantiations, there are legitimate reasons
      why for declarations might be emitted into a DW_TAG_module skeleton /
      forward-declaration sub-tree, that are not forward declarations in the
      sense of that there is a more complete definition over in a .pcm file.
      
      The example in the testcase is a constant DW_TAG_member of a
      DW_TAG_class template instatiation.
      
      rdar://problem/43623196
      
      llvm-svn: 341123
      bdffea12
    • Robert Widmann's avatar
      [LLVM-C] Add Bindings For Named Metadata · 0a35b766
      Robert Widmann authored
      Summary: Add a new type for named metadata nodes.  Use this to implement iterators and accessors for NamedMDNodes and extend the echo test to use them to copy module-level debug information.
      
      Reviewers: whitequark, deadalnix, aprantl, dexonsmith
      
      Reviewed By: whitequark
      
      Subscribers: Wallbraker, JDevlieghere, llvm-commits, harlanhaskins
      
      Differential Revision: https://reviews.llvm.org/D47179
      
      llvm-svn: 341085
      0a35b766
    • Andrea Di Biagio's avatar
      [llvm-mca] correctly initialize field 'CycleRetired' in the TimelineView. · 7f2230ff
      Andrea Di Biagio authored
      This fixes a [-Wmissing-field-initializers] warning reported by buildbot
      lld-x86_64-darwin13, build #25152.
      
      llvm-svn: 341056
      7f2230ff
    • Andrea Di Biagio's avatar
      [llvm-mca] Report the number of dispatched micro opcodes in the DispatchStatistics view. · 8b647dcf
      Andrea Di Biagio authored
      This patch introduces the following changes to the DispatchStatistics view:
       * DispatchStatistics now reports the number of dispatched opcodes instead of
         the number of dispatched instructions.
       * The "Dynamic Dispatch Stall Cycles" table now also reports the percentage of
         stall cycles against the total simulated cycles.
      
      This change allows users to easily compare dispatch group sizes with the
      processor DispatchWidth.
      Before this change, it was difficult to correlate the two numbers, since
      DispatchStatistics view reported numbers of instructions (instead of opcodes).
      DispatchWidth defines the maximum size of a dispatch group in terms of number of
      micro opcodes.
      
      The other change introduced by this patch is related to how DispatchStage
      generates "instruction dispatch" events.
      In particular:
       * There can be multiple dispatch events associated with a same instruction
       * Each dispatch event now encapsulates the number of dispatched micro opcodes.
      
      The number of micro opcodes declared by an instruction may exceed the processor
      DispatchWidth. Therefore, we cannot assume that instructions are always fully
      dispatched in a single cycle.
      DispatchStage knows already how to handle instructions declaring a number of
      opcodes bigger that DispatchWidth. However, DispatchStage always emitted a
      single instruction dispatch event (during the first simulated dispatch cycle)
      for instructions dispatched.
      
      With this patch, DispatchStage now correctly notifies multiple dispatch events
      for instructions that cannot be dispatched in a single cycle.
      
      A few views had to be modified. Views can no longer assume that there can only
      be one dispatch event per instruction.
      
      Tests (and docs) have been updated.
      
      Differential Revision: https://reviews.llvm.org/D51430
      
      llvm-svn: 341055
      8b647dcf
    • Roman Lebedev's avatar
      Revert "[CMake] Use LLVM_ENABLE_IDE instead of CMAKE_CONFIGURATION_TYPES" · f1ec7f83
      Roman Lebedev authored
      That resulted in the check-llvm-* targets not being avaliable
      in the QtCreator-configured build directories.
      
      Moreover, that was a clearly non-NFC change, and i can't find any review
      for it.
      
      This reverts commit rL340435.
      
      llvm-svn: 341045
      f1ec7f83
    • Jordan Rupprecht's avatar
      [llvm-strip] Fix -p|--preserve-dates to not truncate output when used in-place. · 7481540f
      Jordan Rupprecht authored
      The restoreDateOnFile() method used to preserve dates uses sys::fs::openFileForWrite(). That method defaults to opening files with CD_CreateAlways, which truncates the output file if it exists. Use CD_OpenExisting instead to open it and *not* truncate it, which also has the side benefit of erroring if the file does not exist (it should always exist, because we just wrote it out).
      
      Also, fix the test case to make sure the output is a valid output file, and not empty. The extra test assertions are enough to catch this regression.
      
      llvm-svn: 340996
      7481540f
  12. Aug 29, 2018
  13. Aug 28, 2018
    • Lang Hames's avatar
      [ORC] Add an addObjectFile method to LLJIT. · 37a66413
      Lang Hames authored
      The addObjectFile method adds the given object file to the JIT session, making
      its code available for execution.
      
      Support for the -extra-object flag is added to lli when operating in
      -jit-kind=orc-lazy mode to support testing of this feature.
      
      llvm-svn: 340870
      37a66413
Loading