summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* IRGen: Move the auxiliary data structures tracking AST -> LLVM mappings out ↵Daniel Dunbar2010-03-317-76/+75
| | | | | | | | of CodeGenTypes, to per-record CGRecordLayout structures. - I did a cursory check that this was perf neutral, FWIW. llvm-svn: 99978
* CGRecordLayoutBuilder: Switch unions to use same mechanism for tracking ↵Daniel Dunbar2010-03-311-3/+4
| | | | | | | | field and bit-field info as structs. - Anders, please check. llvm-svn: 99977
* Replace V_SET0 with variants for each SSE execution domain.Jakob Stoklund Olesen2010-03-319-22/+34
| | | | llvm-svn: 99975
* Fix typo. Thank you, valgrind.Jakob Stoklund Olesen2010-03-312-2/+2
| | | | llvm-svn: 99974
* Add a few asserts to be on the safe side.Argyrios Kyrtzidis2010-03-311-0/+13
| | | | llvm-svn: 99973
* Don't skip past the '}' if an expression has error and is not followed by ';'.Argyrios Kyrtzidis2010-03-313-4/+10
| | | | llvm-svn: 99972
* Drastically simplify the computation of linkage for typeinfo by usingDouglas Gregor2010-03-312-75/+13
| | | | | | | | the existing (and already well-tested) linkage computation for types, with minor tweaks for dynamic classes and (pointers to) incomplete types. Fixes PR6597. llvm-svn: 99968
* IRGen: Hide CGRecordLayoutBuilder class, because I can.Daniel Dunbar2010-03-316-183/+145
| | | | llvm-svn: 99967
* Remove silly temporary comment.John McCall2010-03-301-2/+0
| | | | llvm-svn: 99964
* Introduce a new kind of derived-to-base cast which bypasses the need forJohn McCall2010-03-307-4/+56
| | | | | | | null checks, and make sure we elide null checks when accessing base class members. llvm-svn: 99963
* Slightly relax test case. An upcoming LLVM commit will change the xor ↵Jakob Stoklund Olesen2010-03-301-1/+1
| | | | | | instruction. llvm-svn: 99962
* Fix test in -Asserts build.Daniel Dunbar2010-03-301-1/+1
| | | | llvm-svn: 99960
* Not all platforms start symbols with _Jakob Stoklund Olesen2010-03-302-6/+6
| | | | llvm-svn: 99959
* Fix a major source of compile-time slowness at -O0 -g by optimizingChris Lattner2010-03-306-17/+60
| | | | | | | | | | | | | | the storage of !dbg metadata kinds in the instruction themselves. The on-the-side hash table works great for metadata that not-all instructions get, or for metadata that only exists when optimizing. But when compile-time is everything, it isn't great. I'm not super thrilled with the fact that this plops a TrackingVH in Instruction, because it grows it by 3 words. I'm investigating alternatives, but this should be a step in the right direction in any case. llvm-svn: 99957
* Enable -sse-domain-fix by default. Now with tests!Jakob Stoklund Olesen2010-03-3010-51/+60
| | | | llvm-svn: 99954
* V_SETALLONES is an integer instruction.Jakob Stoklund Olesen2010-03-301-1/+1
| | | | | | | Since it is just a pxor in disguise, we should probably expand it to a full polymorphic triple. llvm-svn: 99953
* Renumber SSE execution domains for better code size.Jakob Stoklund Olesen2010-03-303-24/+21
| | | | | | | | SSEDomainFix will collapse to the domain with the lower number when it has a choice. The SSEPackedSingle domain often has smaller instructions, so prefer that. llvm-svn: 99952
* Recognize __attribute__((NSObject)) directly appliedFariborz Jahanian2010-03-303-7/+17
| | | | | | on retain properties. (radar 7809468). llvm-svn: 99951
* Revert Mon Ping's 99930 due to broken llvm-gcc buildbots.Bob Wilson2010-03-3010-99/+56
| | | | llvm-svn: 99949
* Revert Mon Ping's change 99928, since it broke all the llvm-gcc buildbots.Bob Wilson2010-03-3027-313/+144
| | | | llvm-svn: 99948
* Formatting tweaks.Daniel Dunbar2010-03-301-4/+4
| | | | llvm-svn: 99947
* IRGen: Narrow getCGRecordLayout type.Daniel Dunbar2010-03-302-2/+2
| | | | llvm-svn: 99946
* IRgen: Move CGRecordLayout to its own happy little file.Daniel Dunbar2010-03-305-30/+52
| | | | llvm-svn: 99945
* Minor formatting/FIXME cleanups.Daniel Dunbar2010-03-303-5/+2
| | | | llvm-svn: 99944
* Fix an oversight with access control for address-of-function.John McCall2010-03-301-0/+1
| | | | llvm-svn: 99942
* Remember the regparm attribute in FunctionType::ExtInfo.Rafael Espindola2010-03-3012-35/+118
| | | | | | Fixes PR3782. llvm-svn: 99940
* When "delayed parsing" C++ default arguments, if there is an error, there ↵Argyrios Kyrtzidis2010-03-302-0/+21
| | | | | | | | | | | | may be tokens left in the token stream that will interfere (they will be parsed as if they are after the class' '}') and a crash will occur because the CachedTokens that holds them will be deleted while the lexer is still using them. Make sure that the tokens of default args are removed from the token stream. Fixes PR6647. llvm-svn: 99939
* Ignore invalid metadata.Devang Patel2010-03-302-0/+32
| | | | llvm-svn: 99938
* Add a test for C++ [stmt.select]p3, which specifies that redeclaring aDouglas Gregor2010-03-301-0/+11
| | | | | | | | name in the outermost block of a if/else that declares the same name is ill-formed. Turns out that Clang and MSVC were right about PR6739; GCC is too lax. llvm-svn: 99937
* Propagate the "found declaration" (i.e. the using declaration instead ofJohn McCall2010-03-3016-149/+338
| | | | | | | | | | | | | the underlying/instantiated decl) through a lot of API, including "intermediate" MemberExprs required for (e.g.) template instantiation. This is necessary because of the access semantics of member accesses to using declarations: only the base class *containing the using decl* need be accessible from the naming class. This allows us to complete an access-controlled selfhost, if there are no recent regressions. llvm-svn: 99936
* Revert "Enable -sse-domain-fix by default. What could possibly go wrong?"Jakob Stoklund Olesen2010-03-301-1/+6
| | | | | | Not running 'make check-all' before committing is a bad idea. llvm-svn: 99933
* Fix this test on windows. When running on windows we printRafael Espindola2010-03-301-1/+1
| | | | | | | | double 0.000000e+000 instead of double 0.000000e+00 llvm-svn: 99932
* Enable -sse-domain-fix by default. What could possibly go wrong?Jakob Stoklund Olesen2010-03-301-6/+1
| | | | llvm-svn: 99931
* Added support for address spaces and added a isVolatile field to memcpy, ↵Mon P Wang2010-03-3010-56/+99
| | | | | | memmove, and memset llvm-svn: 99930
* Added support for address spaces and added a isVolatile field to memcpy, ↵Mon P Wang2010-03-3027-144/+313
| | | | | | | | | memmove, and memset, e.g., llvm.memcpy.i32(i8*, i8*, i32, i32) -> llvm.memcpy.p0i8.p0i8.i32(i8*, i8*, i32, i32, i1) A update of langref will occur in a subsequent checkin. llvm-svn: 99928
* move some method definitions to files that make sense.Chris Lattner2010-03-303-55/+54
| | | | llvm-svn: 99927
* Improve diagnostics when printing a template instantiation backtraceDouglas Gregor2010-03-303-7/+19
| | | | | | | | | | 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-302-1/+51
| | | | | | | | '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-3034-253/+279
| | | | | | | | 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 SpecificBumpPtrAllocator, a wrapper for BumpPtrAllocator which allowsBenjamin Kramer2010-03-309-49/+58
| | | | | | | only a single type of object to be allocated. Use it to make VNInfo destruction typesafe. llvm-svn: 99919
* Typo noticed by Duncan.Torok Edwin2010-03-301-1/+1
| | | | llvm-svn: 99918
* Fix a grammaro.Dan Gohman2010-03-304-5/+5
| | | | llvm-svn: 99917
* Add cross-block inference to SSEDomainFix.Jakob Stoklund Olesen2010-03-301-29/+85
| | | | llvm-svn: 99916
* Fix llvm-ld to clean up its output files in case of an error.Dan Gohman2010-03-302-38/+59
| | | | llvm-svn: 99915
* fix two cases where the arguments were extracted from the wrong range out of ↵Gabor Greif2010-03-301-3/+3
| | | | | | | | the InvokeInst spotted by baldrick -- thanks\! llvm-svn: 99914
* Introduce new AST statistics that keep track of the number of isa (orDouglas Gregor2010-03-3017-1/+234
| | | | | | | | | | | | | | | | | | | | | 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
* Remove the pmulld intrinsic and autoupdate it as a vector multiply.Eric Christopher2010-03-308-7/+58
| | | | | | | Rewrite the pmulld patterns, and make sure that they fold in loads of arguments into the instruction. llvm-svn: 99910
* Change the analyzer to recognize (but ignore) assignments to isa. Fixes PR ↵Ted Kremenek2010-03-302-0/+15
| | | | | | 6302. llvm-svn: 99904
* Add Support for 'warn_unused_result" attribute onFariborz Jahanian2010-03-305-11/+39
| | | | | | objective-c methods. (radar 7418262). llvm-svn: 99903
OpenPOWER on IntegriCloud