- Jun 21, 2012
-
-
Bill Wendling authored
llvm-svn: 158901
-
Evan Cheng authored
_umodsi3 libcalls if they have the same arguments. This optimization was apparently broken if one of the node was replaced in place. rdar://11714607 llvm-svn: 158900
-
Jordan Rose authored
In C, enum constants have the type of the enum's underlying integer type, rather than the type of the enum. (This is not true in C++.) This leads to odd warnings when returning enum constants directly in blocks with inferred return types. The easiest way out of this is to pretend that, like C++, enum constants have enum type when being returned from a block. <rdar://problem/11662489> llvm-svn: 158899
-
Jordan Rose authored
Also, don't warn if the used function is __attribute__((const)), in which case it's not supposed to use global variables anyway. The inline-in-inline thing is a heuristic, and one that's possibly incorrect fairly often because the function being inlined could definitely use global variables. However, even some C standard library functions are written using other (trivial) static-inline functions in the headers, and we definitely don't want to be warning on that (or on anything that /uses/ these trivial inline functions). So we're using "inlined" as a marker for "fairly trivial". (Note that __attribute__((pure)) does /not/ guarantee safety like ((const), because ((const)) does not guarantee that global variables are not being used, and the warning is about globals not being shared across TUs.) llvm-svn: 158898
-
Chandler Carruth authored
implementation. Yay for '-' lines in CMake! llvm-svn: 158897
-
Chandler Carruth authored
a helper function in CMake. This will allow us to share all of this logic with Clang, and eventually CompilerRT. llvm-svn: 158896
-
Richard Smith authored
appropriate. Patch by João Matos! llvm-svn: 158895
-
Chandler Carruth authored
match the LLVM implemenation. This also simplifies the name management and splits the custom library management out from the unittest specific management. It finally drops the dependency on parsing cmake arguments. llvm-svn: 158894
-
Chandler Carruth authored
llvm-svn: 158893
-
Jason Molenda authored
is being run on iOS natively and we are examining a binary that is in the shared-cache. The shared cache may be set up to not load the symbol names in memory (and may be missing some local symbols entirely, to boot) so we need to read the on-disk-but-not-mapped-into-memory cache of symbol names/symbols before we start processing the in-memory nlist entries. This code needs to be reorganized into its own separate method, ideally we'll find some way to not duplicate the nlist symbol handling. But we need to handle this new format quickly and we'll clean up later. Thanks for James McIlree for the patch. Fixes <rdar://problem/11639018>. llvm-svn: 158891
-
Jason Molenda authored
llvm-svn: 158890
-
Chandler Carruth authored
facilities. This was only used in one place in LLVM, and was used pervasively (but with different code!) in Clang. It has no advantages over the standard CMake facilities and in some cases disadvantages. llvm-svn: 158889
-
Chandler Carruth authored
express library-level dependencies within Clang. This is no more verbose really, and plays nicer with the rest of the CMake facilities. It should also have no change in functionality. llvm-svn: 158888
-
Richard Smith authored
is passed to a variadic function in a position where a format string indicates that c_str()'s return type is desired, provide a note suggesting that the user may have intended to call the c_str() member. Factor the non-POD-vararg checking out of DefaultVariadicArgumentPromotion and move it to SemaChecking in order to facilitate this. Factor the call checking out of function call checking and block call checking, and extend it to cover constructor calls too. Patch by Sam Panzer! llvm-svn: 158887
-
Alexander Potapenko authored
Enable AddressSanitizerMac.CFAllocatorDefaultDoubleFree and AddressSanitizerMac.CFAllocatorMallocDoubleFree, which now work fine. llvm-svn: 158886
-
Alexander Potapenko authored
Introduce the mac_ignore_invalid_free flag (0 by default) which makes both cf_free and mz_free ignore invalid free invocations and leak memory. llvm-svn: 158885
-
Chandler Carruth authored
llvm-svn: 158884
-
Richard Smith authored
is permitted by all relevant language standards. Patch by Andy Gibbs! llvm-svn: 158883
-
Dmitri Gribenko authored
RawCommentList::addComment: fix the assertion so it actually checks that new comment is after the last one (change Comments[0] to Comments.back()), and handle the case of two consecutive comments, e.g. /** *//* */. There is already a testcase for that (but it didn't trigger the assert because the assert itself was wrong). llvm-svn: 158882
-
Jakob Stoklund Olesen authored
Old code would only update physreg live intervals. llvm-svn: 158881
-
Meador Inge authored
llvm-svn: 158880
-
Jakob Stoklund Olesen authored
Live intervals for regunits and virtual registers are stored separately, and physreg live intervals are going away. To visit the live ranges of all virtual registers, use this pattern instead: for (unsigned i = 0, e = MRI->getNumVirtRegs(); i != e; ++i) { unsigned Reg = TargetRegisterInfo::index2VirtReg(i); if (MRI->reg_nodbg_empty(Reg)) continue; llvm-svn: 158879
-
Jakob Stoklund Olesen authored
llvm-svn: 158878
-
Meador Inge authored
llvm-svn: 158877
-
Jakob Stoklund Olesen authored
I don't think anyone has been using this functionality for a while, and it is getting in the way of refactoring now. llvm-svn: 158876
-
Anna Zaks authored
llvm-svn: 158875
-
Fariborz Jahanian authored
// rdar://11671080 llvm-svn: 158874
-
Jakob Stoklund Olesen authored
Register allocators depend on it being permanently enabled now. llvm-svn: 158873
-
Jakob Stoklund Olesen authored
Deterministically enumerate the virtual registers instead. llvm-svn: 158872
-
Fariborz Jahanian authored
has not overridden the property. // rdar://11656982 llvm-svn: 158871
-
Alexander Potapenko authored
llvm-svn: 158870
-
Fariborz Jahanian authored
"write" attribute (copy/retain/etc.). But, property declaration in primary class and protcols are tentative as they may be overridden into a 'readwrite' property in class extensions. Postpone diagnosing such warnings until the class implementation is seen. // rdar://11656982 llvm-svn: 158869
-
Jakob Stoklund Olesen authored
They are living in LiveRegMatrix now. llvm-svn: 158868
-
Jakob Stoklund Olesen authored
Stop depending on the LiveIntervalUnions in RegAllocBase, they are about to be removed. The changes are mostly replacing register alias iterators with regunit iterators, and querying LiveRegMatrix instrad of RegAllocBase. InterferenceCache is converted to work with per-regunit LiveIntervalUnions, and it checks fixed regunit interference separately, using the fixed live intervals provided by LiveIntervalAnalysis. The local splitting helper calcGapWeights() is also considering fixed regunit interference which is kept on the side now. llvm-svn: 158867
-
Jakob Stoklund Olesen authored
Stop using the LiveIntervalUnions provided by RegAllocBase, they will be removed soon. llvm-svn: 158866
-
Jakob Stoklund Olesen authored
Soon we won't need to compute live intervals for physical registers. llvm-svn: 158865
-
Jakob Stoklund Olesen authored
Filter out physreg candidates with regunit interferrence. Also compute regmask interference more efficiently. llvm-svn: 158864
-
Alexander Potapenko authored
Actually intercept free() to ensure that the deallocations caused by other functions directly calling it are routed to our allocator. For the allocations that do not belong to any malloc zone check whether they're padded with a pointer to ASan's CFAllocator. If so, free the original (unpadded) pointer. This should fix AddressSanitizerMac.NSURLDeallocation and issue 70. llvm-svn: 158863
-
Andrew Trick authored
As Nadav pointed out the first implementation was obscure. llvm-svn: 158862
-
James Dennett authored
llvm-svn: 158861
-