Skip to content
  1. Apr 03, 2012
  2. Apr 02, 2012
  3. Mar 31, 2012
  4. Mar 30, 2012
    • Danil Malyshev's avatar
      Re-factored RuntimeDyLd: · 70d22ccb
      Danil Malyshev authored
      1. The main works will made in the RuntimeDyLdImpl with uses the ObjectFile class. RuntimeDyLdMachO and RuntimeDyLdELF now only parses relocations and resolve it. This is allows to make improvements of the RuntimeDyLd more easily. In addition the support for COFF can be easily added.
      
      2. Added ARM relocations to RuntimeDyLdELF.
      
      3. Added support for stub functions for the ARM, allowing to do a long branch.
      
      4. Added support for external functions that are not loaded from the object files, but can be loaded from external libraries. Now MCJIT can correctly execute the code containing the printf, putc, and etc.
      
      5. The sections emitted instead functions, thanks Jim Grosbach. MemoryManager.startFunctionBody() and MemoryManager.endFunctionBody() have been removed.
      6. MCJITMemoryManager.allocateDataSection() and MCJITMemoryManager. allocateCodeSection() used JMM->allocateSpace() instead of JMM->allocateCodeSection() and JMM->allocateDataSection(), because I got an error: "Cannot allocate an allocated block!" with object file contains more than one code or data sections.
      
      llvm-svn: 153754
      70d22ccb
    • Bill Wendling's avatar
      36cbf03b
    • Bill Wendling's avatar
      Revert r153694. It was causing failures in the buildbots. · 76fdc4b8
      Bill Wendling authored
      llvm-svn: 153701
      76fdc4b8
  5. Mar 29, 2012
  6. Mar 28, 2012
  7. Mar 23, 2012
  8. Mar 22, 2012
    • Chandler Carruth's avatar
      Revert a series of commits to MCJIT to get the build working in CMake · e26dafeb
      Chandler Carruth authored
      (and hopefully on Windows). The bots have been down most of the day
      because of this, and it's not clear to me what all will be required to
      fix it.
      
      The commits started with r153205, then r153207, r153208, and r153221.
      The first commit seems to be the real culprit, but I couldn't revert
      a smaller number of patches.
      
      When resubmitting, r153207 and r153208 should be folded into r153205,
      they were simple build fixes.
      
      llvm-svn: 153241
      e26dafeb
  9. Mar 21, 2012
  10. Mar 20, 2012
  11. Mar 13, 2012
  12. Mar 11, 2012
    • Stepan Dyatkovskiy's avatar
      llvm::SwitchInst · 97b02fc1
      Stepan Dyatkovskiy authored
      Renamed methods caseBegin, caseEnd and caseDefault with case_begin, case_end, and case_default.
      Added some notes relative to case iterators.
      
      llvm-svn: 152532
      97b02fc1
  13. Mar 10, 2012
  14. Mar 09, 2012
    • David Meyer's avatar
      Support reading GNU symbol versions in ELFObjectFile · 6c614bf7
      David Meyer authored
      * Add enums and structures for GNU version information.
      * Implement extraction of that information on a per-symbol basis (ELFObjectFile::getSymbolVersion).
      * Implement a generic interface, GetELFSymbolVersion(), for getting the symbol version from the ObjectFile (hides the templating).
      * Have llvm-readobj print out the version, when available.
      * Add a test for the new feature: readobj-elf-versioning.test
      
      llvm-svn: 152436
      6c614bf7
  15. Mar 08, 2012
    • Duncan Sands's avatar
      Have llvm-mc --version print the list of registered targets like llc does. · 48992554
      Duncan Sands authored
      Patch by jey.
      
      llvm-svn: 152315
      48992554
    • Stepan Dyatkovskiy's avatar
      Taken into account Duncan's comments for r149481 dated by 2nd Feb 2012: · 5b648afb
      Stepan Dyatkovskiy authored
      http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20120130/136146.html
      
      Implemented CaseIterator and it solves almost all described issues: we don't need to mix operand/case/successor indexing anymore. Base iterator class is implemented as a template since it may be initialized either from "const SwitchInst*" or from "SwitchInst*".
      
      ConstCaseIt is just a read-only iterator.
      CaseIt is read-write iterator; it allows to change case successor and case value.
      
      Usage of iterator allows totally remove resolveXXXX methods. All indexing convertions done automatically inside the iterator's getters.
      
      Main way of iterator usage looks like this:
      SwitchInst *SI = ... // intialize it somehow
      
      for (SwitchInst::CaseIt i = SI->caseBegin(), e = SI->caseEnd(); i != e; ++i) {
        BasicBlock *BB = i.getCaseSuccessor();
        ConstantInt *V = i.getCaseValue();
        // Do something.
      }
      
      If you want to convert case number to TerminatorInst successor index, just use getSuccessorIndex iterator's method.
      If you want initialize iterator from TerminatorInst successor index, use CaseIt::fromSuccessorIndex(...) method.
      
      There are also related changes in llvm-clients: klee and clang.
      
      llvm-svn: 152297
      5b648afb
  16. Mar 05, 2012
Loading