Skip to content
  1. Aug 19, 2013
  2. Aug 16, 2013
  3. Aug 14, 2013
  4. Aug 12, 2013
    • Chandler Carruth's avatar
      Target a minimal terminfo library rather than necessarily a full curses · f11f1e43
      Chandler Carruth authored
      library for color support detection. This still will use a curses
      library if that is all we have available on the system. This change
      tries to use a smaller subset of the curses library, specifically the
      subset that is on some systems split off into a separate library. For
      example, if you install ncurses configured --with-tinfo, a 'libtinfo' is
      install that provides just the terminfo querying functionality. That
      library is now used instead of curses when it is available.
      
      This happens to fix a build error on systems with that library because
      when we tried to link ncurses into the binary, we didn't pull tinfo in
      as well. =]
      
      It should also provide an easy path for supporting the NetBSD
      libterminfo library, but as I don't have access to a NetBSD system I'm
      leaving adding that support to those folks.
      
      llvm-svn: 188160
      f11f1e43
  5. Aug 08, 2013
  6. Aug 07, 2013
    • Chandler Carruth's avatar
      Add support for linking against a curses library when available and · cad7e5e0
      Chandler Carruth authored
      using it to detect whether or not a terminal supports colors. This
      replaces a particularly egregious hack that merely compared the TERM
      environment variable to "dumb". That doesn't really translate to
      a reasonable experience for users that have actually ensured their
      terminal's capabilities are accurately reflected.
      
      This makes testing a terminal for color support somewhat more expensive,
      but it is called very rarely anyways. The important fast path when the
      output is being piped somewhere is already in place.
      
      The global lock may seem excessive, but the spec for calling into curses
      is *terrible*. The whole library is terrible, and I spent quite a bit of
      time looking for a better way of doing this before convincing myself
      that this was the fundamentally correct way to behave. The damage of the
      curses library is very narrowly confined, and we continue to use raw
      escape codes for actually manipulating the colors which is a much sane
      system than directly using curses here (IMO).
      
      If this causes trouble for folks, please let me know. I've tested it on
      Linux and will watch the bots carefully. I've also worked to account for
      the variances of curses interfaces that I could finde documentation for,
      but that may not have been sufficient.
      
      llvm-svn: 187874
      cad7e5e0
    • Aaron Ballman's avatar
      Replacing /GR with /GR- instead of applying both options to the project. This... · bde2cd11
      Aaron Ballman authored
      Replacing /GR with /GR- instead of applying both options to the project.  This should reduce some build bot warnings (D9025: "overriding '/GR' with '/GR-'").
      
      llvm-svn: 187836
      bde2cd11
  7. Aug 01, 2013
  8. Jul 31, 2013
  9. Jul 30, 2013
  10. Jul 29, 2013
  11. Jul 28, 2013
  12. Jul 27, 2013
  13. Jul 17, 2013
    • Duncan Sands's avatar
      Tweak the cmake interaction between CMAKE_BUILD_TYPE and LLVM_ENABLE_ASSERTIONS. · 80f122fe
      Duncan Sands authored
      The issue is that CMAKE_BUILD_TYPE=RelWithDebInfo LLVM_ENABLE_ASSERTIONS=ON was
      not building with assertions enabled.  (I was unable to find what in the LLVM
      source tree was adding -DNDEBUG to the build line in this case, so decided that
      it must be cmake itself that was adding it - this may depend on the cmake
      version).  The fix treats any mode that is not Debug as being the same as
      Release for this purpose (previously it was being assumed that cmake would only
      add -DNDEBUG for Release and not for RelWithDebInfo or MinSizeRel).  If other
      versions of cmake don't add -DNDEBUG for RelWithDebInfo then that's OK: with
      this change you just get a useless but harmless -UNDEBUG or -DNDEBUG.
      
      llvm-svn: 186499
      80f122fe
  14. Jun 14, 2013
  15. May 29, 2013
  16. Apr 23, 2013
  17. Apr 21, 2013
  18. Apr 12, 2013
  19. Apr 07, 2013
  20. Mar 26, 2013
  21. Mar 25, 2013
  22. Mar 19, 2013
  23. Mar 15, 2013
  24. Mar 13, 2013
  25. Mar 02, 2013
  26. Feb 14, 2013
    • Tim Northover's avatar
      Use correct host/target CMake variables to define lit variables. · bfe84685
      Tim Northover authored
      CMake and autotools disagree on what "host" means in a cross-compilation
      context. Autotools (and lit) take it to be the machine the binaries being
      compiled now will run on. CMake takes it to be the machine actually compiling
      the binaries now.
      
      This change makes lit.site-cfg more consistent between autotools and CMake,
      allowing lit tests (particularly in ExecutionEngine) to run correctly when
      cross-compiled with CMake
      
      llvm-svn: 175179
      bfe84685
  27. Feb 04, 2013
    • Edwin Vane's avatar
      Turn off uninitialized-use warnings for gcc in cmake build · a9c5bb3f
      Edwin Vane authored
      Added support to the cmake build to turn off uninitialized use warnings
      for gcc. This cleans the build up somewhat.
      
      Used logic simpler than found in autoconf by making use of the fact that
      although gcc won't complain about unsupported -Wno-* flags it *will*
      complain about unsupported -W flags.
      
      Reviewers: gribozavr, doug.gregor, chandlerc
      llvm-svn: 174299
      a9c5bb3f
  28. Jan 31, 2013
  29. Jan 27, 2013
  30. Jan 25, 2013
    • Reid Kleckner's avatar
      Disable MSVC's warning about noreturn destructors · cd947f97
      Reid Kleckner authored
      This warning fires on:
        Operator::~Operator() {
          llvm_unreachable("should never destroy an Operator");
        }
      
      That seems like a false positive.  I don't see any good way to silence
      the warning here, so I'm disabling it.
      
      llvm-svn: 173455
      cd947f97
  31. Jan 05, 2013
    • Chandler Carruth's avatar
      Add time getters to the process interface for requesting the elapsed · ef7f968e
      Chandler Carruth authored
      wall time, user time, and system time since a process started.
      
      For walltime, we currently use TimeValue's interface and a global
      initializer to compute a close approximation of total process runtime.
      
      For user time, this adds support for an somewhat more precise timing
      mechanism -- clock_gettime with the CLOCK_PROCESS_CPUTIME_ID clock
      selected.
      
      For system time, we have to do a full getrusage call to extract the
      system time from the OS. This is expensive but unavoidable.
      
      In passing, clean up the implementation of the old APIs and fix some
      latent bugs in the Windows code. This might have manifested on Windows
      ARM systems or other systems with strange 64-bit integer behavior.
      
      The old API for this both user time and system time simultaneously from
      a single getrusage call. While this results in fewer system calls, it
      also results in a lower precision user time and if only user time is
      desired, it introduces a higher overhead. It may be worthwhile to switch
      some of the pass timers to not track system time and directly track user
      and wall time. The old API also tracked walltime in a confusing way --
      it just set it to the current walltime rather than providing any measure
      of wall time since the process started the way buth user and system time
      are tracked. The new API is more consistent here.
      
      The plan is to eventually implement these methods for a *child* process
      by using the wait3(2) system call to populate an rusage struct
      representing the whole subprocess execution. That way, after waiting on
      a child process its stats will become accurate and cheap to query.
      
      llvm-svn: 171551
      ef7f968e
  32. Jan 03, 2013
Loading