summaryrefslogtreecommitdiffstats
path: root/clang/lib
Commit message (Collapse)AuthorAgeFilesLines
* Added support for address spaces and added a isVolatile field to memcpy, ↵Mon P Wang2010-03-306-48/+89
| | | | | | memmove, and memset llvm-svn: 99930
* Improve diagnostics when printing a template instantiation backtraceDouglas Gregor2010-03-301-2/+14
| | | | | | | | | | involving substitution of deduced template arguments into a class template partial specialization or function template, or when substituting explicitly-specific template arguments into a function template. We now print the actual deduced argument bindings so the user can see what got deduced. llvm-svn: 99923
* RegionStore: specially handle loads from integer global variables declared ↵Ted Kremenek2010-03-301-1/+16
| | | | | | | | 'const'. Fixes a false positive reported in PR 6288. llvm-svn: 99922
* Use 'const Optional<SVal>&' to avoid an extra copy.Ted Kremenek2010-03-301-8/+8
| | | | llvm-svn: 99921
* the big refactoring bits of PR3782.Rafael Espindola2010-03-3029-191/+195
| | | | | | | | This introduces FunctionType::ExtInfo to hold the calling convention and the noreturn attribute. The next patch will extend it to include the regparm attribute and fix the bug. llvm-svn: 99920
* Introduce new AST statistics that keep track of the number of isa (orDouglas Gregor2010-03-304-0/+28
| | | | | | | | | | | | | | | | | | | | | dyn_cast) invocations for C++ and Objective-C types, declarations, expressions, and statements. The statistics will be printed when -print-stats is provided to Clang -cc1, with results such as: 277073 clang - Number of checks for C++ declaration nodes 13311 clang - Number of checks for C++ expression nodes 18 clang - Number of checks for C++ statement nodes 174182 clang - Number of checks for C++ type nodes 92300 clang - Number of checks for Objective-C declaration nodes 9800 clang - Number of checks for Objective-C expression nodes 7 clang - Number of checks for Objective-C statement nodes 65733 clang - Number of checks for Objective-C type nodes The statistics are only gathered when NDEBUG is not defined, since they introduce potentially-expensive operations into very low-level routines (isa). llvm-svn: 99912
* Change the analyzer to recognize (but ignore) assignments to isa. Fixes PR ↵Ted Kremenek2010-03-301-0/+5
| | | | | | 6302. llvm-svn: 99904
* Add Support for 'warn_unused_result" attribute onFariborz Jahanian2010-03-303-7/+26
| | | | | | objective-c methods. (radar 7418262). llvm-svn: 99903
* Don't produce a vtable if we are just instantiating a method and theRafael Espindola2010-03-301-3/+12
| | | | | | | | class has no key function. Fix PR6738. llvm-svn: 99900
* Teach Clang's -cc1 option -print-stats to print LLVM statistics.Douglas Gregor2010-03-301-0/+4
| | | | llvm-svn: 99894
* Fix a bug where we would incorrectly report an error about initializing two ↵Anders Carlsson2010-03-301-11/+14
| | | | | | fields in an anonymous struct. llvm-svn: 99891
* Reduce nesting.Anders Carlsson2010-03-301-15/+15
| | | | llvm-svn: 99889
* Replace some constant-sized SmallVectors.Benjamin Kramer2010-03-302-14/+11
| | | | llvm-svn: 99884
* Remove the old vtable layout code.Anders Carlsson2010-03-308-1360/+0
| | | | llvm-svn: 99869
* Remove UseNewVTableCode checks.Anders Carlsson2010-03-302-44/+7
| | | | llvm-svn: 99868
* Use the new function in EmitClassAggrMemberwiseCopy, fixing the same assert ↵Anders Carlsson2010-03-301-15/+2
| | | | | | as seen in PR6628 but for arrays this time. llvm-svn: 99867
* Factor emitting a call to a copy constructor out into a separate function.Anders Carlsson2010-03-302-43/+57
| | | | llvm-svn: 99866
* Introduce a CXXTemporariesCleanupScope RAII object and use it to cleanup the ↵Anders Carlsson2010-03-303-33/+49
| | | | | | temporaries code. llvm-svn: 99865
* Handle default arguments when calling copy constructors for bases or members ↵Anders Carlsson2010-03-301-0/+20
| | | | | | when synthesizing a copy constructor. Fixes PR6628. llvm-svn: 99864
* Flip the switch and use the new vtable layout code for everything. I've ↵Anders Carlsson2010-03-301-1/+1
| | | | | | verified that this passes a self-host but I'll let the bots self host as well before removing the now dead code. llvm-svn: 99861
* Cache results computed by CGDebugInfo::getOrCreateFile() in a DenseMap.Ted Kremenek2010-03-302-3/+22
| | | | | | This reduces '-c -g' time on one file in 403.gcc by 12%. llvm-svn: 99857
* When copying a partial diagnostic into a DependentDiagnostic, allocateDouglas Gregor2010-03-291-13/+6
| | | | | | | | | storage for that partial diagnostic via the ASTContext's BumpPtrAllocator rather than using up slots in the ASTContext's cache. Now that we do this, we don't have to worry about destroying dependent diagnostics when destroying a DependentStoredDeclsMap. llvm-svn: 99854
* Optimize PartialDiagnostic's memory-allocation behavior by placing aDouglas Gregor2010-03-2912-64/+105
| | | | | | | | | | | | | | cache of PartialDiagnostic::Storage objects into an allocator within the ASTContext. This eliminates a significant amount of malloc traffic, for a 10% performance improvement in -fsyntax-only wall-clock time with 403.gcc's combine.c. Also, eliminate the RequireNonAbstractType hack I put in earlier, which was but a symptom of this larger problem. Fixes <rdar://problem/7806091>. llvm-svn: 99849
* Exit early from the simple form of Sema::RequireNonAbstractType(), forDouglas Gregor2010-03-291-0/+3
| | | | | | a 2.47% speedup in 403.gcc. llvm-svn: 99830
* When collecting virtual bases it's very important to use the canonical type ↵Anders Carlsson2010-03-291-3/+3
| | | | | | of the base class. Otherwise, we might add the same virtual base class twice if the virtual base is an instantiated template. Fixes PR6251. llvm-svn: 99829
* Remove FIXME comment.Ted Kremenek2010-03-291-1/+0
| | | | llvm-svn: 99828
* Change 'TypeCache' from being an std::map to a llvm::DenseMap. This reduces ↵Ted Kremenek2010-03-292-2/+2
| | | | | | | | codegen time on one .i file from 403.gcc by 0.5%. llvm-svn: 99823
* add support for -MQ flag to quote targets in dependency file,Chris Lattner2010-03-291-6/+52
| | | | | | PR6661, patch by Ori Avtalion! llvm-svn: 99821
* emit signed integer subtractions as 'sub nsw', patch byChris Lattner2010-03-291-0/+5
| | | | | | Anton Yartsev! llvm-svn: 99817
* Another vtable layout fix, making us match gcc better.Anders Carlsson2010-03-291-2/+9
| | | | llvm-svn: 99812
* Support __attribute__((packed)) (along with other attributes) at theDouglas Gregor2010-03-293-5/+8
| | | | | | end of a struct/class/union in C++, from Justin Bogner! llvm-svn: 99811
* Handle pure virtual member functions.Anders Carlsson2010-03-291-16/+33
| | | | llvm-svn: 99807
* Fix a nasty bug in the virtual base computation which would lead to us ↵Anders Carlsson2010-03-291-49/+37
| | | | | | initializing virtual bases in the wrong order. llvm-svn: 99806
* Be a bit more consistent in using operator->Rafael Espindola2010-03-294-5/+5
| | | | | | | This patch moves some methods from QualType to Type and changes the users to use -> instead of . llvm-svn: 99805
* More vtable work - it's not possible to use the new vtable code for ↵Anders Carlsson2010-03-292-22/+78
| | | | | | everything by setting a flag inside CGVtable.cpp. My plan is to run some tests and bootstrap and once that's done flip the bit. llvm-svn: 99804
* Only add thunks for the most derived class. This fixes some link errors I ↵Anders Carlsson2010-03-291-2/+3
| | | | | | was seeing in files generated by the vtable tester utility. llvm-svn: 99801
* Flip the switch to always get vtables from the VTT when necessary, I've ↵Anders Carlsson2010-03-291-7/+3
| | | | | | verified that clang bootstraps with this. llvm-svn: 99800
* Use the newly added function in the VTT builder.Anders Carlsson2010-03-291-3/+2
| | | | llvm-svn: 99799
* Cleanup, no functionality change.Anders Carlsson2010-03-293-6/+18
| | | | llvm-svn: 99798
* Add the thunks needed by this vtable.Anders Carlsson2010-03-291-0/+11
| | | | llvm-svn: 99793
* Make sure to sort the vtable thunks by their vtable index :) With this we ↵Anders Carlsson2010-03-291-0/+3
| | | | | | now pass the test from http://www.codesourcery.com/public/cxx-abi/abi-examples.html#vtable-ctor successfully. llvm-svn: 99792
* Fix another thinko, so that flags don't depend on previous bases.Anders Carlsson2010-03-291-5/+7
| | | | llvm-svn: 99791
* When generating base ctors/dtors, we need to lookup virtual bases using the ↵Anders Carlsson2010-03-291-4/+15
| | | | | | vtable. llvm-svn: 99790
* Fix thinko.Anders Carlsson2010-03-291-1/+1
| | | | llvm-svn: 99788
* Use construction vtables when needed. This is currently guarded by ↵Anders Carlsson2010-03-291-5/+29
| | | | | | -fdump-vtable-layouts since it doesn't work 100% yet :) llvm-svn: 99787
* Two bug fixes, we weren't updating the thunk index when creating the vtable ↵Anders Carlsson2010-03-292-0/+9
| | | | | | initializer and we weren't storing the secondary virtual pointer indices. llvm-svn: 99786
* Reapply r99775 with a fix for a silly bug - we were setting the vtable ↵Anders Carlsson2010-03-282-51/+64
| | | | | | pointer for all bases, even those without a vtable pointer :) llvm-svn: 99777
* Looks like I broke self-host again :(.Anders Carlsson2010-03-282-59/+50
| | | | llvm-svn: 99776
* More improvements to setting the vtable pointer. We now no longer set the ↵Anders Carlsson2010-03-282-50/+59
| | | | | | vtable pointer for non-virtual primary bases. We also do a pre-order traversal of the class hierarchy; this is necessary in order to get the right vbase offset offsets in base ctors/dtors. llvm-svn: 99775
* Factor vtable pointer setting code out into a separate function.Anders Carlsson2010-03-282-22/+45
| | | | llvm-svn: 99773
OpenPOWER on IntegriCloud