Skip to content
  1. Sep 20, 2014
  2. Sep 19, 2014
    • Justin Bogner's avatar
      llvm-cov: Return unique_ptrs instead of filling objects (NFC) · 5a6edad3
      Justin Bogner authored
      Having create* functions return the object they create is more
      readable than using an in-out parameter.
      
      llvm-svn: 218139
      5a6edad3
    • Justin Bogner's avatar
      llvm-cov: Fix dropped lines when filters were applied · 13ba23bb
      Justin Bogner authored
      Uncovered lines in the middle of a covered region weren't being shown
      when filtering to a particular function.
      
      llvm-svn: 218109
      13ba23bb
    • Justin Bogner's avatar
      llvm-cov: Generalize -filename-equivalence · 116c1664
      Justin Bogner authored
      The filename-equivalence flag allows you to show coverage when your
      source files don't have the same full paths as those that generated
      the data. This is mostly useful for writing tests in a cross-platform
      way.
      
      This wasn't triggering in cases where the filename was derived
      directly from the coverage data, which meant certain types of test
      case were impossible to write. This patch fixes that, and following
      patches involve tests that need this.
      
      llvm-svn: 218108
      116c1664
  3. Sep 18, 2014
    • Peter Collingbourne's avatar
      LTO: introduce object file-based on-disk module format. · 10039c02
      Peter Collingbourne authored
      This format is simply a regular object file with the bitcode stored in a
      section named ".llvmbc", plus any number of other (non-allocated) sections.
      
      One immediate use case for this is to accommodate compilation processes
      which expect the object file to contain metadata in non-allocated sections,
      such as the ".go_export" section used by some Go compilers [1], although I
      imagine that in the future we could consider compiling parts of the module
      (such as large non-inlinable functions) directly into the object file to
      improve LTO efficiency.
      
      [1] http://golang.org/doc/install/gccgo#Imports
      
      Differential Revision: http://reviews.llvm.org/D4371
      
      llvm-svn: 218078
      10039c02
    • Justin Bogner's avatar
      llvm-cov: Simplify FunctionInstantiationSetCollector (NFC) · 1ae21d13
      Justin Bogner authored
      - Replace std::unordered_map with DenseMap
      - Use std::pair instead of manually combining two unsigneds
      - Assert if insert is called with invalid arguments
      - Avoid an unnecessary copy of a std::vector
      
      llvm-svn: 218074
      1ae21d13
    • Patrik Hagglund's avatar
      Alternative (to r216344) fix of gcc -Wpedantic. · 07ccb107
      Patrik Hagglund authored
      As suggested by David Blaikie, this may be easier to read.
      
      The original warning was:
      
      ../tools/llvm-cov/llvm-cov.cpp:53:49: error: ISO C++ forbids zero-size array 'argv' [-Werror=pedantic]
             std::string Invocation(std::string(argv[0]) + " " + argv[1]);
      
      It seems to be the case that GCC's warning gets confused and thinks
      'argv' is a declaration here. GCC bugzilla issue #61259.
      
      llvm-svn: 218048
      07ccb107
  4. Sep 17, 2014
  5. Sep 16, 2014
    • Kevin Enderby's avatar
      Hookup the MCSymbolizer to llvm-objdump’s disassembly for Mach-O files. · 98c9acca
      Kevin Enderby authored
      First step done in this commit is to get flush out enough of the
      SymbolizerGetOpInfo() routine to symbolic an X86_64 hello world .o and
      its loading of the literal string and call to printf.  Also the code to
      symbolicate the X86_64_RELOC_SUBTRACTOR relocation and a test is also
      added to show a slightly more complicated case.
      
      Next will be to flush out enough of SymbolizerSymbolLookUp() to get the
      literal string “Hello world” printed as a comment on the instruction that load
      the pointer to it.
      
      llvm-svn: 217893
      98c9acca
    • Justin Bogner's avatar
      llvm-cov: Rename a variable and clean up its usage · 76e251c0
      Justin Bogner authored
      Offset is a terrible name for an indentation / nesting level, and it
      confuses me every time I look at this code.
      
      llvm-svn: 217861
      76e251c0
    • David Majnemer's avatar
      yaml2obj: Support bigobj · 2cbc1387
      David Majnemer authored
      Teach yaml2obj how to make a bigobj COFF file.  Like the rest of LLVM,
      we automatically decide whether or not to use regular COFF or bigobj
      COFF on the fly depending on how many sections the resulting object
      would have.
      
      This ends the task of adding bigobj support to LLVM.
      
      N.B. This was tested by forcing yaml2obj to be used in bigobj mode
      regardless of the number of sections.  While a dedicated test was
      written, the smallest I could make it was 36 MB (!) of yaml and it still
      took a significant amount of time to execute on a powerful machine.
      
      llvm-svn: 217858
      2cbc1387
    • Nick Kledzik's avatar
      [llvm-objdump] for mach-o add -bind, -lazy-bind, and -weak-bind options · 56ebef45
      Nick Kledzik authored
      This finishes the ability of llvm-objdump to print out all information from
      the LC_DYLD_INFO load command.
      
      The -bind option prints out symbolic references that dyld must resolve 
      immediately.
      
      The -lazy-bind option prints out symbolc reference that are lazily resolved on 
      first use.
      
      The -weak-bind option prints out information about symbols which dyld must
      try to coalesce across images.
      
      llvm-svn: 217853
      56ebef45
    • Justin Bogner's avatar
      llvm-cov: Make debug output more consistent · 92bb3023
      Justin Bogner authored
      This changes the debug output of the llvm-cov tool to consistently
      write to stderr, and moves the highlighting output closer to where
      it's relevant.
      
      llvm-svn: 217838
      92bb3023
    • Justin Bogner's avatar
      llvm-cov: Fix an issue with showing regions but not counts · 0b3614f8
      Justin Bogner authored
      In r217746, though it was supposed to be NFC, I broke llvm-cov's
      handling of showing regions without showing counts. This should've
      shown up in the existing tests, except they were checking debug output
      that was displayed regardless of what was actually output. I've moved
      the relevant debug output to a more appropriate place so that the
      tests catch this kind of thing.
      
      llvm-svn: 217835
      0b3614f8
  6. Sep 15, 2014
    • David Majnemer's avatar
      MC: Add support for BigObj · 4d57159c
      David Majnemer authored
      Teach WinCOFFObjectWriter how to write -mbig-obj style object files;
      these object files allow for more sections inside an object file.
      
      Our support for BigObj is notably different from binutils and cl: we
      implicitly upgrade object files to BigObj instead of asking the user to
      compile the same file *again* but with another flag.  This matches up
      with how LLVM treats ELF variants.
      
      This was tested by forcing LLVM to always emit BigObj files and running
      the entire test suite.  A specific test has also been added.
      
      I've lowered the maximum number of sections in a normal COFF file,
      VS "14" CTP 3 supports no more than 65279 sections.  This is important
      otherwise we might not switch to BigObj quickly enough, leaving us with
      a COFF file that we couldn't link.
      
      yaml2obj support is all that remains to implement.
      
      Differential Revision: http://reviews.llvm.org/D5349
      
      llvm-svn: 217812
      4d57159c
    • Justin Bogner's avatar
      llvm-cov: Clean up some redundancy in the view API (NFC) · 7dad93be
      Justin Bogner authored
      This removes the need to pass a starting and ending line when creating
      a SourceCoverageView, since these are easy to determine.
      
      llvm-svn: 217746
      7dad93be
    • Justin Bogner's avatar
      llvm-cov: Simplify CounterMappingRegion, pushing logic to its user · aee36f94
      Justin Bogner authored
      A single function in SourceCoverageDataManager was the only user of
      some of the comparisons in CounterMappingRegion, and at this point we
      know that only one file is relevant. This lets us use slightly simpler
      logic directly in the client.
      
      llvm-svn: 217745
      aee36f94
  7. Sep 13, 2014
  8. Sep 12, 2014
  9. Sep 11, 2014
  10. Sep 10, 2014
    • Rafael Espindola's avatar
      Add doInitialization/doFinalization to DataLayoutPass. · c435adcd
      Rafael Espindola authored
      With this a DataLayoutPass can be reused for multiple modules.
      
      Once we have doInitialization/doFinalization, it doesn't seem necessary to pass
      a Module to the constructor.
      
      Overall this change seems in line with the idea of making DataLayout a required
      part of Module. With it the only way of having a DataLayout used is to add it
      to the Module.
      
      llvm-svn: 217548
      c435adcd
    • Rafael Espindola's avatar
      Remember to eraseFromParent after replaceAllUsesWith. · 71143ed2
      Rafael Espindola authored
      llvm-svn: 217536
      71143ed2
    • David Majnemer's avatar
      Object: Add support for bigobj · 44f51e51
      David Majnemer authored
      This adds support for reading the "bigobj" variant of COFF produced by
      cl's /bigobj and mingw's -mbig-obj.
      
      The most significant difference that bigobj brings is more than 2**16
      sections to COFF.
      
      bigobj brings a few interesting differences with it:
      - It doesn't have a Characteristics field in the file header.
      - It doesn't have a SizeOfOptionalHeader field in the file header (it's
        only used in executable files).
      - Auxiliary symbol records have the same width as a symbol table entry.
        Since symbol table entries are bigger, so are auxiliary symbol
        records.
      
      Write support will come soon.
      
      Differential Revision: http://reviews.llvm.org/D5259
      
      llvm-svn: 217496
      44f51e51
    • Justin Bogner's avatar
      llvm-cov: Fix a misuse of ArrayRef::slice I introduced in r217430 · 3f81d495
      Justin Bogner authored
      It appears this code was completely untested, so using ArrayRef wrong
      didn't break anything obvious.
      
      llvm-svn: 217476
      3f81d495
  11. Sep 09, 2014
Loading