Skip to content
  1. Aug 27, 2014
  2. Aug 26, 2014
  3. Aug 25, 2014
  4. Aug 24, 2014
  5. Aug 23, 2014
    • Rafael Espindola's avatar
      Add support for comdats to the gold plugin. · f7ecb115
      Rafael Espindola authored
      There are two parts to this. First, the plugin needs to tell gold the comdat by
      setting comdat_key.
      
      What gets things a bit more complicated is that gold only seems
      symbols. In particular, if A is an alias to B, it only sees the symbols
      A and B. It can then ask us to keep symbol A but drop symbol B. What
      we have to do instead is to create an internal version of B and make A
      an alias to that.
      
      At some point some of this logic should be moved to lib/Linker so that
      we don't map a Constant to an internal version just to have lib/Linker
      map that again to the destination module.
      
      The reason for implementing this in tools/gold for now is simplicity.
      With it in place it should be possible to update clang to use comdats
      for constructors and destructors on ELF without breaking the LTO
      bootstrap. Once that is done I intend to come back and improve the
      interface lib/Linker exposes.
      
      llvm-svn: 216302
      f7ecb115
    • Alex Lorenz's avatar
      llvm-cov: add code coverage tool that's based on coverage mapping format and clang's pgo. · e82d89cc
      Alex Lorenz authored
      This commit expands llvm-cov's functionality by adding support for a new code coverage
      tool that uses LLVM's coverage mapping format and clang's instrumentation based profiling.
      The gcov compatible tool can be invoked by supplying the 'gcov' command as the first argument,
      or by modifying the tool's name to end with 'gcov'.
      
      Differential Revision: http://reviews.llvm.org/D4445
      
      llvm-svn: 216300
      e82d89cc
  6. Aug 22, 2014
  7. Aug 21, 2014
  8. Aug 20, 2014
  9. Aug 19, 2014
    • Duncan P. N. Exon Smith's avatar
      IR: Implement uselistorder assembly directives · 0a448fbc
      Duncan P. N. Exon Smith authored
      Implement `uselistorder` and `uselistorder_bb` assembly directives,
      which allow the use-list order to be recovered when round-tripping to
      assembly.
      
      This is the bulk of PR20515.
      
      llvm-svn: 216025
      0a448fbc
    • Duncan P. N. Exon Smith's avatar
      verify-uselistorder: Force -preserve-bc-use-list-order · c8eccd11
      Duncan P. N. Exon Smith authored
      llvm-svn: 216022
      c8eccd11
    • Rafael Espindola's avatar
      Don't own the buffer in object::Binary. · 48af1c2a
      Rafael Espindola authored
      Owning the buffer is somewhat inflexible. Some Binaries have sub Binaries
      (like Archive) and we had to create dummy buffers just to handle that. It is
      also a bad fit for IRObjectFile where the Module wants to own the buffer too.
      
      Keeping this ownership would make supporting IR inside native objects
      particularly painful.
      
      This patch focuses in lib/Object. If something elsewhere used to own an Binary,
      now it also owns a MemoryBuffer.
      
      This patch introduces a few new types.
      
      * MemoryBufferRef. This is just a pair of StringRefs for the data and name.
        This is to MemoryBuffer as StringRef is to std::string.
      * OwningBinary. A combination of Binary and a MemoryBuffer. This is needed
        for convenience functions that take a filename and return both the
        buffer and the Binary using that buffer.
      
      The C api now uses OwningBinary to avoid any change in semantics. I will start
      a new thread to see if we want to change it and how.
      
      llvm-svn: 216002
      48af1c2a
    • Rafael Espindola's avatar
      Modernize the .ll parsing interface. · 11c07d7e
      Rafael Espindola authored
      * Use StringRef instead of std::string&
      * Return a std::unique_ptr<Module> instead of taking an optional module to write
        to (was not really used).
      * Use current comment style.
      * Use current naming convention.
      
      llvm-svn: 215989
      11c07d7e
    • Rafael Espindola's avatar
      2a8a2795
    • Duncan P. N. Exon Smith's avatar
      verify-uselistorder: Call verifyModule() and improve output · 8e366958
      Duncan P. N. Exon Smith authored
      Call `verifyModule()` after parsing and after every transformation.
      Also convert some `DEBUG(dbgs())` to `errs()` to increase visibility
      into what's going on.
      
      llvm-svn: 215951
      8e366958
  10. Aug 18, 2014
  11. Aug 17, 2014
  12. Aug 14, 2014
  13. Aug 13, 2014
  14. Aug 12, 2014
  15. Aug 11, 2014
  16. Aug 08, 2014
Loading