|  | Commit message (Collapse) | Author | Age | Files | Lines | 
|---|
| ... |  | 
| | 
| 
| 
| | llvm-svn: 78946 | 
| | 
| 
| 
| 
| 
| 
| 
| | function in the order according to c++03. ir-gen 
for copy assignment in the trivial case and the first
test case.
llvm-svn: 78938 | 
| | 
| 
| 
| 
| 
| | WIP.
llvm-svn: 78841 | 
| | 
| 
| 
| 
| 
| 
| | copying in copy constructors and used in
default constructor's initializer list.
llvm-svn: 78700 | 
| | 
| 
| 
| 
| 
| | bunch of FIXMEs for their is-gen.
llvm-svn: 78623 | 
| | 
| 
| 
| | llvm-svn: 78515 | 
| | 
| 
| 
| | llvm-svn: 78448 | 
| | 
| 
| 
| | llvm-svn: 78402 | 
| | 
| 
| 
| 
| 
| | Work in progress.
llvm-svn: 78355 | 
| | 
| 
| 
| | llvm-svn: 78259 | 
| | 
| 
| 
| 
| 
| | add a fixme about C++ const.
llvm-svn: 78159 | 
| | 
| 
| 
| 
| 
| | common linkage.
llvm-svn: 78158 | 
| | 
| 
| 
| | llvm-svn: 78001 | 
| | 
| 
| 
| | llvm-svn: 77916 | 
| | 
| 
| 
| | llvm-svn: 77915 | 
| | 
| 
| 
| 
| 
| | serious issues :)
llvm-svn: 77800 | 
| | 
| 
| 
| | llvm-svn: 77722 | 
| | 
| 
| 
| 
| 
| | been declared as needed.
llvm-svn: 77641 | 
| | 
| 
| 
| | llvm-svn: 77638 | 
| | 
| 
| 
| | llvm-svn: 77514 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | Type::getAsReferenceType() -> Type::getAs<ReferenceType>()
  Type::getAsRecordType() -> Type::getAs<RecordType>()
  Type::getAsPointerType() -> Type::getAs<PointerType>()
  Type::getAsBlockPointerType() -> Type::getAs<BlockPointerType>()
  Type::getAsLValueReferenceType() -> Type::getAs<LValueReferenceType>()
  Type::getAsRValueReferenceType() -> Type::getAs<RValueReferenceType>()
  Type::getAsMemberPointerType() -> Type::getAs<MemberPointerType>()
  Type::getAsReferenceType() -> Type::getAs<ReferenceType>()
  Type::getAsTagType() -> Type::getAs<TagType>()
  
And remove Type::getAsReferenceType(), etc.
This change is similar to one I made a couple weeks ago, but that was partly
reverted pending some additional design discussion. With Doug's pending smart
pointer changes for Types, it seemed natural to take this approach.
llvm-svn: 77510 | 
| | 
| 
| 
| | llvm-svn: 77492 | 
| | 
| 
| 
| | llvm-svn: 77349 | 
| | 
| 
| 
| | llvm-svn: 77267 | 
| | 
| 
| 
| | llvm-svn: 77012 | 
| | 
| 
| 
| 
| 
| 
| 
| | - Steve, can you take a look at this? It seems like this code should live
   elsewhere, and there is a FIXME about having Sema validates the UTF-8 to
   UTF-16 conversion.
llvm-svn: 76915 | 
| | 
| 
| 
| | llvm-svn: 76908 | 
| | 
| 
| 
| | llvm-svn: 76897 | 
| | 
| 
| 
| | llvm-svn: 76885 | 
| | 
| 
| 
| 
| 
| 
| 
| | llvm.used, just
populate CGM's list directly.
llvm-svn: 76266 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| | until Doug Gregor's Type smart pointer code lands (or more discussion occurs).
These methods just call the new Type::getAs<XXX> methods, so we still have
reduced implementation redundancy. Having explicit getAsXXXType() methods makes
it easier to set breakpoints in the debugger.
llvm-svn: 76193 | 
| | 
| 
| 
| 
| 
| | Type::getAsMemberPointerType(), Type::getAsTagType(), and Type::getAsRecordType() with their Type::getAs<XXX> equivalents.
llvm-svn: 76139 | 
| | 
| 
| 
| 
| 
| 
| | instead of doing it manually (which might end up getting auto-renamed),
fixing a FIXME. rdar://7065446
llvm-svn: 76079 | 
| | 
| 
| 
| 
| 
| | some target hooks.
llvm-svn: 75895 | 
| | 
| 
| 
| | llvm-svn: 75705 | 
| | 
| 
| 
| | llvm-svn: 75684 | 
| | 
| 
| 
| | llvm-svn: 75589 | 
| | 
| 
| 
| | llvm-svn: 75446 | 
| | 
| 
| 
| | llvm-svn: 75028 | 
| | 
| 
| 
| | llvm-svn: 74986 | 
| | 
| 
| 
| 
| 
| 
| | Remove ASTContext parameter from DeclContext's methods. This change cascaded down to other Decl's methods and changes to call sites started "escalating".
Timings using pre-tokenized "cocoa.h" showed only a ~1% increase in time run between and after this commit.
llvm-svn: 74506 | 
| | 
| 
| 
| 
| 
| 
| 
| | subclasses.
Timings showed no significant difference before and after the commit.
llvm-svn: 74504 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| | The implementations of these methods can Use Decl::getASTContext() to get the ASTContext.
This commit touches a lot of files since call sites for these methods are everywhere.
I used pre-tokenized "carbon.h" and "cocoa.h" headers to do some timings, and there was no real time difference between before the commit and after it.
llvm-svn: 74501 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | - Track implicit instantiations vs. the not-yet-supported explicit
  specializations
  - Give implicit instantiations of function templates (and member
  functions of class templates) linkonce_odr linkage.
  - Improve name mangling for function template specializations,
  including the template arguments of the instantiation and the return
  type of the function.
Note that our name-mangling is improved, but not correct: we still
don't mangle substitutions, although the manglings we produce can be
demangled.
llvm-svn: 74466 | 
| | 
| 
| 
| 
| 
| 
| | redundant, implicit instantiations of function templates and provide a
place where we can hang function template specializations.
llvm-svn: 74454 | 
| | 
| 
| 
| 
| 
| | FunctionTemplateSpecializationInfo, in DeclTemplate.h. No functionality change.
llvm-svn: 74431 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| | variables in ObjC's Next runtime mode. Next runtime also implicitly applies
'used' attribute on some of its meta-data. This results in two 
'llvm.used' arrays to be generated, and one of them is renamed to
'llvm.used1'.
llvm-svn: 74008 | 
| | 
| 
| 
| | llvm-svn: 73812 | 
| | 
| 
| 
| | llvm-svn: 73702 | 
| | 
| 
| 
| | llvm-svn: 73651 |