- Jun 20, 2013
-
-
Meador Inge authored
The simplify-libcalls pass has been removed from LLVM. Thus 'PMBuilder.DisableSimplifyLibCalls' does not exist anymore. The disabling/enabling of library call simplifications is done through the TargetLibraryInfo which is already wired up in Clang. llvm-svn: 184458
-
Eli Friedman authored
llvm-svn: 184453
-
Rafael Espindola authored
llvm-svn: 184432
-
Samuel Benzaquen authored
- Added conversion routines and checks in Matcher<T> that take a DynTypedMatcher. - Added type information on the error messages for the marshallers. - Allows future work on Polymorphic/overloaded matchers. We should be able to disambiguate at runtime and choose the appropriate overload. llvm-svn: 184429
-
Manuel Klimek authored
Most of the tests contributed by Edwin Vane. llvm-svn: 184427
-
Alexander Kornienko authored
Summary: Fixes a problem where \t,\v or \f could lead to a crash when placed as a first character in a line comment. The cause is that rtrim and ltrim handle these characters, but our code didn't, so some invariants could be broken. Reviewers: klimek Reviewed By: klimek CC: cfe-commits Differential Revision: http://llvm-reviews.chandlerc.com/D1013 llvm-svn: 184425
-
Enea Zaffanella authored
llvm-svn: 184417
-
Evgeniy Stepanov authored
A workaroudn for PR16386. MSan's operator new aften has side-effects that are miscompiled without this flag. llvm-svn: 184410
-
Pavel Labath authored
Summary: When doing a reinterpret+dynamic cast from an incomplete type, the analyzer would crash (bug #16308). This fix makes the dynamic cast evaluator ignore incomplete types, as they can never be used in a dynamic_cast. Also adding a regression test. CC: cfe-commits Differential Revision: http://llvm-reviews.chandlerc.com/D1006 llvm-svn: 184403
-
Chandler Carruth authored
This fixes PR16370, I'll add the test case in a follow-up commit. llvm-svn: 184401
-
Eli Friedman authored
up alignment. Fixes utilities/tuple/tuple.tuple/tuple.creation/tuple_cat.pass.cpp from the libc++ testsuite. llvm-svn: 184397
-
Richard Smith authored
why not. Apparently GCC supports this. llvm-svn: 184396
-
Richard Smith authored
return false; in a function returning a pointer. 'false' was a null pointer constant in C++98 but is not in C++11. Punch a very small hole in the initialization rules in C++11 mode to allow this specific case in system headers. llvm-svn: 184395
-
Richard Smith authored
llvm-svn: 184391
-
Stephen Lin authored
Revert r184205 and associated patches while investigating issue with broken buildbot (possible interaction with LTO) <rdar://problem/14209661> llvm-svn: 184384
-
Eli Friedman authored
llvm-svn: 184379
-
Eli Friedman authored
llvm-svn: 184378
-
Richard Trieu authored
showing "(null)". llvm-svn: 184377
-
- Jun 19, 2013
-
-
David Blaikie authored
Debug Info: PR14763/r183329 - specify that non-trivial pass-by-value parameters are stored indirectly This is to fix the location information for such parameters to refer to the object accessible through the pointer rather than to the pointer parameter itself. llvm-svn: 184367
-
Alexander Kornienko authored
Summary: A trailing block comment having multiple lines would cause extremely high penalties if the summary length of its lines is more than the column limit. Fixed by always considering only the last line of a multi-line block comment. Removed a long-standing FIXME from relevant tests and added a motivating test modelled after problem cases from real code. Reviewers: klimek Reviewed By: klimek CC: cfe-commits Differential Revision: http://llvm-reviews.chandlerc.com/D1010 llvm-svn: 184340
-
Eli Friedman authored
llvm-svn: 184332
-
Samuel Benzaquen authored
Added ASTNodeKind as a standalone way to represent node kinds and their hierarchy. This change is to support ongoing work on D815. Reviewers: klimek CC: cfe-commits llvm-svn: 184331
-
Stephen Lin authored
Corrections to r184205 ('this'-return optimization) due to the wrong version of the patch being committed originally. 1) Removed useless return value of CGCXXABI::EmitConstructorCall and CGCXXABI::EmitVirtualDestructorCall and implementations 2) Corrected last portion of CodeGenCXX/constructor-destructor-return-this to correctly test for non-'this'-return of virtual destructor calls llvm-svn: 184330
-
Fariborz Jahanian authored
class templates; and similarly, @function works for function templates. // rdar://14124702 llvm-svn: 184329
-
Renato Golin authored
This reverts commit 312e51ca484976c2b1254952ff23d5162ca8edc2. llvm-svn: 184324
-
Renato Golin authored
Now, with a comma. Patch by İsmail Dönmez llvm-svn: 184323
-
Reid Kleckner authored
CGCleanup.h isn't meant to be included by all of CodeGen according to John. llvm-svn: 184321
-
Reid Kleckner authored
This fixes an issue when parsing atlbase.h. Patch by Will Wilson! llvm-svn: 184319
-
Manuel Klimek authored
This is in preparation for the backwards references to bound nodes, which will expose a lot more about how matches occur. Main changes: - instead of building the tree of bound nodes, we build a "set" of bound nodes and explode all possible match combinations while running through the matchers; this will allow us to also implement matchers that filter down the current set of matches, like "equalsBoundNode" - take the set of bound nodes at the start of the match into consideration when doing memoization; as part of that, reevaluated that memoization gives us benefits that are large enough (it still does - the effect on common match patterns is up to an order of magnitude) - reset the bound nodes when a node does not match, thus never leaking information from partial sub-matcher matches for failing matchers Effects: - we can now correctly "explode" combinatorial matches, for example: allOf(forEachDescendant(...bind("a")), forEachDescendant(...bind("b"))) will now trigger matches for all combinations of matching "a" and "b"s. - we now never expose bound nodes from partial matches in matchers that did not match in the end - this fixes a long-standing issue FIXMEs: - rename BoundNodesTreeBuilder to BoundNodesBuilder or BoundNodesSetBuilder, as we don't build a tree any more; this is out of scope for this change, though - we're seeing some performance regressions (around 10%), but I expect some performance tuning will get that back, and it's easily worth the increase in expressiveness for now llvm-svn: 184313
-
Rafael Espindola authored
llvm-svn: 184310
-
Reid Kleckner authored
In Itanium, dynamic classes have one vtable with several different address points for dynamic base classes that can't share vtables. In the MS C++ ABI, each vbtable that can't be shared gets its own symbol, similar to how ctor vtables work in Itanium. However, instead of mangling the subobject offset into the symbol, the unique portions of the inheritance path are mangled into the symbol to make it unique. This patch implements the MSVC 2012 scheme for forming unique vbtable symbol names. MSVC 2010 use the same mangling with a different subset of the path. Implementing that mangling and possibly others is TODO. Each vbtable is an array of i32 offsets from the vbptr that points to it to another virtual base subobject. The first entry of a vbtable always points to the base of the current subobject, implying that it is the same no matter which parent class contains it. Reviewers: rjmccall Differential Revision: http://llvm-reviews.chandlerc.com/D636 llvm-svn: 184309
-
Reid Kleckner authored
gcc's inputs are already added by the InputInfoList passed to Action::ConstructJob. Fixes a regression from r183989. This was manifesting when targetting mingw as an extra input argument to gcc when assembling. It presumably affects other situations where clang calls gcc. Prior to r183989, forwardToGCC() was returning false because the INPUT option defined in OptParser.td had the DriverOption flag set on it. LLVM's Option library does not set this flag for INPUT. Reviewers: espindola Differential Revision: http://llvm-reviews.chandlerc.com/D999 llvm-svn: 184308
-
James Molloy authored
Revert r184302 on Renato's behalf - it broke the bots and he's asked me to revert as he's unavailable. llvm-svn: 184307
-
Alexander Kornienko authored
Summary: Split strings at word boundaries, when there are no spaces and slashes. Reviewers: klimek CC: cfe-commits Differential Revision: http://llvm-reviews.chandlerc.com/D1003 llvm-svn: 184304
-
Renato Golin authored
Patch by İsmail Dönmez llvm-svn: 184302
-
Rafael Espindola authored
We now reject things like struct ABC { static double a; }; register double ABC::a = 1.0; llvm-svn: 184300
-
Andy Gibbs authored
llvm-svn: 184299
-
Rafael Espindola authored
llvm-svn: 184297
-
Pavel Labath authored
Summary: When processing a call to a function, which got passed less arguments than it expects, the analyzer would crash. I've also added a test for that and a analyzer warning which detects these cases. CC: cfe-commits Differential Revision: http://llvm-reviews.chandlerc.com/D994 llvm-svn: 184288
-
NAKAMURA Takumi authored
llvm-svn: 184284
-