summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Remove the unused DestroyAttrs, noticed by Michael Han.Douglas Gregor2012-05-011-4/+0
| | | | llvm-svn: 155877
* Turn the mixed-sign-comparison diagnostic into a runtime behaviorDouglas Gregor2012-05-012-3/+11
| | | | | | diagnostic, from Eitan Adler! llvm-svn: 155876
* Print inline for inline namespaces, from Faisal ValiDouglas Gregor2012-05-011-0/+2
| | | | llvm-svn: 155875
* Move a non portable test to FileCheck, from Jonathan Gray!Douglas Gregor2012-05-011-5/+14
| | | | llvm-svn: 155874
* Use a cache of the results of "GetFileAddress" from a symbol in the ↵Jim Ingham2012-05-011-4/+33
| | | | | | | | Comparator we are using to sort the various lookup indices by symbol address. When we switched to weak pointers, this lookup got slightly slower. Not enough to matter for most uses, but in the sort algorithm it does matter. llvm-svn: 155873
* Move warn_cxx0x_right_shift_in_template_arg to CXX11Compat group, fromDouglas Gregor2012-05-012-3/+2
| | | | | | Dmitri Gribenko! llvm-svn: 155872
* Let's use the correct bool this time.Kaelyn Uhrain2012-05-011-1/+1
| | | | llvm-svn: 155871
* A couple of very small tweaks suggested by Doug in reply to r155580 and r155163.Kaelyn Uhrain2012-05-012-3/+2
| | | | llvm-svn: 155870
* Remove ref/value inconsistency in redecl_iterator.David Blaikie2012-05-014-8/+9
| | | | | | | | | | | | | Similar to r155808 - this mistake has been made in a few iterators. Based on Chandler Carruth's feedback to r155808 I added an implicit conversion to Decl* to ease adoption/usage. Useful for the pointer comparison, but not the dyn_cast (due to template argument deduction causing the conversion not to be used) - there for future convenience, though. This idiom (op T* for iterators) seems to be fairly idiomatic within the LLVM codebase & I'll likely add it as I fix up the other iterators here. llvm-svn: 155869
* My first effort to do this more subtly failed, so elaboratelyJohn McCall2012-05-012-31/+69
| | | | | | | test for an invalid declaration at every single place in the constant evaluator that's about to request a struct layout. llvm-svn: 155868
* Add support for llvm.arm.neon.vmull* intrinsics to InstCombine. FixesLang Hames2012-05-012-0/+119
| | | | | | | | | <rdar://problem/11291436>. This is a second attempt at a fix for this, the first was r155468. Thanks to Chandler, Bob and others for the feedback that helped me improve this. llvm-svn: 155866
* malloc size checker: Ignore const'ness of pointer types when determining of ↵Ted Kremenek2012-05-012-1/+32
| | | | | | | | a sizeof() type is compatible with a pointed type. Fixes <rdar://problem/11292586>. llvm-svn: 155864
* Remove unused functionTobias Grosser2012-04-302-8/+0
| | | | | | Suggested by: Sebastian Pop llvm-svn: 155863
* Add some docs on the type of flags link.exe has that our driver will need to ↵Michael J. Spencer2012-04-301-0/+37
| | | | | | support. llvm-svn: 155861
* Add support for openSUSE 12.2, from Ismail Donmez!Douglas Gregor2012-04-301-1/+3
| | | | llvm-svn: 155860
* Add some constantness. No functionality change.Jakub Staszak2012-04-301-9/+9
| | | | llvm-svn: 155859
* clang_getCursorLexicalParent should return a translation unit cursor for ↵Douglas Gregor2012-04-302-2/+3
| | | | | | declarations at the global scope, from Evan P. Fixes PR9083. llvm-svn: 155858
* Remove -Wc++98-compat warning for an outrageously-rare circumstance of 'this'Richard Smith2012-04-304-17/+1
| | | | | | | | | | being used in an exception specification in a way which isn't otherwise ill-formed in C++98: this warning also incorrectly triggered on uses of 'this' inside thread-safety attributes, and the mechanism required to tell these cases apart is more complex than can be justified by the (minimal) value of this part of -Wc++98-compat. llvm-svn: 155857
* When going through references to check if the function returns the addressArgyrios Kyrtzidis2012-04-302-24/+40
| | | | | | | | | | | | | | | | of a local variable, make sure we don't infinitely recurse when the reference binds to itself. e.g: int* func() { int& i = i; // assign non-exist variable to a reference which has same name. return &i; // return pointer } rdar://11345441 llvm-svn: 155856
* modern objective-c translator. named aggregate typesFariborz Jahanian2012-04-304-16/+207
| | | | | | | | defined inside the objc class belong to class's decl. scope. This is to conform to objective-c rules. // rdar://11351299 llvm-svn: 155855
* X86: optimization for -(x != 0)Manman Ren2012-04-302-0/+37
| | | | | | | | | | | | | This patch will optimize -(x != 0) on X86 FROM cmpl $0x01,%edi sbbl %eax,%eax notl %eax TO negl %edi sbbl %eax %eax llvm-svn: 155853
* ARM: Diagnostics for out of range fixups.Jim Grosbach2012-04-301-34/+52
| | | | | | | | | | | Replace some assert() calls w/ actual diagnostics. In a perfect world, there'd be range checks on these values long before things ever reached this code. For now, though, issuing a better-late-than-never diagnostic is still a big improvement over assert(). rdar://11347287 llvm-svn: 155851
* For RecursiveASTVisitor, do data recursion for CXXOperatorCallExpr.Argyrios Kyrtzidis2012-04-302-1/+49
| | | | | | rdar://11289247 llvm-svn: 155849
* Store the source range of a CXXOperatorCallExpr in the Expr object instead ofArgyrios Kyrtzidis2012-04-304-6/+14
| | | | | | | | | | | | | | | calculating it recursively. boost::assign::tuple_list_of uses the trick of chaining call operator expressions in order to declare a "list of tuples", e.g: std::vector<tuple> v = boost::assign::tuple_list_of(1, "foo")(2, "bar")(3, "qqq"); Due to CXXOperatorCallExpr calculating its source range recursively we would get significant slowdowns with a large number of chained call operator expressions and the potential for stack overflow. rdar://11350116 llvm-svn: 155848
* Convert the YAMLReader to use LLVM/Support/YAMLParser.Michael J. Spencer2012-04-308-788/+594
| | | | llvm-svn: 155847
* Remove whitespace.Michael J. Spencer2012-04-301-8/+8
| | | | llvm-svn: 155846
* Fix address calculation error from r155744.Jakob Stoklund Olesen2012-04-301-1/+6
| | | | | | | | | | | | This was exposed by SingleSource/UnitTests/Vector/constpool.c. The computed size of a basic block isn't always a multiple of its known alignment, and that can introduce extra alignment padding after the block. <rdar://problem/11347135> llvm-svn: 155845
* fix typoSebastian Pop2012-04-302-4/+4
| | | | | | | | | | | Thanks to "Gabor Greif" <ggreif@gmail.com> for reporting this problem. The configure flag should be --with-default-sysroot as documented, and not --with-sysroot. The reason we don't want to define --with-sysroot is that GCC has a configure flag by that name and it has a different semantics. llvm-svn: 155844
* minor refactoring of modern objc translator.Fariborz Jahanian2012-04-301-5/+17
| | | | llvm-svn: 155843
* Fix C versus C++ linkage issue.Ted Kremenek2012-04-301-1/+3
| | | | llvm-svn: 155842
* Reduce malloc() traffic of clang_getOverridenCursors() by using a pool of ↵Ted Kremenek2012-04-304-32/+113
| | | | | | | | | | SmallVector<CXCursor> objects under the covers. Fixes <rdar://problem/11289160>. llvm-svn: 155841
* test/CodeGen/X86/select.ll: remove spacesManman Ren2012-04-301-1/+1
| | | | llvm-svn: 155840
* Add FixItHint for -Wnull-conversion to initialize with an appropriate literal.David Blaikie2012-04-306-40/+58
| | | | | | Reviewed by Doug Gregor. llvm-svn: 155839
* Fix PR12378: provide conversion warnings on default args of function templatesDavid Blaikie2012-04-303-4/+30
| | | | | | | | | | | | | Apparently we weren't checking default arguments when they were instantiated. This adds the check, fixes the lack of instantiation caching (which seems like it was mostly implemented but just missed the last step), and avoids implementing non-dependent default args (for non-dependent parameter types) as uninstantiated default arguments (so that we don't warn once for every instantiation when it's not instantiation dependent). Reviewed by Richard Smith. llvm-svn: 155838
* HandleDeclarator() returns NULL for semantic disasters. Deal with itDouglas Gregor2012-04-302-1/+24
| | | | | | | when we're in an Objective-C container context. Fixes <rdar://problem/11286701>. llvm-svn: 155836
* Add -Wloop-analysis. This warning will fire on for loops which the variablesRichard Trieu2012-04-303-0/+368
| | | | | | in the loop conditional do not change. llvm-svn: 155835
* Tidy up. No functional change intended.Chad Rosier2012-04-301-8/+7
| | | | llvm-svn: 155832
* modern objective-c translation: de-virtualize allFariborz Jahanian2012-04-301-9/+9
| | | | | | local rewriting functions. llvm-svn: 155826
* Fix fastcc structure return with fast-isel on x86-32Derek Schuff2012-04-302-0/+16
| | | | | | | | | | | | | | On x86-32, structure return via sret lets the callee pop the hidden pointer argument off the stack, which the caller then re-pushes. However if the calling convention is fastcc, then a register is used instead, and the caller should not adjust the stack. This is implemented with a check of IsTailCallConvention X86TargetLowering::LowerCall but is now checked properly in X86FastISel::DoSelectCall. (this time, actually commit what was reviewed!) llvm-svn: 155825
* Don't introduce illegal types when creating vmull operations. <rdar://11324364>Bob Wilson2012-04-302-1/+77
| | | | | | | | ARM BUILD_VECTORs created after type legalization cannot use i8 or i16 operands, since those types are not legal. Instead use i32 operands, which will be implicitly truncated by the BUILD_VECTOR to match the element type. llvm-svn: 155824
* Restore paren, bracket and brace counts in parser whenDouglas Gregor2012-04-302-0/+266
| | | | | | | TentativeParsingAction is reverted, from Pasi Parviainen! Fixes PR12480 / <rdar://problem/11341251>. llvm-svn: 155823
* It doesn't make sense to move symbol relocations to section relocations whenEli Bendersky2012-04-302-26/+27
| | | | | | | | | relocations are resolved. It's much more reasonable to do this decision when relocations are just being added - we have all the information at that point. Also a bit of renaming and extra comments to clarify extensions. llvm-svn: 155819
* Just mark the sign bit as known zero, rather than any other irrelevant bitsDuncan Sands2012-04-302-1/+13
| | | | | | known zero in the LHS. Fixes PR12541. llvm-svn: 155818
* Second attempt at PR12573:Bill Wendling2012-04-304-14/+131
| | | | | | | | | | | Allow the "SplitCriticalEdge" function to split the edge to a landing pad. If the pass is *sure* that it thinks it knows what it's doing, then it may go ahead and specify that the landing pad can have its critical edge split. The loop unswitch pass is one of these passes. It will split the critical edges of all edges coming from a loop to a landing pad not within the loop. Doing so will retain important loop analysis information, such as loop simplify. llvm-svn: 155817
* Use an ArrayRef instead of explicit vector type.Bill Wendling2012-04-301-8/+5
| | | | llvm-svn: 155816
* Code cleanup in RuntimeDyld:Eli Bendersky2012-04-304-72/+95
| | | | | | | | | - Add comments - Change field names to be more reasonable - Fix indentation and naming to conform to coding conventions - Remove unnecessary includes / replace them by forward declatations llvm-svn: 155815
* Remove hack from r154987. The problem persists even with it, so it's not ↵Bill Wendling2012-04-301-11/+1
| | | | | | even a good hack. llvm-svn: 155813
* No need to normalize index before calling Extract128BitVectorCraig Topper2012-04-301-12/+11
| | | | llvm-svn: 155811
* Copied all the VEX prefix encoding code from X86MCCodeEmitter to the x86 JIT ↵Pete Cooper2012-04-302-97/+534
| | | | | | emitter. Needs some major refactoring as these two code emitters are almost identical llvm-svn: 155810
* Make sure HoistInsertPosition finds a position that is dominated by allRafael Espindola2012-04-302-1/+35
| | | | | | inputs. llvm-svn: 155809
OpenPOWER on IntegriCloud