Skip to content
  1. Jul 27, 2017
  2. Jul 26, 2017
  3. Jul 21, 2017
  4. Jul 20, 2017
  5. Jul 06, 2017
  6. Jun 12, 2017
    • Zachary Turner's avatar
      [llvm-pdbdump] Don't fail on PDBs with no ID stream. · 990d0c81
      Zachary Turner authored
      Older PDBs don't have this.  Its presence is detected by using
      the various "feature" flags that come at the end of the PDB
      Stream.  Detect this, and don't try to dump the ID stream if the
      features tells us it's not present.
      
      llvm-svn: 305235
      990d0c81
  7. Jun 07, 2017
  8. Jan 06, 2017
    • Michal Gorny's avatar
      [llvm-config] Print --system-libs only when static linking · d1b95488
      Michal Gorny authored
      Modify the --system-libs option in llvm-config to print system libs only
      when using static linking. The system libraries are irrelevant when
      linking to a shared library since the library has appropriate library
      dependencies embedded.
      
      Modify the --system-libs test appropriately to force static linking, and
      disable it if static libs are not available (i.e. BUILD_SHARED_LIBS is
      enabled).
      
      Differential Revision: https://reviews.llvm.org/D27805
      
      llvm-svn: 291285
      d1b95488
    • Michal Gorny's avatar
      [cmake] Canonicalize CMake booleans to 0/1 for lit interop · 9283f5b2
      Michal Gorny authored
      Canonicalize all CMake booleans to 0/1 before passing them to lit, to
      ensure that the Python side handles all of them consistently
      and correctly. 0/1 is a safe choice of values that trigger the same
      boolean interpretation in CMake, Python and C++.
      
      Furthermore, using them without quotes improves the chance Python will
      explicitly fail when an incorrect value (such as ON/OFF, TRUE/FALSE,
      YES/NO) is accidentally passed, rather than silently misinterpreting
      the value.
      
      This replaces a lot of different logics spread around lit site files,
      attempting to partially reproduce the boolean logic used in CMake
      and usually silently failing when an uncommon value was used instead.
      In fact, some of them were never working correctly since different
      values were assigned in CMake and checked in Python.
      
      The alternative solution could be to create a common parser for CMake
      booleans in lit and use it consistently throughout the site files.
      However, it does not seem like the best idea to create redundant
      implementation of the same logic and have to follow upstream if it ever
      is extended to handle more values.
      
      Differential Revision: https://reviews.llvm.org/D28294
      
      llvm-svn: 291284
      9283f5b2
  9. Dec 14, 2016
  10. Dec 13, 2016
  11. Nov 29, 2016
  12. Nov 13, 2016
  13. 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
  14. 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
  15. 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
  16. 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
  17. Aug 10, 2016
  18. Aug 09, 2016
  19. Aug 05, 2016
  20. Jul 26, 2016
  21. Jul 12, 2016
  22. Jul 09, 2016
  23. 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
  24. May 23, 2016
  25. 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
  26. Apr 04, 2016
  27. Mar 29, 2016
  28. Mar 08, 2016
  29. Jan 16, 2016
  30. Jan 09, 2016
  31. 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
  32. Dec 27, 2015
Loading