- Jul 27, 2012
-
-
Jakob Stoklund Olesen authored
Patch by Tyler Nowicki! llvm-svn: 160888
-
Sean Callanan authored
sel_getName() calls are generated for all Objective-C selectors before static literals are moved to the static allocation. This prevents errors of the form Internal error [IRForTarget]: Couldn't change a static reference to an Objective-C selector to a dynamic reference <rdar://problem/11331906> llvm-svn: 160887
-
Hans Wennborg authored
Clang's -Wformat fix-its currently suggest using "%zu" for values of type size_t (in C99 or C++11 mode). However, for a type such as std::vector<T>::size_type, it does not notice that type is actually typedeffed to size_t, and instead suggests a format for the underlying type, such as "%lu" or "%u". This commit makes the format string fix mechanism walk the typedef chain so that it notices if the type is size_t, even if that isn't "at the top". llvm-svn: 160886
-
Anna Zaks authored
Also, fix a subtle bug, which occurred due to lookupPrivateMethod defined in DeclObjC.h not looking up the method inside parent's categories. Note, the code assumes that Class's parent object has the same methods as what's in the Root class of a the hierarchy, which is a heuristic that might not hold for hierarchies which do not descend from NSObject. Would be great to fix this in the future. llvm-svn: 160885
-
Anna Zaks authored
We are currently not setting the self object to the calling class object during inlining nor do we reason about [AAA class]. llvm-svn: 160884
-
Anna Zaks authored
llvm-svn: 160883
-
Benjamin Kramer authored
Also add assertions to validate the iterator in the insert method overloads. llvm-svn: 160882
-
Chad Rosier authored
llvm-svn: 160881
-
Andrew Kaylor authored
llvm-svn: 160880
-
Dylan Noblesmith authored
The __BYTE_ORDER__ predefined macro was added in GCC 4.6: http://gcc.gnu.org/onlinedocs/gcc-4.6.0/cpp/Common-Predefined-Macros.html It's used like the following: #if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ ... #elif __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ ... #else #error insane architecture like the pdp-11 #endif There's a similar macro, __FLOAT_WORD_ORDER__, but it looks like it mainly exist to accommodate fairly obscure architectures and ARM's old FPA instructions, so it doesn't seem nearly as useful. The tests are updated to check for the correct(at least, based on clang's current output) value of the macro on each target. So now the suite will catch bugs like the one fixed in r157626. llvm-svn: 160879
-
Nuno Lopes authored
llvm-svn: 160876
-
Dmitry Vyukov authored
llvm-svn: 160875
-
Nuno Lopes authored
This can happen as long as the instruction is not reachable. Instcombine does generate these unreachable malformed selects when doing RAUW llvm-svn: 160874
-
Andrew Kaylor authored
llvm-svn: 160873
-
Arnaud A. de Grandmaison authored
llvm-svn: 160871
-
Dylan Noblesmith authored
llvm-svn: 160866
-
Jakob Stoklund Olesen authored
Move some functions from MCRegisterInfo.h that don't need to be inline. This shrinks llc by 8K. llvm-svn: 160865
-
Sid Manning authored
llvm::report_fatal_error. llvm-svn: 160864
-
Dmitry Vyukov authored
llvm-svn: 160863
-
Dmitry Vyukov authored
llvm-svn: 160861
-
Dmitry Vyukov authored
llvm-svn: 160860
-
Peter Collingbourne authored
llvm-svn: 160857
-
Benjamin Kramer authored
Fix PR13394: Erasing from a vector changes the end of the vector, so make sure we always have the right end. llvm-svn: 160855
-
Benjamin Kramer authored
The rationale here is that it's hard to write loops containing vector erases and it only shows up if the vector contains non-trivial objects leading to crashes when forming them out of garbage memory. llvm-svn: 160854
-
Kostya Serebryany authored
llvm-svn: 160853
-
Craig Topper authored
llvm-svn: 160852
-
NAKAMURA Takumi authored
llvm-svn: 160851
-
NAKAMURA Takumi authored
llvm-svn: 160850
-
NAKAMURA Takumi authored
llvm-svn: 160849
-
NAKAMURA Takumi authored
llvm-svn: 160848
-
Richard Smith authored
a defaulted special member function until the exception specification is needed (using the same criteria used for the delayed instantiation of exception specifications for function temploids). EST_Delayed is now EST_Unevaluated (using 1330's terminology), and, like EST_Uninstantiated, carries a pointer to the FunctionDecl which will be used to resolve the exception specification. This is enabled for all C++ modes: it's a little faster in the case where the exception specification isn't used, allows our C++11-in-C++98 extensions to work, and is still correct for C++98, since in that mode the computation of the exception specification can't fail. The diagnostics here aren't great (in particular, we should include implicit evaluation of exception specifications for defaulted special members in the template instantiation backtraces), but they're not much worse than before. Our approach to the problem of cycles between in-class initializers and the exception specification for a defaulted default constructor is modified a little by this change -- we now reject any odr-use of a defaulted default constructor if that constructor uses an in-class initializer and the use is in an in-class initialzer which is declared lexically earlier. This is a closer approximation to the current draft solution in core issue 1351, but isn't an exact match (but the current draft wording isn't reasonable, so that's to be expected). llvm-svn: 160847
-
Jordan Rose authored
We were treating this like a CXXDefaultArgExpr, but SubstNonTypeTemplateParmExpr actually appears when a template is instantiated, i.e. we have all the information necessary to evaluate it. This allows us to inline functions like llvm::array_lengthof. <rdar://problem/11949235> llvm-svn: 160846
-
Jordan Rose authored
It's a good thing CallEvents aren't created all over the place yet. I checked all the uses this time and the private copy constructor /really/ shouldn't cause any more problems. llvm-svn: 160845
-
Jakob Stoklund Olesen authored
These tables were indexed by [register][subreg index] which made them, very large and sparse. Replace them with lists of sub-register indexes that match the existing lists of sub-registers. MCRI::getSubReg() becomes a very short linear search, like getSubRegIndex() already was. llvm-svn: 160843
-
Jakob Stoklund Olesen authored
Now that the weird X86 sub_ss and sub_sd sub-register indexes are gone, there is no longer a need for the CompositeIndices construct in .td files. Sub-register index composition can be specified on the SubRegIndex itself using the ComposedOf field. Also enforce unique names for sub-registers in TableGen. The same sub-register cannot be available with multiple sub-register indexes. llvm-svn: 160842
-
Akira Hatanaka authored
replace uses of function getMaxCallFrameSize defined in MipsFunctionInfo with the one MachineFrameInfo has. llvm-svn: 160841
-
Jordan Rose authored
Passing a temporary via reference parameter still requires a visible copy constructor. llvm-svn: 160840
-
Fariborz Jahanian authored
retainable types in arc, only suggest CFBridgingRelease/ CFBridgingRetain and not the confusing __bridge casts. // rdar://11923822 llvm-svn: 160839
-
Pete Cooper authored
llvm-svn: 160835
-
Jakob Stoklund Olesen authored
llvm-svn: 160833
-