Skip to content
  1. Jun 26, 2013
    • Andy Gibbs's avatar
      Provide bootstrap support to build only llvm+clang when using cmake. · 3ef5ed1e
      Andy Gibbs authored
      Where a source tree is complete with lld, lldb and polly, it may not be possible to use cmake to configure build scripts if the host compiler it not capable of compiling these sub-projects.  This change makes it possible to first build a bootstrap clang compiler when can then be used to build a complete llvm toolchain.  An example bootstrap build sequence could be as follows:
      
      $ mkdir bootstrap
      $ cd bootstrap
      $ cmake -G 'Unix Makefiles'
              -DCMAKE_BUILD_TYPE:STRING=Release
              -DCMAKE_PREFIX_PATH:STRING=$(pwd)
              -DLLVM_TARGETS_TO_BUILD:STRING=host
              -DLLVM_INCLUDE_TOOLS:STRING=bootstrap-only
              ../source
      $ make clang  # build clang only for host
      
      $ cd ..
      $ export CC=$(realpath bootstrap/bin)/clang
      $ export CXX=$(realpath bootstrap/bin)/clang++
      
      $ mkdir final
      $ cd final
      $ cmake -G 'Unix Makefiles' ../source
      $ make all check-all
      
      llvm-svn: 184924
      3ef5ed1e
  2. Jun 15, 2013
    • Rafael Espindola's avatar
      Remove the LLVM specific archive index. · 668c6428
      Rafael Espindola authored
      Archive files (.a) can have a symbol table indicating which object
      files in them define which symbols. The purpose of this symbol table
      is to speed up linking by allowing the linker the read only the .o
      files it is actually going to use instead of having to parse every
      object's symbol table.
      
      LLVM's archive library currently supports a LLVM specific format for
      such table. It is hard to see any value in that now that llvm-ld is
      gone:
      
      * System linkers don't use it: GNU ar uses the same plugin as the
      linker to create archive files with a regular index. The OS X ar
      creates no symbol table for IL files, I assume the linker just parses
      all IL files.
      
      * It doesn't interact well with archives having both IL and native objects.
      
      * We probably don't want to be responsible for yet another archive
      format variant.
      
      This patch then:
      
      * Removes support for creating and reading such index from lib/Archive.
      * Remove llvm-ranlib, since there is nothing left for it to do.
      
      We should in the future add support for regular indexes to llvm-ar for
      both native and IL objects. When we do that, llvm-ranlib should be
      reimplemented as a symlink to llvm-ar, as it is equivalent to "ar s".
      
      llvm-svn: 184019
      668c6428
  3. Apr 05, 2013
  4. Mar 17, 2013
  5. Mar 01, 2013
  6. Nov 21, 2012
  7. Nov 12, 2012
  8. Nov 01, 2012
  9. Apr 26, 2012
    • Michael J. Spencer's avatar
      [CMake] Restructure how Clang, Polly and other external projects get included. · e734f541
      Michael J. Spencer authored
      While making lld build under the tools directory I decided to refactor how this
      works.
      
      There is now a macro, add_llvm_external_project, which takes the name of the
      expected subdirectory. This sets up two CMake options.
      
       * LLVM_EXTERNAL_${NAME}_SOURCE_DIR
           This is the path to the source. It defaults to
           ${CMAKE_CURRENT_SOURCE_DIR}/${name}.
       * LLVM_EXTERNAL_${NAME}_BUILD
           Enable and disable building the tool as part of LLVM.
      
      I chose LLVM_EXTERNAL_${NAME} as a prefix so they all show up together in the
      GUI.
      
      llvm-svn: 155654
      e734f541
  10. Apr 19, 2012
    • Michael J. Spencer's avatar
      Remove llvm-ld and llvm-stub (which is only used by llvm-ld). · 9125493e
      Michael J. Spencer authored
      llvm-ld is no longer useful and causes confusion and so it is being removed.
      
      * Does not work very well on Windows because it must call a gcc like driver to
        assemble and link.
      * Has lots of hard coded paths which are wrong on many systems.
      * Does not understand most of ld's options.
      * Can be partially replaced by llvm-link | opt | {llc | as, llc -filetype=obj} |
        ld, or fully replaced by Clang.
      
      I know of no production use of llvm-ld, and hacking use should be
      replaced by Clang's driver.
      
      llvm-svn: 155147
      9125493e
  11. Mar 01, 2012
    • David Meyer's avatar
      [Object] · 2fc34c5f
      David Meyer authored
      * Add begin_dynamic_table() / end_dynamic_table() private interface to ELFObjectFile.
      * Add begin_libraries_needed() / end_libraries_needed() interface to ObjectFile, for grabbing the list of needed libraries for a shared object or dynamic executable.
      * Implement this new interface completely for ELF, leave stubs for COFF and MachO.
      * Add 'llvm-readobj' tool for dumping ObjectFile information.
      
      llvm-svn: 151785
      2fc34c5f
  12. Feb 26, 2012
    • Nadav Rotem's avatar
      · 78bda894
      Nadav Rotem authored
      Add a random .LL file generator to stress-test different llvm components.
      
      llvm-svn: 151479
      78bda894
  13. Dec 07, 2011
  14. Dec 01, 2011
  15. Nov 29, 2011
  16. Nov 10, 2011
  17. Nov 03, 2011
  18. Oct 16, 2011
  19. Sep 28, 2011
  20. Sep 20, 2011
  21. Sep 13, 2011
    • Benjamin Kramer's avatar
      Sketch out a DWARF parser. · aa2f78f5
      Benjamin Kramer authored
      This introduces a new library to LLVM: libDebugInfo. It will provide debug information
      parsing to LLVM. Much of the design and some of the code is taken from the LLDB project.
      
      It also contains an llvm-dwarfdump tool that can dump the abbrevs and DIEs from an
      object file. It can be used to write tests for DWARF input and output easily.
      
      llvm-svn: 139627
      aa2f78f5
  22. Jul 15, 2011
    • Douglas Gregor's avatar
      CMake: Add a new configuration option LLVM_BUILD_CLANG that's · 82432f7e
      Douglas Gregor authored
      available when Clang is found within the LLVM tree. If enabled (the
      default), Clang will be built as part of LLVM. If disabled, Clang will
      be skipped... and can be built by configuring a separate object
      directory just for Clang. This helps break up the monolithic
      LLVM+Clang project that many Clang developers use, improving
      build/load times.
      
      llvm-svn: 135218
      82432f7e
  23. Apr 28, 2011
  24. Mar 18, 2011
    • Jim Grosbach's avatar
      MachO file loader and execution utility. · 0072cdbc
      Jim Grosbach authored
      Add a bone-simple utility to load a MachO object into memory, look for
      a function (main) in it, and run that function directly. This will be used
      as a test and development platform for MC-JIT work regarding symbol resolution,
      dynamic lookup, etc..
      
      Code by Daniel Dunbar.
      
      llvm-svn: 127885
      0072cdbc
  25. Mar 13, 2011
  26. Mar 12, 2011
  27. Mar 11, 2011
  28. Jan 20, 2011
  29. Nov 27, 2010
  30. Oct 30, 2010
    • Tobias Grosser's avatar
      Add polly support to the build system. · ea9dca4c
      Tobias Grosser authored
      Update the cmake and autoconf build system to compile polly
      as a shared library if it is checked out into tools/polly. In case
      polly is not checked out, nothing changes.
      This models the way clang can be added to llvm if checked out to tools/clang.
      
      Also rebuild configure.
      
      Patch contributed by ether.
      
      llvm-svn: 117755
      ea9dca4c
  31. Sep 14, 2010
  32. Sep 10, 2010
  33. Aug 24, 2010
Loading