Skip to content
  1. Apr 22, 2018
    • Jonas Devlieghere's avatar
      [lli] Make error handling more consistent. · 4a2863cc
      Jonas Devlieghere authored
      Makes error handling more consistent by using the helpers in support.
      
      llvm-svn: 330537
      4a2863cc
    • Jonas Devlieghere's avatar
      [llvm-mc] Make error handling more consistent. · c976aa7d
      Jonas Devlieghere authored
      Makes error handling more consistent by using the helpers in support.
      
      llvm-svn: 330536
      c976aa7d
    • Brian Gesiak's avatar
      [bcanalyzer] Recognize more stream types · b1358898
      Brian Gesiak authored
      Summary:
      `llvm-bcanalyzer` prints out the stream type of the file it is
      analyzing. If the file begins with the LLVM IR magic number, it reports
      a stream type of "LLVM IR". However, any other bitstream format is
      reported as "unknown".
      
      Add some checks for two other common bitstream formats: Clang AST
      files, which begin with 'CPCH', and Clang serialized diagnostics, which
      begin with 'DIAG'.
      
      Test Plan: `check-llvm`
      
      Reviewers: pcc, aprantl, mehdi_amini, davide, george.karpenkov, JDevlieghere
      
      Reviewed By: JDevlieghere
      
      Subscribers: JDevlieghere, bruno, davide, llvm-commits
      
      Differential Revision: https://reviews.llvm.org/D41979
      
      llvm-svn: 330529
      b1358898
  2. Apr 21, 2018
  3. Apr 20, 2018
  4. Apr 19, 2018
  5. Apr 18, 2018
  6. Apr 17, 2018
  7. Apr 16, 2018
    • Adrian McCarthy's avatar
      Remove faulty assertion in llvm-pdbutil · 978aae43
      Adrian McCarthy authored
      If a class's first data member is an instance of an empty class, then an
      assertion in the PrettyClassLayoutGraphicalDumper would fail. The
      storage is reserved, but it's not marked as in use.
      
      As far as I understand, it's the assertion that's faulty, so I removed it
      and updated the nearby comment.
      
      Found by running llvm-pdbutil against its own PDB, and this assertion would
      fail on HashAdjusters, which is a HashTable whose first data member is a
      TraitsT, which is a PdbHashTraits<T>, which is an empty struct. (The struct
      has a specialization for uint32_t, but that specialization doesn't apply
      here because the T is actually ulittle32_t.)
      
      Differential Revision: https://reviews.llvm.org/D45645
      
      llvm-svn: 330135
      978aae43
  8. Apr 14, 2018
  9. Apr 13, 2018
    • Roman Tereshin's avatar
    • Roman Tereshin's avatar
      [DebugInfo][OPT] Fixing a couple of DI duplication bugs of CloneModule · d769eb36
      Roman Tereshin authored
      As demonstrated by the regression tests added in this patch, the
      following cases are valid cases:
      
      1. A Function with no DISubprogram attached, but various debug info
        related to its instructions, coming, for instance, from an inlined
        function, also defined somewhere else in the same module;
      2. ... or coming exclusively from the functions inlined and eliminated
        from the module entirely.
      
      The ValueMap shared between CloneFunctionInto calls within CloneModule
      needs to contain identity mappings for all of the DISubprogram's to
      prevent them from being duplicated by MapMetadata / RemapInstruction
      calls, this is achieved via DebugInfoFinder collecting all the
      DISubprogram's. However, CloneFunctionInto was missing calls into
      DebugInfoFinder for functions w/o DISubprogram's attached, but still
      referring DISubprogram's from within (case 1). This patch fixes that.
      
      The fix above, however, exposes another issue: if a module contains a
      DISubprogram referenced only indirectly from other debug info
      metadata, but not attached to any Function defined within the module
      (case 2), cloning such a module causes a DICompileUnit duplication: it
      will be moved in indirecty via a DISubprogram by DebugInfoFinder first
      (because of the first bug fix described above), without being
      self-mapped within the shared ValueMap, and then will be copied during
      named metadata cloning. So this patch makes sure DebugInfoFinder
      visits DICompileUnit's referenced from DISubprogram's as it goes w/o
      re-processing llvm.dbg.cu list over and over again for every function
      cloned, and makes sure that CloneFunctionInto self-maps
      DICompileUnit's referenced from the entire function, not just its own
      DISubprogram attached that may also be missing.
      
      The most convenient way of tesing CloneModule I found is to rely on
      CloneModule call from `opt -run-twice`, instead of writing tedious
      unit tests. That feature has a couple of properties that makes it hard
      to use for this purpose though:
      
      1. CloneModule doesn't copy source filename, making `opt -run-twice`
        report it as a difference.
      2. `opt -run-twice` does the second run on the original module, not
        its clone, making the result of cloning completely invisible in opt's
        actual output with and without `-run-twice` both, which directly
        contradicts `opt -run-twice`s own error message.
      
      This patch fixes this as well.
      
      Reviewed By: aprantl
      
      Reviewers: loladiro, GorNishanov, espindola, echristo, dexonsmith
      
      Subscribers: vsk, debug-info, JDevlieghere, llvm-commits
      
      Differential Revision: https://reviews.llvm.org/D45593
      
      llvm-svn: 330069
      d769eb36
    • Rui Ueyama's avatar
      Define InitLLVM to do common initialization all at once. · 197194b6
      Rui Ueyama authored
      We have a few functions that virtually all command wants to run on
      process startup/shutdown. This patch adds InitLLVM class to do that
      all at once, so that we don't need to copy-n-paste boilerplate code
      to each llvm command's main() function.
      
      Differential Revision: https://reviews.llvm.org/D45602
      
      llvm-svn: 330046
      197194b6
    • Sean Fertile's avatar
      Add PPC64_GLINK dynamic tag. · eaa1607b
      Sean Fertile authored
      Add support for the PPC64_GLINK dynamic tag which is used in the ElfV2 abi.
      
      Differential Revision: https://reviews.llvm.org/D45574
      
      llvm-svn: 330038
      eaa1607b
    • Andrea Di Biagio's avatar
      [llvm-mca] Ensure that instructions with a schedule read-advance are always... · c752616f
      Andrea Di Biagio authored
      [llvm-mca] Ensure that instructions with a schedule read-advance are always issued in the right order.
      
      Normally, the Scheduler prioritizes older instructions over younger instructions
      during the instruction issue stage. In one particular case where a dependent
      instruction had a schedule read-advance associated to one of the input operands,
      this rule was not correctly applied.
      
      This patch fixes the issue and adds a test to verify that we don't regress that
      particular case.
      
      llvm-svn: 330032
      c752616f
    • Clement Courbet's avatar
      [llvm-exegesis] Fix use after free. · 1924993b
      Clement Courbet authored
      Reviewers: gchatelet
      
      Subscribers: tschuett, llvm-commits
      
      Differential Revision: https://reviews.llvm.org/D45625
      
      llvm-svn: 330026
      1924993b
    • Yunlian Jiang's avatar
      Enable debug fission for thinLTO linked via gold-plugin · bd200b9f
      Yunlian Jiang authored
      Summary: This enables debug fission on implicit ThinLTO when linked with gold. It will put the .dwo files in a directory specified by user. 
      
      Reviewers: tejohnson, pcc, dblaikie
      
      Reviewed By: pcc
      
      Subscribers: JDevlieghere, mehdi_amini, inglorion
      
      Differential Revision: https://reviews.llvm.org/D44792
      
      llvm-svn: 329988
      bd200b9f
  10. Apr 12, 2018
  11. Apr 11, 2018
Loading