- Aug 18, 2012
-
-
Craig Topper authored
Refactor code a bit to reduce number of calls in the final compiled code. No functional change intended. llvm-svn: 162166
-
Craig Topper authored
llvm-svn: 162165
-
Nadav Rotem authored
llvm-svn: 162164
-
John McCall authored
always yield a positive number. Just print the negated result as an unsigned number. llvm-svn: 162163
-
Johnny Chen authored
llvm-svn: 162162
-
Johnny Chen authored
llvm-svn: 162161
-
Nadav Rotem authored
arithmetic instructions. However, when small data types are used, a truncate node appears between the SETCC node and the arithmetic operation. This patch adds support for this pattern. Before: xorl %esi, %edi testb %dil, %dil setne %al ret After: xorb %dil, %sil setne %al ret rdar://12081007 llvm-svn: 162160
-
Richard Smith authored
nested names as id-expressions, using the annot_primary_expr annotation, where possible. This removes some redundant lookups, and also allows us to typo-correct within tentative parsing, and to carry on disambiguating past an identifier which we can determine will fail lookup as both a type and as a non-type, allowing us to disambiguate more declarations (and thus offer improved error recovery for such cases). This also introduces to the parser the notion of a tentatively-declared name, which is an identifier which we *might* have seen a declaration for in a tentative parse (but only if we end up disambiguating the tokens as a declaration). This is necessary to correctly disambiguate cases where a variable is used within its own initializer. llvm-svn: 162159
-
Dmitri Gribenko authored
declare size_t in system-independent way. llvm-svn: 162158
-
Jordan Rose authored
Our current handling of 'throw' is all CFG-based: it jumps to a 'catch' block if there is one and the function exit block if not. But this doesn't really get the right behavior when a function is inlined: execution will continue on the caller's side, which is always the wrong thing to do. Even within a single function, 'throw' completely skips any destructors that are to be run. This is essentially the same problem as @finally -- a CFGBlock that can have multiple entry points, whose exit points depend on whether it was entered normally or exceptionally. Representing 'throw' as a sink matches our current (non-)handling of @throw. It's not a perfect solution, but it's better than continuing analysis in an inconsistent or even impossible state. <rdar://problem/12113713> llvm-svn: 162157
-
Jordan Rose authored
The CFG approximates @throw as a return statement, but that's not good enough in inlined functions. Moreover, since Objective-C exceptions are usually considered fatal, we should be suppressing leak warnings like we do for calls to noreturn functions (like abort()). The comments indicate that we were probably intending to do this all along; it may have been inadvertantly changed during a refactor at one point. llvm-svn: 162156
-
Jordan Rose authored
This was once an adapter class between callbacks that had CheckerContexts and those that don't, but for a while now it's essentially just been a wrapper around a ProgramPointTag. We can just pass the tag around instead. No functionality change. llvm-svn: 162155
-
Jordan Rose authored
We shouldn't be reinventing our own wheels. This also paves the way for marking different kinds of sinks. No functionality change. llvm-svn: 162154
-
Dmitri Gribenko authored
llvm-svn: 162153
-
Johnny Chen authored
tread on the m_embedded_thread_input_reader_sp singleton maintained by the script interpreter. Furthermore, use two additional slots under the script interpreter to store the PseudoTerminal and the InputReaderSP pertaining to the embedded python interpreter -- resulted from the ScriptInterpreterPython::ExecuteInterpreterLoop() call -- to facilitate separation from what is being used by the PythonInputReaderManager instances. llvm-svn: 162147
-
Eli Friedman authored
so other unexpected operations don't slip through. Based on patch by Logan Chien. PR11786/PR13186. llvm-svn: 162146
-
Eric Christopher authored
Make isa part of objc_object at metadata generation time. Noticed on inspection. llvm-svn: 162145
-
Douglas Gregor authored
Sema::ActOnEndOfTranslationUnit(). This is a (minor) optimization. llvm-svn: 162144
-
- Aug 17, 2012
-
-
Fariborz Jahanian authored
specifier is unsed in a declaration; as it may not make the symbol local to linkage unit as intended. Suggest using "hidden" visibility attribute instead. // rdar://7703982 llvm-svn: 162138
-
Richard Smith authored
SSAUpdater was created and destroyed without being initialized. llvm-svn: 162137
-
Akira Hatanaka authored
llvm-svn: 162136
-
Akira Hatanaka authored
No new tests are added. All tests in ExecutionEngine/MCJIT that have been failing pass after this patch is applied (when "make check" is done on a mips board). Patch by Petar Jovanovic. llvm-svn: 162135
-
Chad Rosier authored
llvm-svn: 162134
-
Richard Smith authored
llvm-svn: 162133
-
Chad Rosier authored
pollute SemaStmt with extraneous asm handling logic. llvm-svn: 162132
-
Bill Wendling authored
<rdar://problem/10545247> llvm-svn: 162131
-
Jakob Stoklund Olesen authored
PEI can't handle the pseudo-instructions. This can be removed when the pseudo-instructions are replaced by normal predicated instructions. Fixes PR13628. llvm-svn: 162130
-
Fariborz Jahanian authored
'int' vs. 'long' issue with i386. llvm-svn: 162125
-
Akira Hatanaka authored
Patch by Vladimir Medic. llvm-svn: 162124
-
Jordan Rose authored
Fixes <rdar://problem/12119814> llvm-svn: 162123
-
Benjamin Kramer authored
The previous fix only checked for simple cycles, use a set to catch longer cycles too. Drop the broken check from the ObjectSizeOffsetEvaluator. The BoundsChecking pass doesn't have to deal with invalid IR like InstCombine does. llvm-svn: 162120
-
Fariborz Jahanian authored
llvm-svn: 162117
-
Daniel Dunbar authored
- The SDKROOT environment variable is the de facto way to set the default SDK for a number of tools, join forces with them. llvm-svn: 162116
-
Dmitri Gribenko authored
isExplicitTemplateSpecialization() matchers which do what their name says. llvm-svn: 162115
-
Bill Wendling authored
make it more consistent with its intended semantics. The `linker_private_weak_def_auto' linkage type was meant to automatically hide globals which never had their addresses taken. It has nothing to do with the `linker_private' linkage type, which outputs the symbols with a `l' (ell) prefix among other things. The intended semantic is more like the `linkonce_odr' linkage type. Change the name of the linkage type to `linkonce_odr_auto_hide'. And therefore changing the semantics so that it produces the correct output for the linker. Note: The old linkage name `linker_private_weak_def_auto' will still parse but is not a synonym for `linkonce_odr_auto_hide'. This should be removed in 4.0. <rdar://problem/11754934> llvm-svn: 162114
-
Rafael Espindola authored
multiple edges between two blocks is linear. If the caller is iterating all edges leaving a BB that would be a square time algorithm. It is more efficient to have the callers handle that case. Currently the only callers are: * GVN: already avoids the multiple edge case. * Verifier: could only hit this assert when looking at an invalid invoke. Since it already rejects the invoke, just avoid computing the dominance for it. llvm-svn: 162113
-
Dmitry Vyukov authored
llvm-svn: 162112
-
Howard Hinnant authored
Apply patches supplied by Michel Morin in http://llvm.org/bugs/show_bug.cgi?id=13601 to correct bugs in is_convertible for the case that the intrinsic __is_convertible_to is not available. llvm-svn: 162111
-
Alexander Kornienko authored
llvm-svn: 162110
-
Fariborz Jahanian authored
on unsafe cast of a c-function call. This is a C-only option. llvm-svn: 162109
-