Skip to content
  1. Jan 05, 2013
    • Chandler Carruth's avatar
      Finally, fix the autoconf setup to allow for a missing clock_gettime; · d121a7b0
      Chandler Carruth authored
      the source code should now be set up to handle this.
      
      llvm-svn: 171570
      d121a7b0
    • Chandler Carruth's avatar
      Provide a default constructor for TimeValue. This was used, but only in · e46cf6c5
      Chandler Carruth authored
      if-ed out code paths and on Windows. Hopefully restores the Windows
      build. Thanks to Reid Kleckner for helping triage this.
      
      llvm-svn: 171568
      e46cf6c5
    • Alex Rosenberg's avatar
      Fix warnings from llvm-gcc as seen on darwin10 (10.6). · 0d6ecec6
      Alex Rosenberg authored
      llvm-svn: 171567
      0d6ecec6
    • Chandler Carruth's avatar
      Try to suppress the use of clock_gettime on Darwin which apparantly · 2aaec89f
      Chandler Carruth authored
      defines _POSIX_CPUTIME but doesn't support the clock_* functions.
      
      I don't test the value of _POSIX_CPUTIME because the spec merely says
      that if it is defined, the CPU-specific timers are available, whereas it
      says that _POSIX_TIMERS must be defined and defined to a value greater
      than zero. However, this may not work, as the POSIX spec clearly states:
      
        "If the symbolic constant _POSIX_CPUTIME is defined, then the symbolic
        constant _POSIX_TIMERS shall also be defined by the implementation to
        have the value 200112L."
      
      If this doesn't work, I'll add more hacks for Darwin.
      
      llvm-svn: 171565
      2aaec89f
    • Chandler Carruth's avatar
      b79a7aa5
    • Bill Wendling's avatar
      Get rid of the 'Bits' mask in the attribute builder. · cd330348
      Bill Wendling authored
      The bit mask thing will be a thing of the past. It's not extensible enough. Get
      rid of its use here. Opt instead for using a vector to hold the attributes.
      
      Note: Some of this code will become obsolete once the rewrite is further along.
      llvm-svn: 171553
      cd330348
    • 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
    • Andrew Trick's avatar
      tabs-to-spaces · 18021a45
      Andrew Trick authored
      llvm-svn: 171550
      18021a45
    • Jakub Staszak's avatar
      Move 'break' to the right place to prevent fallthru. There is no test-case · 43fafaf4
      Jakub Staszak authored
      because conditions in the next case prevented from doing anything nasty.
      
      llvm-svn: 171549
      43fafaf4
  2. Jan 04, 2013
Loading