- Jan 14, 2013
-
-
Dmitri Gribenko authored
llvm-svn: 172474
-
David Greene authored
Use const_cast<> to avoid cast-away-const errors. llvm-svn: 172464
-
- Jan 12, 2013
-
-
Benjamin Kramer authored
The folding set details can be subtle and broke twice in the last couple of weeks. llvm-svn: 172313
-
- Jan 11, 2013
-
-
Eli Bendersky authored
Patch by Michael Muller. llvm-svn: 172214
-
- Jan 10, 2013
-
-
Dmitri Gribenko authored
llvm-svn: 172108
-
Dmitri Gribenko authored
llvm-svn: 172107
-
Jakub Staszak authored
llvm-svn: 172105
-
David Greene authored
Use memcpy to do type punning instead of a cast. A cast or similar operation through a union breaks strict aliasing rules. llvm-svn: 172081
-
- Jan 07, 2013
-
-
Shuxin Yang authored
llvm-svn: 171764
-
Chandler Carruth authored
library rename. llvm-svn: 171747
-
Chandler Carruth authored
implementation lives already. llvm-svn: 171746
-
- Jan 05, 2013
-
-
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
-
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
-
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
-
- Jan 04, 2013
-
-
Jakob Stoklund Olesen authored
The iplist::clear() function can be quite expensive because it traverses the entire list, calling deleteNode() and removeNodeFromList() on each element. If node destruction and deallocation can be handled some other way, clearAndLeakNodesUnsafely() can be used to jettison all nodes without bringing them into cache. The function name is meant to be ominous. llvm-svn: 171540
-
Nick Kledzik authored
Update test case to verify flow sequence is written as a flow sequence. llvm-svn: 171514
-
- Jan 02, 2013
-
-
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
-
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
-
Chandler Carruth authored
llvm-svn: 171363
-
- Jan 01, 2013
-
-
Chandler Carruth authored
users over to the new one. No sense maintaining this "compatibility" layer it seems. llvm-svn: 171331
-
Chandler Carruth authored
Implement the old API in terms of the new one. This simplifies the implementation on Windows which can now re-use the self_process's once initialization. llvm-svn: 171330
-
- Dec 31, 2012
-
-
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
-
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
-
- Dec 21, 2012
-
-
Duncan Sands authored
170318). llvm-svn: 170886
-
- Dec 18, 2012
-
-
Jakob Stoklund Olesen authored
The single-element ilist::splice() function supports a noop move: List.splice(I, List, I); The corresponding std::list function doesn't allow that, so add a unit test to document that behavior. This also means that List.splice(I, List, F); is somewhat surprisingly not equivalent to List.splice(I, List, F, next(F)); This patch adds an assertion to catch the illegal case I == F above. Alternatively, we could make I == F a legal noop, but that would make ilist differ even more from std::list. llvm-svn: 170443
-
- Dec 17, 2012
-
-
Nick Kledzik authored
llvm-svn: 170376
-
Nick Kledzik authored
llvm-svn: 170369
-
- Dec 12, 2012
-
-
Nick Kledzik authored
llvm-svn: 170035
-
David Blaikie authored
llvm-svn: 170033
-
Nick Kledzik authored
structures to and from YAML using traits. The first client will be the test suite of lld. The documentation will show up at: http://llvm.org/docs/YamlIO.html llvm-svn: 170019
-
- Dec 09, 2012
-
-
Michael Ilseman authored
llvm-svn: 169712
-
- Dec 08, 2012
-
-
Bill Wendling authored
llvm-svn: 169651
-
- Dec 05, 2012
-
-
Akira Hatanaka authored
MF_READ and MF_WRITE are set. llvm-svn: 169439
-
Michael J. Spencer authored
llvm-svn: 169344
-
- Dec 04, 2012
-
-
Chandler Carruth authored
llvm-svn: 169250
-
NAKAMURA Takumi authored
FIXME: I have not checked whether to be compiled on msvc11. llvm-svn: 169225
-
Matt Beaumont-Gay authored
llvm-svn: 169214
-
- Dec 03, 2012
-
-
Michael J. Spencer authored
llvm-svn: 169167
-
- Nov 30, 2012
-
-
Chandler Carruth authored
Rationale: 1) This was the name in the comment block. ;] 2) It matches Clang's __has_feature naming convention. 3) It matches other compiler-feature-test conventions. Sorry for the noise. =] I've also switch the comment block to use a \brief tag and not duplicate the name. llvm-svn: 168996
-
- Nov 29, 2012
-
-
Michael Ilseman authored
llvm-svn: 168943
-