Skip to content
  1. Apr 30, 2013
  2. Apr 24, 2013
    • Reid Kleckner's avatar
      Don't forward declare environ on Windows · 206ddd07
      Reid Kleckner authored
      That seems to interact poorly with the environ and _environ macros
      defined in MSVC's <stdlib.h>.
      
      Also remove the incorrect comment about _NSGetEnviron().
      
      llvm-svn: 180200
      206ddd07
  3. Apr 23, 2013
  4. Apr 22, 2013
  5. Apr 05, 2013
  6. Mar 27, 2013
  7. Mar 16, 2013
  8. Mar 14, 2013
  9. Feb 28, 2013
  10. Feb 06, 2013
  11. Feb 05, 2013
  12. Jan 24, 2013
  13. Jan 23, 2013
  14. Jan 22, 2013
  15. Jan 21, 2013
  16. Jan 20, 2013
  17. Jan 10, 2013
  18. Jan 05, 2013
    • Chandler Carruth's avatar
      Rename the unittest from ArrayRecylerTest.cpp to ArrayRecyclerTest.cpp. · 0dba59ae
      Chandler Carruth authored
      Fixes the CMake build. It took me cutting and pasting this before
      I managed to see the missing character. =]
      
      llvm-svn: 171589
      0dba59ae
    • Jakob Stoklund Olesen's avatar
      Add an ArrayRecycler class. · 17a7d22d
      Jakob Stoklund Olesen authored
      This is similar to the existing Recycler allocator, but instead of
      recycling individual objects from a BumpPtrAllocator, arrays of
      different sizes can be allocated.
      
      llvm-svn: 171581
      17a7d22d
    • 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
  19. Jan 04, 2013
  20. Jan 02, 2013
    • Michael J. Spencer's avatar
      [Support][Endian] Add support for specifying the alignment and native unaligned types. · 30589ce6
      Michael J. Spencer authored
      * Add support for specifying the alignment to use.
      * Add the concept of native endianness. Used for unaligned native types.
      
      The native alignment and read/write simplification is based on a patch by Richard Smith.
      
      llvm-svn: 171406
      30589ce6
    • Chandler Carruth's avatar
      Move all of the header files which are involved in modelling the LLVM IR · 9fb823bb
      Chandler Carruth authored
      into their new header subdirectory: include/llvm/IR. This matches the
      directory structure of lib, and begins to correct a long standing point
      of file layout clutter in LLVM.
      
      There are still more header files to move here, but I wanted to handle
      them in separate commits to make tracking what files make sense at each
      layer easier.
      
      The only really questionable files here are the target intrinsic
      tablegen files. But that's a battle I'd rather not fight today.
      
      I've updated both CMake and Makefile build systems (I think, and my
      tests think, but I may have missed something).
      
      I've also re-sorted the includes throughout the project. I'll be
      committing updates to Clang, DragonEgg, and Polly momentarily.
      
      llvm-svn: 171366
      9fb823bb
  21. Jan 01, 2013
  22. Dec 31, 2012
    • Michael J. Spencer's avatar
      [AlignOf] Add AlignedCharArray and refactor AlignedCharArrayUnion. · da3e31a4
      Michael J. Spencer authored
      This adds AlignedCharArray<Alignment, Size>. A templated struct that contains
      a member named buffer of type char[Size] that is aligned to Alignment.
      
      llvm-svn: 171319
      da3e31a4
    • Chandler Carruth's avatar
      Begin sketching out the process interface. · 97683aa2
      Chandler Carruth authored
      The coding style used here is not LLVM's style because this is modeled
      after a Boost interface and thus done in the style of a candidate C++
      standard library interface. I'll probably end up proposing it as
      a standard C++ library if it proves to be reasonably portable and
      useful.
      
      This is just the most basic parts of the interface -- getting the
      process ID out of it. However, it helps sketch out some of the boiler
      plate such as the base class, derived class, shared code, and static
      factory function. It also introduces a unittest so that I can
      incrementally ensure this stuff works.
      
      However, I've not even compiled this code for Windows yet. I'll try to
      fix any Windows fallout from the bots, and if I can't fix it I'll revert
      and get someone on Windows to help out. There isn't a lot more that is
      mandatory, so soon I'll switch to just stubbing out the Windows side and
      get Michael Spencer to help with implementation as he can test it
      directly.
      
      llvm-svn: 171289
      97683aa2
  23. Dec 17, 2012
Loading