Skip to content
  1. May 23, 2013
  2. May 21, 2013
  3. May 19, 2013
  4. May 18, 2013
  5. May 17, 2013
  6. May 16, 2013
  7. May 15, 2013
    • David Blaikie's avatar
      Use only explicit bool conversion operators · 041f1aa3
      David Blaikie authored
      BitVector/SmallBitVector::reference::operator bool remain implicit since
      they model more exactly a bool, rather than something else that can be
      boolean tested.
      
      The most common (non-buggy) case are where such objects are used as
      return expressions in bool-returning functions or as boolean function
      arguments. In those cases I've used (& added if necessary) a named
      function to provide the equivalent (or sometimes negative, depending on
      convenient wording) test.
      
      One behavior change (YAMLParser) was made, though no test case is
      included as I'm not sure how to reach that code path. Essentially any
      comparison of llvm::yaml::document_iterators would be invalid if neither
      iterator was at the end.
      
      This helped uncover a couple of bugs in Clang - test cases provided for
      those in a separate commit along with similar changes to `operator bool`
      instances in Clang.
      
      llvm-svn: 181868
      041f1aa3
  8. May 14, 2013
    • Filip Pizlo's avatar
      SectionMemoryManager shouldn't be a JITMemoryManager. Previously, the · 9bc53e84
      Filip Pizlo authored
      EngineBuilder interface required a JITMemoryManager even if it was being used 
      to construct an MCJIT. But the MCJIT actually wants a RTDyldMemoryManager. 
      Consequently, the SectionMemoryManager, which is meant for MCJIT, derived 
      from the JITMemoryManager and then stubbed out a bunch of JITMemoryManager 
      methods that weren't relevant to the MCJIT.
      
      This patch fixes the situation: it teaches the EngineBuilder that 
      RTDyldMemoryManager is a supertype of JITMemoryManager, and that it's 
      appropriate to pass a RTDyldMemoryManager instead of a JITMemoryManager if 
      we're using the MCJIT. This allows us to remove the stub methods from 
      SectionMemoryManager, and make SectionMemoryManager a direct subtype of 
      RTDyldMemoryManager.
      
      llvm-svn: 181820
      9bc53e84
  9. May 13, 2013
    • Rafael Espindola's avatar
      Remove the MachineMove class. · 227144c2
      Rafael Espindola authored
      It was just a less powerful and more confusing version of
      MCCFIInstruction. A side effect is that, since MCCFIInstruction uses
      dwarf register numbers, calls to getDwarfRegNum are pushed out, which
      should allow further simplifications.
      
      I left the MachineModuleInfo::addFrameMove interface unchanged since
      this patch was already fairly big.
      
      llvm-svn: 181680
      227144c2
  10. May 09, 2013
  11. May 08, 2013
    • Daniel Malea's avatar
      Add DebugIR pass -- emits IR file and replace source lines with IR lines in MD · 3c5bed16
      Daniel Malea authored
      - requires existing debug information to be present
      - fixes up file name and line number information in metadata
      - emits a "<orig_filename>-debug.ll" succinct IR file (without !dbg metadata
        or debug intrinsics) that can be read by a debugger
      - initialize pass in opt tool to enable the "-debug-ir" flag
      - lit tests to follow
      
      llvm-svn: 181467
      3c5bed16
  12. May 07, 2013
  13. May 06, 2013
  14. May 04, 2013
  15. May 03, 2013
    • Amara Emerson's avatar
      Add support for reading ARM ELF build attributes. · 2f54d9fe
      Amara Emerson authored
      Build attribute sections can now be read if they exist via ELFObjectFile, and
      the llvm-readobj tool has been extended with an option to dump this information
      if requested. Regression tests are also included which exercise these features.
      
      Also update the docs with a fixed ARM ABI link and a new link to the Addenda
      which provides the build attributes specification.
      
      llvm-svn: 181009
      2f54d9fe
    • Bill Wendling's avatar
      Remove redundant flag. · d0a790a5
      Bill Wendling authored
      llvm-svn: 180967
      d0a790a5
  16. May 02, 2013
  17. Apr 26, 2013
    • Rafael Espindola's avatar
      Use llvm/Object/MachO.h in macho-dumper. Drop the old macho parser. · 6e040c0b
      Rafael Espindola authored
      For Mach-O there were 2 implementations for parsing object files. A
      standalone llvm/Object/MachOObject.h and llvm/Object/MachO.h which
      implements the generic interface in llvm/Object/ObjectFile.h.
      
      This patch adds the missing features to MachO.h, moves macho-dump to
      use MachO.h and removes ObjectFile.h.
      
      In addition to making sure that check-all is clean, I checked that the
      new version produces exactly the same output in all Mach-O files in a
      llvm+clang build directory (including executables and shared
      libraries).
      
      To test the performance, I ran macho-dump over all the files in a
      llvm+clang build directory again, but this time redirecting the output
      to /dev/null. Both the old and new versions take about 4.6 seconds
      (2.5 user) to finish.
      
      llvm-svn: 180624
      6e040c0b
  18. Apr 25, 2013
  19. Apr 24, 2013
    • Rafael Espindola's avatar
      Use pointers to iterate over symbols. · 75c3036d
      Rafael Espindola authored
      While here, don't report a dummy symbol for relocations that don't have symbols.
      We used to says such relocations were for the first defined symbol, but now we
      return end_symbols(). The llvm-readobj output change agrees with otool.
      
      llvm-svn: 180214
      75c3036d
    • Rafael Espindola's avatar
      Don't produce an empty llvm.compiler.used in LTO. · cc111b2b
      Rafael Espindola authored
      LTO was always creating an empty llvm.compiler.used. With this patch we
      now first check if there is anything to be added first.
      
      Unfortunately, there is no good way to test libLTO in isolation as it needs gold
      or ld64, but there are bots doing LTO builds that found this problem.
      
      llvm-svn: 180202
      cc111b2b
  20. Apr 23, 2013
    • Rafael Espindola's avatar
      Fix typo. · 7f08d1b9
      Rafael Espindola authored
      llvm-svn: 180137
      7f08d1b9
    • Rafael Espindola's avatar
      Simplify yaml2obj a bit. · ad3b9753
      Rafael Espindola authored
      The COFFParser now contains only a COFFYAML::Object and the string table
      (which is recomputed, not serialized).
      
      The structs in COFFParser now all begin with a Header field with what is
      actually on the COFF object. The other fields are things that are semantically
      part of the struct (relocations in a section for exmaple), but are not actually
      represented that way in the object file.
      
      llvm-svn: 180134
      ad3b9753
    • Rafael Espindola's avatar
      Write relocations in yaml2obj. · b716e622
      Rafael Espindola authored
      llvm-svn: 180115
      b716e622
  21. Apr 22, 2013
  22. Apr 20, 2013
Loading