summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
...
* Remove ASTContext::isObjCObjectPointerType().Steve Naroff2009-07-163-3/+3
| | | | | | Convert all clients to use the new predicate on Type. llvm-svn: 76076
* codegen string literals using private linkage now like llvm-gcc, eliminatingChris Lattner2009-07-161-15/+17
| | | | | | some target hooks. llvm-svn: 75895
* Update for LLVM API change.Owen Anderson2009-07-161-1/+1
| | | | llvm-svn: 75869
* Lexically order files in CMakeLists.txt files.Ted Kremenek2009-07-151-3/+3
| | | | llvm-svn: 75832
* Implement the ObjC pseudo built-in types as clang "BuiltinType's". I say ↵Steve Naroff2009-07-152-0/+4
| | | | | | | | | | | | pseudo built-in types, since Sema still injects a typedef for recognition (i.e. they aren't truly built-ins from a parser perspective). This removes the static data/methods on ObjCObjectPointerType while preserving the nice API (no need to fiddle with ASTContext:-). This patch also adds Type::isObjCBuiltinType(). This should be the last fairly large patch related to recrafting the ObjC type system. The follow-on patches should be fairly small. llvm-svn: 75808
* Update for LLVM API change, and contextify a bunch of related stuff.Owen Anderson2009-07-1420-815/+916
| | | | llvm-svn: 75705
* Revert 75648 for now. It is causing test failures.Devang Patel2009-07-143-28/+8
| | | | llvm-svn: 75684
* Introduce Type::isAnyPointerType() and convert all clients (suggested by Chris).Steve Naroff2009-07-141-1/+1
| | | | | | I don't love the name, however it simplifies the code and is a worthwhile change. If/when we come up with a better name, we can do a search/replace. llvm-svn: 75650
* [llvm up] adjust to match mainline.Chris Lattner2009-07-141-3/+4
| | | | llvm-svn: 75647
* Rename RecordLayout.h to ASTRecordLayout.hAnders Carlsson2009-07-146-6/+5
| | | | llvm-svn: 75641
* Revert r75614 which depend on r75610 (for LLVM), which was reverted.Daniel Dunbar2009-07-141-4/+3
| | | | | | | --- Reverse-merging r75614 into '.': U lib/CodeGen/CGDebugInfo.cpp llvm-svn: 75639
* Basic support for C++0x unicode types. Support for literals will follow in ↵Alisdair Meredith2009-07-142-2/+6
| | | | | | an incremental patch llvm-svn: 75622
* use new name for method.Chris Lattner2009-07-141-3/+4
| | | | llvm-svn: 75614
* Use LLVM mangler to get mangled name for debug info entry.Devang Patel2009-07-143-8/+27
| | | | llvm-svn: 75589
* Update debug info generation for ObjCObjectPointer changes.Daniel Dunbar2009-07-142-5/+17
| | | | | | | | | - Previously this would crash on recursive types, and it was also incorrectly stripping off a level of indirection. - I'm not 100% convinced this is all correct, but it should be a monotonic improvment. llvm-svn: 75582
* Update for API change.Owen Anderson2009-07-141-1/+1
| | | | llvm-svn: 75569
* Fix 5 issues from Chris's feedback on ↵Steve Naroff2009-07-131-1/+0
| | | | | | | | http://llvm.org/viewvc/llvm-project?view=rev&revision=75314. Still more to come...just wanted to get the no-brainers out of the way. llvm-svn: 75477
* Update debug info type cache after fwd decl is replaced by real decl.Devang Patel2009-07-131-2/+6
| | | | llvm-svn: 75473
* Fix comment.Devang Patel2009-07-131-1/+1
| | | | llvm-svn: 75471
* Update for LLVM API change.Owen Anderson2009-07-1315-82/+97
| | | | llvm-svn: 75446
* Fix type conversion of ObjCObjectPointerType.Daniel Dunbar2009-07-111-6/+7
| | | | | | | - Previous code was based on a misunderstanding (on my part) of the type representation. llvm-svn: 75385
* Generate correct prototype for objc_enumerationMutation.Daniel Dunbar2009-07-111-4/+7
| | | | | | - This was a latent bug exposed by the recent objc type changes. llvm-svn: 75383
* Fix typo (found by gcc warning).Eli Friedman2009-07-111-1/+1
| | | | llvm-svn: 75325
* This patch includes a conceptually simple, but very intrusive/pervasive change. Steve Naroff2009-07-108-40/+57
| | | | | | | | | | | | The idea is to segregate Objective-C "object" pointers from general C pointers (utilizing the recently added ObjCObjectPointerType). The fun starts in Sema::GetTypeForDeclarator(), where "SomeInterface *" is now represented by a single AST node (rather than a PointerType whose Pointee is an ObjCInterfaceType). Since a significant amount of code assumed ObjC object pointers where based on C pointers/structs, this patch is very tedious. It should also explain why it is hard to accomplish this in smaller, self-contained patches. This patch does most of the "heavy lifting" related to moving from PointerType->ObjCObjectPointerType. It doesn't include all potential "cleanups". The good news is additional cleanups can be done later (some are noted in the code). This patch is so large that I didn't want to include any changes that are purely aesthetic. By making the ObjC types truly built-in, they are much easier to work with (and require fewer "hacks"). For example, there is no need for ASTContext::isObjCIdStructType() or ASTContext::isObjCClassStructType()! We believe this change (and the follow-up cleanups) will pay dividends over time. Given the amount of code change, I do expect some fallout from this change (though it does pass all of the clang tests). If you notice any problems, please let us know asap! Thanks. llvm-svn: 75314
* Fix a problem that Eli noticed, and that Doug helped me fix.Anders Carlsson2009-07-101-2/+2
| | | | llvm-svn: 75265
* Update for IRBuilder API change.Owen Anderson2009-07-082-1/+2
| | | | llvm-svn: 75041
* Update for LLVM API change.Owen Anderson2009-07-087-183/+122
| | | | llvm-svn: 75028
* Implement code generation of ChooseExpr for aggregate types.Anders Carlsson2009-07-081-0/+5
| | | | llvm-svn: 75021
* Update for LLVM API change.Owen Anderson2009-07-087-56/+94
| | | | llvm-svn: 74986
* Implemented memmove_collectable API for Next runtimeFariborz Jahanian2009-07-085-0/+73
| | | | | | | when struct variables with GC'able members are copied into. Will provide a test case later. llvm-svn: 74984
* reimplement vector comparisons as [fi]cmp+sext instead of using v[if]cmp.Chris Lattner2009-07-081-19/+10
| | | | | | | Also, enable them in sema so that they are tested, and now that the x86 backend has stablized. llvm-svn: 74983
* Keep track of the Expr used to describe the size of an array type,Douglas Gregor2009-07-061-0/+2
| | | | | | from Enea Zaffanella! llvm-svn: 74831
* This fixes the case where the wrong symbol is emitted leading to linking ↵Fariborz Jahanian2009-07-031-4/+9
| | | | | | | | errors when you reference a class before defining it (GNU runtime). Patch by David Chisnall. llvm-svn: 74772
* Update for changes in LLVM. Hopefully this is the last one for a while.Owen Anderson2009-07-011-2/+2
| | | | llvm-svn: 74657
* Hold the LLVMContext by reference instead of by pointer.Owen Anderson2009-07-011-2/+2
| | | | llvm-svn: 74642
* Update for LLVMContext+Module change.Owen Anderson2009-07-011-4/+6
| | | | llvm-svn: 74615
* use new and simplified LLVM APIs. Patch by Jay Foad!Chris Lattner2009-07-012-6/+3
| | | | llvm-svn: 74585
* De-ASTContext-ify DeclContext.Argyrios Kyrtzidis2009-06-3010-99/+73
| | | | | | | 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
* Remove the ASTContext parameter from the getBody() methods of Decl and ↵Argyrios Kyrtzidis2009-06-303-5/+5
| | | | | | | | subclasses. Timings showed no significant difference before and after the commit. llvm-svn: 74504
* Remove the ASTContext parameter from the attribute-related methods of Decl.Argyrios Kyrtzidis2009-06-309-49/+49
| | | | | | | | | 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
* Key decisions about 'bool' vs '_Bool' to be based on a new flag in langoptions.Chris Lattner2009-06-301-1/+1
| | | | | | | | | | | | This is simple enough, but then I thought it would be nice to make PrintingPolicy get a LangOptions so that various things can key off "bool" and "C++" independently. This spiraled out of control. There are many fixme's, but I think things are slightly better than they were before. One thing that can be improved: CFG should probably have an ASTContext pointer in it, which would simplify its clients. llvm-svn: 74493
* Improve code generation for function template specializations:Douglas Gregor2009-06-293-6/+43
| | | | | | | | | | | | | | | | - 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
* Keep track of function template specializations, to eliminateDouglas Gregor2009-06-291-0/+2
| | | | | | | redundant, implicit instantiations of function templates and provide a place where we can hang function template specializations. llvm-svn: 74454
* Move FunctionDecl::TemplateSpecializationInfo out into its own class,Douglas Gregor2009-06-291-0/+10
| | | | | | FunctionTemplateSpecializationInfo, in DeclTemplate.h. No functionality change. llvm-svn: 74431
* Make the StackProtector bitfield use enums instead of obscure numbers.Bill Wendling2009-06-281-2/+2
| | | | llvm-svn: 74414
* Add stack protector support to clang. This generates the 'ssp' and 'sspreq'Bill Wendling2009-06-281-0/+5
| | | | | | | | function attributes. There are predefined macros that are defined when stack protectors are used: __SSP__=1 with -fstack-protector and __SSP_ALL__=2 with -fstack-protector-all. llvm-svn: 74405
* OpenCL 1.0 Support: fix a bug with lvalue swizzlesNate Begeman2009-06-261-3/+4
| | | | llvm-svn: 74324
* Implement enough of the 'auto' keyword so we can claim to support N2546.Anders Carlsson2009-06-261-0/+3
| | | | llvm-svn: 74307
* typoDevang Patel2009-06-261-1/+1
| | | | llvm-svn: 74305
* Revrt PR4228 fix for now.Devang Patel2009-06-262-43/+21
| | | | llvm-svn: 74304
OpenPOWER on IntegriCloud