Skip to content
  1. Jan 28, 2013
  2. Jan 16, 2013
    • Peter Collingbourne's avatar
      Introduce llvm::sys::getProcessTriple() function. · a51c6ed6
      Peter Collingbourne authored
      In r143502, we renamed getHostTriple() to getDefaultTargetTriple()
      as part of work to allow the user to supply a different default
      target triple at configure time.  This change also affected the JIT.
      However, it is inappropriate to use the default target triple in the
      JIT in most circumstances because this will not necessarily match
      the current architecture used by the process, leading to illegal
      instruction and other such errors at run time.
      
      Introduce the getProcessTriple() function for use in the JIT and
      its clients, and cause the JIT to use it.  On architectures with a
      single bitness, the host and process triples are identical.  On other
      architectures, the host triple represents the architecture of the
      host CPU, while the process triple represents the architecture used
      by the host CPU to interpret machine code within the current process.
      For example, when executing 32-bit code on a 64-bit Linux machine,
      the host triple may be 'x86_64-unknown-linux-gnu', while the process
      triple may be 'i386-unknown-linux-gnu'.
      
      This fixes JIT for the 32-on-64-bit (and vice versa) build on non-Apple
      platforms.
      
      Differential Revision: http://llvm-reviews.chandlerc.com/D254
      
      llvm-svn: 172627
      a51c6ed6
  3. Jan 11, 2013
  4. Jan 02, 2013
    • Chandler Carruth's avatar
      Move all of the header files which are involved in modelling the LLVM IR · 9fb823bb
      Chandler Carruth authored
      into their new header subdirectory: include/llvm/IR. This matches the
      directory structure of lib, and begins to correct a long standing point
      of file layout clutter in LLVM.
      
      There are still more header files to move here, but I wanted to handle
      them in separate commits to make tracking what files make sense at each
      layer easier.
      
      The only really questionable files here are the target intrinsic
      tablegen files. But that's a battle I'd rather not fight today.
      
      I've updated both CMake and Makefile build systems (I think, and my
      tests think, but I may have missed something).
      
      I've also re-sorted the includes throughout the project. I'll be
      committing updates to Clang, DragonEgg, and Polly momentarily.
      
      llvm-svn: 171366
      9fb823bb
  5. Dec 04, 2012
  6. Nov 27, 2012
  7. Nov 16, 2012
  8. Oct 31, 2012
  9. Oct 18, 2012
    • Bob Wilson's avatar
      Use an export list when building JIT unittests. <rdar://problem/12473675> · 0f295dec
      Bob Wilson authored
      When building with LTO, the internalize pass is hiding some global symbols
      that are necessary for the JIT unittests. It seems like that may be a bug in
      LTO to do that by default, but until that gets fixed, this change makes sure
      that we export the necessary symbols for the tests to pass.
      
      llvm-svn: 166220
      0f295dec
  10. Oct 17, 2012
  11. Oct 12, 2012
  12. Oct 08, 2012
    • James Molloy's avatar
      Some regression tests which are testing the old jit and are exercising... · 0ae35af5
      James Molloy authored
      Some regression tests which are testing the old jit and are exercising functionality which is both known to be broken and not expected to be fixed in the old jit. To remove these from the regression test output, I've marked them XFAIL (for lit tests) and ifdef'd them out (unit tests). These modifications remove the last long-standing regression test failures from the buildbots (though updating the triple to reflect new ubuntu configuration has temporarily caused some new failures). Tested on x86-64 and ARM Linux.
      
      Patch by David Tweed!
      
      llvm-svn: 165390
      0ae35af5
  13. Oct 04, 2012
  14. Sep 28, 2012
  15. Sep 27, 2012
  16. Aug 01, 2012
  17. Jul 16, 2012
    • Chandler Carruth's avatar
      Move llvm/Support/TypeBuilder.h -> llvm/TypeBuilder.h. This completes · 36e2ecf5
      Chandler Carruth authored
      the move of *Builder classes into the Core library.
      
      No uses of this builder in Clang or DragonEgg I could find.
      
      If there is a desire to have an IR-building-support library that
      contains all of these builders, that can be easily added, but currently
      it seems likely that these add no real overhead to VMCore.
      
      llvm-svn: 160243
      36e2ecf5
  18. Jun 29, 2012
    • Chandler Carruth's avatar
      Move llvm/Support/IRBuilder.h -> llvm/IRBuilder.h · aafe0918
      Chandler Carruth authored
      This was always part of the VMCore library out of necessity -- it deals
      entirely in the IR. The .cpp file in fact was already part of the VMCore
      library. This is just a mechanical move.
      
      I've tried to go through and re-apply the coding standard's preferred
      header sort, but at 40-ish files, I may have gotten some wrong. Please
      let me know if so.
      
      I'll be committing the corresponding updates to Clang and Polly, and
      Duncan has DragonEgg.
      
      Thanks to Bill and Eric for giving the green light for this bit of cleanup.
      
      llvm-svn: 159421
      aafe0918
    • Bill Wendling's avatar
      The DIBuilder class is just a wrapper around debug info creation · f799efde
      Bill Wendling authored
      (a.k.a. MDNodes). The module doesn't belong in Analysis. Move it to the VMCore
      instead.
      
      llvm-svn: 159414
      f799efde
  19. Jun 28, 2012
  20. Jun 22, 2012
  21. Jun 21, 2012
    • NAKAMURA Takumi's avatar
      llvm/unittests/ExecutionEngine/JIT/CMakeLists.txt: Unbreak build. · 9573c48a
      NAKAMURA Takumi authored
      llvm-svn: 158914
      9573c48a
    • Chandler Carruth's avatar
      Add some missing dependencies here that I missed in my first pass · 33af93f7
      Chandler Carruth authored
      through. Also sort them.
      
      llvm-svn: 158911
      33af93f7
    • Chandler Carruth's avatar
      Completely refactor the structuring of unittest CMake files to match the · 94d02518
      Chandler Carruth authored
      Makefiles, the CMake files in every other part of the LLVM tree, and
      sanity.
      
      This should also restore the output tree structure of all the unit
      tests, sorry for breaking that, and thanks for letting me know.
      
      The fundamental change is to put a CMakeLists.txt file in the unittest
      directory, with a single test binary produced from it. This has several
      advantages:
      
      - No more weird directory stripping in the unittest macro, allowing it
        to be used more readily in other projects.
      - No more directory prefixes on all the source files.
      - Allows correct and precise use of LLVM's per-directory dependency
        system.
      - Allows use of the checking logic for source files that have not been
        added to the CMake build. This uncovered a file being skipped with
        CMake in LLVM and one in Clang's unit tests.
      - Makes Specifying conditional compilation or other custom logic for JIT
        tests easier.
      
      It did require adding the concept of an explicit 'optional' source file
      to the CMake build so that the missing-file check can skip cases where
      the file is *supposed* to be missing. =]
      
      This is another chunk of refactoring the CMake build in order to make it
      usable for other clients like CompilerRT / ASan / TSan.
      
      Note that this is interdependent with a Clang CMake change.
      
      llvm-svn: 158909
      94d02518
  22. May 16, 2012
  23. Mar 29, 2012
  24. Mar 28, 2012
  25. 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
  26. Mar 21, 2012
  27. Mar 15, 2012
  28. Mar 14, 2012
  29. Mar 13, 2012
  30. Jan 16, 2012
    • Jim Grosbach's avatar
      MCJIT support for non-function sections. · eff0a40d
      Jim Grosbach authored
      Move to a by-section allocation and relocation scheme. This allows
      better support for sections which do not contain externally visible
      symbols.
      
      Flesh out the relocation address vs. local storage address separation a
      bit more as well. Remote process JITs use this to tell the relocation
      resolution code where the code will live when it executes.
      
      The startFunctionBody/endFunctionBody interfaces to the JIT and the
      memory manager are deprecated. They'll stick around for as long as the
      old JIT does, but the MCJIT doesn't use them anymore.
      
      llvm-svn: 148258
      eff0a40d
Loading