- Apr 15, 2011
-
-
Akira Hatanaka authored
llvm-svn: 129612
-
Johnny Chen authored
which advances when src collides with a purged slot. Hi Stephen, you're welcome to overwrite/or improve upon this version. Thanks. llvm-svn: 129611
-
Cameron Zwarich authored
a case involving EOR, so I only added a test for ORR. llvm-svn: 129610
-
Douglas Gregor authored
llvm-svn: 129609
-
Akira Hatanaka authored
llvm-svn: 129608
-
Rafael Espindola authored
llvm-svn: 129607
-
Akira Hatanaka authored
Fix lines that have incorrect indentation or exceed 80 columns. There is no change in functionality. llvm-svn: 129606
-
Johnny Chen authored
Stephen Wilson is working on a better performing patch in the meantime. llvm-svn: 129605
-
Douglas Gregor authored
Objective-C pointer to void* as a "conversion to void*". This allows us to prefer an Objective-C object pointer conversion to a superclass object pointer over an Objective-C object pointer conversion to cv-void*. Fixes PR9735. llvm-svn: 129603
-
Cameron Zwarich authored
problem as all of the other instructions we fold with CMPs. llvm-svn: 129602
-
Rafael Espindola authored
llvm-svn: 129601
-
Rafael Espindola authored
llvm-svn: 129600
-
Cameron Zwarich authored
fixes <rdar://problem/9287901>. llvm-svn: 129599
-
Johnny Chen authored
DWARFDebugAranges::Sort() calls std::stable_sort() over a set of address ranges and then proceeds to collapse neighboring ranges together. One problem with the current implementation is that it does an incomplete job. When a pair of ranges are merged the next pair considered does not include the just-merged range. IOW, three consecutive ranges are never collapsed into one. Another problem is that for each range merged we are calling std::vector::erase() which "shifts" all remaining elements of the vector by one position on every merge. The end result (in the worst case) is a quadratic algorithm -- not good when the input vector is large. The following patch merges all consecutive ranges and removes the quadratic behavior. The implementation uses an auxiliary vector of indices in order to remember all ranges that can be dropped, then performs the coalescing of ranges in a single pass. Patch from Stephen Wilson with some minor modification by me. llvm-svn: 129595
-
Akira Hatanaka authored
Add pass that expands pseudo instructions into target instructions after register allocation. Define pseudos that get expanded into mtc1 or mfc1 instructions. llvm-svn: 129594
-
Douglas Gregor authored
address space. I could see that this functionality would be useful, but not in its current form (where the address space is ignored): rather, we'd want to encode the address space into the parameter list passed to operator new/operator delete somehow, which would require a bunch more semantic analysis. llvm-svn: 129593
-
Douglas Gregor authored
"new" expression. This matches GCC's parser. Test is forthcoming. llvm-svn: 129592
-
Evan Cheng authored
Increase SubtargetFeatureKV Value and Implies fields to 64 bits since some targets are getting very close to 32 subtarget features. Also teach tablegen to error when there are more than 64 features to guard against undefined behavior. rdar://9282332 llvm-svn: 129590
-
Joerg Sonnenberger authored
llvm-svn: 129589
-
Nick Lewycky authored
llvm-svn: 129588
-
Fariborz Jahanian authored
and output file is not writable. // rdar://9286457. llvm-svn: 129587
-
Nick Lewycky authored
runtime/compiler-rt/Makefile paving the way to put multiple different libraries into runtime/ and build all of them. llvm-svn: 129585
-
Nick Lewycky authored
did. Delete it. llvm-svn: 129584
-
Douglas Gregor authored
dealing with address-space- and GC-qualified pointers. Previously, these qualifiers were being treated just like cvr-qualifiers (in some cases) or were completely ignored, leading to uneven behavior. For example, const_cast would allow conversion between pointers to different address spaces. The new semantics are fairly simple: reinterpret_cast can be used to explicitly cast between pointers to different address spaces (including adding/removing addresss spaces), while static_cast/dynamic_cast/const_cast do not tolerate any changes in the address space. C-style casts can add/remove/change address spaces through the reinterpret_cast mechanism. Other non-CVR qualifiers (e.g., Objective-C GC qualifiers) work similarly. As part of this change, I tweaked the "casts away constness" diagnostic to use the term "casts away qualifiers". The term "constness" actually comes from the C++ standard, despite the fact that removing "volatile" also falls under that category. In Clang, we also have restrict, address spaces, ObjC GC attributes, etc., so the more general "qualifiers" is clearer. llvm-svn: 129583
-
Lenny Maiorani authored
Implements StringRef::compare with bounds. It is behaves similarly to strncmp(). Unit tests also included. llvm-svn: 129582
-
Owen Anderson authored
llvm-svn: 129581
-
Jakob Stoklund Olesen authored
The transferValues() function can now handle both singly and multiply defined values, as long as the resulting live range is known. Only rematerialized values have their live range recomputed by extendRange(). The updateSSA() function can now insert PHI values in bulk across multiple values in multiple target registers in one pass. The list of blocks received from transferValues() is in layout order which seems to work well for the iterative algorithm. Blocks from extendRange() are still in reverse BFS order, but this function is used so rarely now that it doesn't matter. llvm-svn: 129580
-
Jakob Stoklund Olesen authored
llvm-svn: 129579
-
Fariborz Jahanian authored
cases where stand-alone ivar can be looked up in shadowed object. To fix gcc compatibility breakage. // rdar://9284603 llvm-svn: 129576
-
-
Richard Smith authored
llvm-svn: 129573
-
Michael J. Spencer authored
llvm-svn: 129572
-
Rafael Espindola authored
Change ELF systems to use CFI for producing the EH tables. This reduces the size of the clang binary in Debug builds from 690MB to 679MB. llvm-svn: 129571
-
Michael J. Spencer authored
llvm-svn: 129570
-
Richard Smith authored
llvm-svn: 129569
-
Richard Smith authored
llvm-svn: 129567
-
Richard Smith authored
llvm-svn: 129565
-
Benjamin Kramer authored
llvm-svn: 129564
-
Richard Smith authored
Apply NAKAMURA Takumi's workaround to fix thses tests on -Asserts build. The labels there are numbered, not named, and numbered labels are formatted differently. llvm-svn: 129562
-
Nick Lewycky authored
builds the subdirs from this directory. This makes the behaviour with make match what already happens with cmake. llvm-svn: 129561
-