Skip to content
  1. Dec 14, 2016
  2. Dec 13, 2016
  3. Nov 29, 2016
  4. Nov 13, 2016
  5. Oct 26, 2016
    • Dean Michael Berris's avatar
      [XRay] Implement `llvm-xray extract`, start of the llvm-xray tool · c92bfb5a
      Dean Michael Berris authored
      Usage:
      
        llvm-xray extract <object file> [-o <filename or '-'>]
      
      The tool gets the XRay instrumentation map from an object file and turns
      it into YAML.  We first support ELF64 sleds on x86_64 binaries, with
      provision for supporting other supported platforms and formats later.
      
      This is the first of a many-part change to fully implement the
      `llvm-xray` tool.
      
      We also define a subcommand registration and dispatch mechanism to be
      used by other further subcommand implementations for llvm-xray.
      
      Diffusion Revision: https://reviews.llvm.org/D21987
      
      llvm-svn: 285165
      c92bfb5a
  6. Sep 30, 2016
    • Michal Gorny's avatar
      cmake: Install the OCaml libraries into a more correct path · b002f637
      Michal Gorny authored
      Add a OCAML_INSTALL_PATH variable that can be used to control
      the install path for OCaml libraries. The new variable defaults to
      ${OCAML_STDLIB_PATH}, i.e. the OCaml library path obtained from
      the OCaml compiler. Install libraries into "llvm" subdirectory.
      
      This fixes two issues:
      
      1. OCaml library directories differ between systems, and 'lib/ocaml' is
      incorrect e.g. on amd64 Gentoo where OCaml is installed
      in 'lib64/ocaml'. Therefore, obtain the library path from the OCaml
      compiler using 'ocamlc -where' (which is already used to set
      OCAML_STDLIB_PATH), which is the method used commonly in OCaml packages.
      
      2. The top-level directory is reserved for the standard library, and has
      precedence over local directory in search path. As a result, OCaml
      preferred the files installed along with previous LLVM version over the
      source tree when building a new version, resulting in two versions being
      mixed during the build. The new layout is used commonly by other OCaml
      packages, and findlib is able to find the LLVM libraries successfully.
      
      Bug: https://bugs.gentoo.org/559134
      Bug: https://bugs.gentoo.org/559624
      
      Differential Revision: https://reviews.llvm.org/D24354
      
      llvm-svn: 282895
      b002f637
  7. Sep 06, 2016
    • Rafael Espindola's avatar
      Add an c++ itanium demangler to llvm. · b940b66c
      Rafael Espindola authored
      This adds a copy of the demangler in libcxxabi.
      
      The code also has no dependencies on anything else in LLVM. To enforce
      that I added it as another library. That way a BUILD_SHARED_LIBS will
      fail if anyone adds an use of StringRef for example.
      
      The no llvm dependency combined with the fact that this has to build
      on linux, OS X and Windows required a few changes to the code. In
      particular:
      
          No constexpr.
          No alignas
      
      On OS X at least this library has only one global symbol:
      __ZN4llvm16itanium_demangleEPKcPcPmPi
      
      My current plan is:
      
          Commit something like this
          Change lld to use it
          Change lldb to use it as the fallback
      
          Add a few #ifdefs so that exactly the same file can be used in
          libcxxabi to export abi::__cxa_demangle.
      
      Once the fast demangler in lldb can handle any names this
      implementation can be replaced with it and we will have the one true
      demangler.
      
      llvm-svn: 280732
      b940b66c
  8. Aug 11, 2016
    • Teresa Johnson's avatar
      Restore "Resolution-based LTO API." · 9ba95f99
      Teresa Johnson authored
      This restores commit r278330, with fixes for a few bot failures:
      - Fix a late change I had made to the save temps output file that I
        missed due to existing files sitting on my disk
      - Fix a bunch of Windows bot failures with "ambiguous call to overloaded
        function" due to confusion between llvm::make_unique vs
        std::make_unique (preface the new make_unique calls with "llvm::")
      - Attempt to fix a modules bot failure by adding a missing include
        to LTO/Config.h.
      
      Original change:
      
      Resolution-based LTO API.
      
      Summary:
      This introduces a resolution-based LTO API. The main advantage of this API over
      existing APIs is that it allows the linker to supply a resolution for each
      symbol in each object, rather than the combined object as a whole. This will
      become increasingly important for use cases such as ThinLTO which require us
      to process symbol resolutions in a more complicated way than just adjusting
      linkage.
      
      Patch by Peter Collingbourne.
      
      Reviewers: rafael, tejohnson, mehdi_amini
      
      Subscribers: lhames, tejohnson, mehdi_amini, llvm-commits
      
      Differential Revision: https://reviews.llvm.org/D20268
      
      llvm-svn: 278338
      9ba95f99
    • Teresa Johnson's avatar
      Revert "Resolution-based LTO API." · cbf684e6
      Teresa Johnson authored
      This reverts commit r278330.
      
      I made a change to the save temps output that is causing issues with the
      bots. Didn't realize this because I had older output files sitting on
      disk in my test output directory.
      
      llvm-svn: 278331
      cbf684e6
    • Teresa Johnson's avatar
      Resolution-based LTO API. · f99573b3
      Teresa Johnson authored
      Summary:
      This introduces a resolution-based LTO API. The main advantage of this API over
      existing APIs is that it allows the linker to supply a resolution for each
      symbol in each object, rather than the combined object as a whole. This will
      become increasingly important for use cases such as ThinLTO which require us
      to process symbol resolutions in a more complicated way than just adjusting
      linkage.
      
      Patch by Peter Collingbourne.
      
      Reviewers: rafael, tejohnson, mehdi_amini
      
      Subscribers: lhames, tejohnson, mehdi_amini, llvm-commits
      
      Differential Revision: https://reviews.llvm.org/D20268
      
      Address review comments
      
      llvm-svn: 278330
      f99573b3
  9. Aug 10, 2016
  10. Aug 09, 2016
  11. Aug 05, 2016
  12. Jul 26, 2016
  13. Jul 12, 2016
  14. Jul 09, 2016
  15. May 24, 2016
    • Justin Bogner's avatar
      test: Be consistent with clang's sanitizer lit config · a5690b00
      Justin Bogner authored
      The logic that sets up lit features for sanitizers is largely copied
      between here and clang, except clang's was fixed some time ago to
      handle multiple sanitizers (ie, Asan + Ubsan). This just makes the
      code in LLVM consistent with how it's done in clang to avoid any
      gotchas by users of this.
      
      llvm-svn: 270510
      a5690b00
  16. May 23, 2016
  17. May 02, 2016
    • Pete Cooper's avatar
      Add llvm-pdbdump to the tool substitutions list in lit. NFC. · 228b1e9a
      Pete Cooper authored
      This adds llvm-pdbdump to the list of tools which get printed with
      the full path in verbose mode.  This makes it easier to take the
      whole run line from verbose output and run it again without prepending
      with the builds bin directory.
      
      llvm-svn: 268250
      228b1e9a
  18. Apr 04, 2016
  19. Mar 29, 2016
  20. Mar 08, 2016
  21. Jan 16, 2016
  22. Jan 09, 2016
  23. Jan 06, 2016
    • Nico Weber's avatar
      Make WinCOFFObjectWriter.cpp's timestamp writing not use ENABLE_TIMESTAMPS · 891419ad
      Nico Weber authored
      LLVM_ENABLE_TIMESTAMPS controls if timestamps are embedded into llvm's
      binaries. Turning it off is useful for deterministic builds.
      
      r246905 made it so that the define suddenly also controls if the binaries that
      the llvm binaries _create_ embed timestamps or not – but this shouldn't be a
      configure-time option. r256203/r256204 added a driver option to toggle this on
      and off, so this patch now passes this driver option in LLVM_ENABLE_TIMESTAMPS
      builds so that if LLVM_ENABLE_TIMESTAMPS is set, the build of LLVM is
      deterministic – but the built clang can still write timestamps into other
      executables when requested.
      
      This also allows removing some of the test machinery added in r292012 to work
      around this problem.
      
      See PR24740 for background.
      http://reviews.llvm.org/D15783
      
      llvm-svn: 256958
      891419ad
  24. Dec 27, 2015
  25. Dec 21, 2015
    • NAKAMURA Takumi's avatar
      check-llvm: Tweak the feature "timestamps" for autoconf. · 8c6c95ad
      NAKAMURA Takumi authored
      Note, ENABLE_TIMESTAMPS is either 1 or 0 in Makefile.config.
      
      llvm-svn: 256138
      8c6c95ad
    • David Majnemer's avatar
      [MC, COFF] Unbreak support for COFF timestamps · 18663f87
      David Majnemer authored
      Support for COFF timestamps was unintentionally broken in r246905 when
      it was conditionally available depending on whether or not LLVM was
      configured with LLVM_ENABLE_TIMESTAMPS.  However, Config/config.h was
      never included which essentially broke the feature.  Due to lax testing,
      the breakage was never identified until we observed strange failures
      during incremental links of Chromium.
      
      This issue is resolved by simply including Config/config.h in
      WinCOFFObjectWriter and teaching lit that the MC/COFF/timestamp.s test
      is conditionally supported depending on LLVM_ENABLE_TIMESTAMPS.  With
      this in place, we can strengthen the test to ensure that it will not
      accidentally get broken in the future.
      
      This fixes PR25891.
      
      llvm-svn: 256137
      18663f87
  26. Dec 20, 2015
  27. Dec 01, 2015
  28. Nov 27, 2015
  29. Nov 19, 2015
  30. Nov 17, 2015
Loading