Skip to content
  1. Jan 27, 2013
  2. 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
  3. 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
  4. Jan 03, 2013
  5. Dec 24, 2012
  6. Dec 19, 2012
  7. Dec 10, 2012
  8. Nov 26, 2012
    • Joe Abbey's avatar
      Removing SUPPORTS_COVERED_SWITCH_DEFAULT_FLAG · 15d9834d
      Joe Abbey authored
      Adding CXX_SUPPORTS_COVERED_SWITCH_DEFAULT_FLAG
             C_SUPPORTS_COVERED_SWITCH_DEFAULT_FLAG
      
      This is to handle the wackiness on a Mac host where cmake detects:
      
      CMAKE_CXX_COMPILER == "/usr/bin/c++"
      CMAKE_C_COMPILER == "/usr/bin/gcc"
      
      llvm-svn: 168577
      15d9834d
  9. Oct 23, 2012
  10. Oct 10, 2012
  11. Oct 05, 2012
    • NAKAMURA Takumi's avatar
      [CMake] Enhance add_llvm_external_project. · 700cd405
      NAKAMURA Takumi authored
        - Substitute hyphen to underscore, s/-/_/g, as the variable name.
        - Additional parameter can be specified as the name of directory.
      
      e.g.) add_llvm_external_project(clang-tools-extra extra)
      
        - LLVM_EXTERNAL_CLANG_TOOLS_EXTRA_SOURCE_DIR=/path/to/llvm-srcroot/tools/clang/tools/extra, by default.
        - Build directory is in ${CMAKE_CURRENT_BINARY_DIR}/extra
      
      llvm-svn: 165311
      700cd405
  12. Aug 04, 2012
  13. Jul 12, 2012
  14. Jul 07, 2012
  15. Jul 02, 2012
  16. Jun 30, 2012
  17. Jun 29, 2012
  18. Jun 28, 2012
  19. Jun 24, 2012
  20. Jun 21, 2012
    • Chandler Carruth's avatar
      Avoid using the recently added APPEND_STRING feature. This should · 582e8a5d
      Chandler Carruth authored
      restore support for CMake versions before 2.8.6 -- sorry for the
      trouble!
      
      llvm-svn: 158930
      582e8a5d
    • 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
    • Chandler Carruth's avatar
      Factor the logic for setting up a GoogleTest unit test executable into · a5d42f83
      Chandler Carruth authored
      a helper function in CMake. This will allow us to share all of this
      logic with Clang, and eventually CompilerRT.
      
      llvm-svn: 158896
      a5d42f83
    • Chandler Carruth's avatar
      Remove one of the LLVM-specific CMake hacks in favor of standard CMake · e530d2ba
      Chandler Carruth authored
      facilities.
      
      This was only used in one place in LLVM, and was used pervasively (but
      with different code!) in Clang. It has no advantages over the standard
      CMake facilities and in some cases disadvantages.
      
      llvm-svn: 158889
      e530d2ba
  21. Jun 17, 2012
  22. Jun 08, 2012
  23. Jun 07, 2012
  24. May 23, 2012
  25. May 08, 2012
  26. May 04, 2012
  27. 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
  28. Apr 21, 2012
  29. Mar 01, 2012
  30. Feb 29, 2012
  31. Feb 28, 2012
Loading