- Oct 23, 2012
-
-
Douglas Gregor authored
llvm-svn: 166497
-
Richard Smith authored
even if it's dependent, in case it now names a member of the current instantiation. llvm-svn: 166496
-
rdar://problem/12523238Enrico Granata authored
This commit enables the new HasChildren() feature for synthetic children providers Namely, it hooks up the required bits and pieces so that individual synthetic children providers can implement a new (optional) has_children call Default implementations have been provided where necessary so that any existing providers continue to work and behave correctly Next steps are: 2) writing smart implementations of has_children for our providers whenever possible 3) make a test case llvm-svn: 166495
-
Matt Beaumont-Gay authored
llvm-svn: 166494
-
Pete Cooper authored
Change DenseMap to use a power of 2 growth if one is given instead of the next power of 2. This was causing DenseMaps to grow 4x instead of 2x. I'll keep an eye on the buildbots as this could impact performance llvm-svn: 166493
-
Pete Cooper authored
Fixed bug in SmallDenseMap where it wouldn't leave enough space for an empty bucket if the number of values was exactly equal to the small capacity. This led to an infinite loop when finding a non-existent element llvm-svn: 166492
-
Nadav Rotem authored
Use the AliasAnalysis isIdentifiedObj because it also understands mallocs and c++ news. PR14158. llvm-svn: 166491
-
Bill Wendling authored
loads. It's not really profitable and may result in GVN going into an infinite loop when it hits constructs like this: %x = gep %some.type %x, ... Found via an LTO build of LLVM. llvm-svn: 166490
-
Chad Rosier authored
llvm-svn: 166489
-
Chad Rosier authored
on patch to r166433. rdar://12470317 llvm-svn: 166488
-
Michael Liao authored
- Replace v4i8/v8i8 -> v8f32 DAG combine with custom lowering to reduce DAG combine overhead. - Extend the support to v4i16/v8i16 as well. llvm-svn: 166487
-
Michael Liao authored
llvm-svn: 166486
-
Eric Christopher authored
llvm-svn: 166485
-
Lang Hames authored
should fix an issue (described at http://stackoverflow.com/questions/10065384/instantiation-of-a-list-with-an-incomplete-type-in-a-typedef) that was preventing LLVMCodeGen from building with libc++ in C++11 mode. llvm-svn: 166484
-
Rafael Espindola authored
Patch by David Hill. llvm-svn: 166483
-
Sean Silva authored
Patch by Eitan Adler! llvm-svn: 166482
-
Quentin Colombet authored
llvm-svn: 166481
-
Bill Schmidt authored
for the PowerPC target, and factoring the results. This will ease future maintenance of both subtargets. PPCTargetLowering::LowerCall_Darwin_Or_64SVR4() has grown a lot of special-case code for the different ABIs, making maintenance difficult. This is getting worse as we repair errors in the 64-bit ELF ABI implementation, while avoiding changes to the Darwin ABI logic. This patch splits the routine into LowerCall_Darwin() and LowerCall_64SVR4(), allowing both versions to be significantly simplified. I've factored out chunks of similar code where it made sense to do so. I also performed similar factoring on LowerFormalArguments_Darwin() and LowerFormalArguments_64SVR4(). There are no functional changes in this patch, and therefore no new test cases have been developed. Built and tested on powerpc64-unknown-linux-gnu with no new regressions. llvm-svn: 166480
-
Daniel Jasper authored
llvm-svn: 166479
-
NAKAMURA Takumi authored
llvm-svn: 166478
-
Manuel Klimek authored
Patch by Gabor Horvath. llvm-svn: 166477
-
Duncan Sands authored
llvm-svn: 166475
-
Duncan Sands authored
%V = mul i64 %N, 4 %t = getelementptr i8* bitcast (i32* %arr to i8*), i32 %V into %t1 = getelementptr i32* %arr, i32 %N %t = bitcast i32* %t1 to i8* incorporating the multiplication into the getelementptr. This happens all the time in dragonegg, for example for int foo(int *A, int N) { return A[N]; } because gcc turns this into byte pointer arithmetic before it hits the plugin: D.1590_2 = (long unsigned int) N_1(D); D.1591_3 = D.1590_2 * 4; D.1592_5 = A_4(D) + D.1591_3; D.1589_6 = *D.1592_5; return D.1589_6; The D.1592_5 line is a POINTER_PLUS_EXPR, which is turned into a getelementptr on a bitcast of A_4 to i8*, so this becomes exactly the kind of IR that the transform fires on. An analogous transform (with no testcases!) already existed for bitcasts of arrays, so I rewrote it to share code with this one. llvm-svn: 166474
-
NAKAMURA Takumi authored
llvm-svn: 166473
-
Jim Ingham authored
it to print the old and new values. Temporarily disable the "out of scope" checking since it didn't work correctly, and was not what people generally expected watchpoints to be doing. llvm-svn: 166472
-
NAKAMURA Takumi authored
llvm-svn: 166471
-
Richard Smith authored
every TU where it's implicitly instantiated, even if there's an implicit instantiation for the same types available in another TU. llvm-svn: 166470
-
Douglas Gregor authored
check each of the files within that directory to determine if any of them is an AST file that matches the language and target options. If so, the first matching AST file is loaded. This fixes a longstanding discrepency with GCC's precompiled header implementation. llvm-svn: 166469
-
Matt Beaumont-Gay authored
to dependent arguments. llvm-svn: 166468
-
Nadav Rotem authored
llvm-svn: 166467
-
Argyrios Kyrtzidis authored
llvm-svn: 166466
-
Jason Molenda authored
the function's prologue instructions so we can re-instate that prologue if we hit an early return mid-function. Add some additional heuristics to differentiate between prologue and epilogue instruction sequences. This fixes the specific problem of correctly unwinding through a function which has an epilogue one instruction after the last prologue setup instruction has completed. <rdar://problem/12091139> llvm-svn: 166465
-
Jason Molenda authored
llvm-svn: 166464
-
Eli Friedman authored
llvm-svn: 166463
-
Enrico Granata authored
llvm-svn: 166462
-
Rafael Espindola authored
regression. llvm-svn: 166461
-
rdar://problem/12493007Greg Clayton authored
Added a new API call to help efficiently determine if a SBValue could have children: bool SBValue::MightHaveChildren (); This is inteneded to be used bui GUI programs that need to show if a SBValue needs a disclosure triangle when displaying a hierarchical type in a tree view without having to complete the type (by calling SBValue::GetNumChildren()) as completing the type is expensive. llvm-svn: 166460
-
Reed Kotler authored
llvm-svn: 166459
-
Michael J. Spencer authored
llvm-svn: 166458
-
Sean Callanan authored
options: - added help ("help language") listing the possible options; - added the possibility of synonyms for language names, in this case "ObjC" for "Objective-C"; and - made matching against language names case insensitive. This should improve discoverability. <rdar://problem/12552359> llvm-svn: 166457
-