summaryrefslogtreecommitdiffstats
path: root/clang/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix a typo.Lauro Ramos Venancio2008-01-221-1/+1
| | | | llvm-svn: 46259
* Implement bitfield write.Lauro Ramos Venancio2008-01-222-2/+38
| | | | llvm-svn: 46258
* Implement bitfield read.Lauro Ramos Venancio2008-01-223-14/+73
| | | | llvm-svn: 46257
* Fix two bugs in bitfield codegen.Lauro Ramos Venancio2008-01-221-2/+2
| | | | llvm-svn: 46255
* Simplify the bitfield codegen.Lauro Ramos Venancio2008-01-212-186/+104
| | | | llvm-svn: 46230
* Assert that the type of the cast is equal to the _unqualified_ type of the ↵Anders Carlsson2008-01-181-1/+1
| | | | | | subexpression. Fixes a problem spotted by Nuno Lopes. llvm-svn: 46158
* Match change in EmitCallExprNate Begeman2008-01-171-2/+2
| | | | llvm-svn: 46136
* Fix for EmitCallExpr changed in OverloadExpr patchNate Begeman2008-01-171-1/+1
| | | | llvm-svn: 46135
* Implement basic overload support via a new builtin, __builtin_overload.Nate Begeman2008-01-174-23/+32
| | | | | | | | | | | | | | | | | | | | | | | | __builtin_overload takes 2 or more arguments: 0) a non-zero constant-expr for the number of arguments the overloaded functions will take 1) the arguments to pass to the matching overloaded function 2) a list of functions to match. The return type of __builtin_overload is inferred from the function whose args match the types of the arguments passed to the builtin. For example: float a; float sinf(float); int sini(int); float b = __builtin_overload(1, a, sini, sinf); Says that we are overloading functions that take one argument, and trying to pass an argument of the same type as 'a'. sini() does not match since it takes and argument of type int. sinf does match, so at codegen time this will turn into float b = sinf(a); llvm-svn: 46132
* Add codegen upport for implicit casts to aggregate exprs.Anders Carlsson2008-01-141-1/+11
| | | | llvm-svn: 45954
* Fix the type of predefined identifiers like __func__. Patch byChris Lattner2008-01-121-3/+0
| | | | | | Eli Friedman! llvm-svn: 45906
* Add first pieces of support for parsing and representing Chris Lattner2008-01-123-0/+25
| | | | | | extern "C" in C++ mode. Patch by Mike Stump! llvm-svn: 45904
* implement proper support for _Bool in memory, which is usually i8, not i1.Chris Lattner2008-01-094-8/+36
| | | | | | This fixes a crash reported by Seo Sanghyeon llvm-svn: 45778
* Substituted all instances of the string "Objc" for "ObjC". This fixesTed Kremenek2008-01-072-4/+4
| | | | | | | some naming inconsistencies in the names of classes pertaining to Objective-C support in clang. llvm-svn: 45715
* fix long lines.Chris Lattner2008-01-031-3/+3
| | | | llvm-svn: 45531
* Fix a crash reported by Seo Sanghyeon.Chris Lattner2008-01-032-4/+25
| | | | llvm-svn: 45530
* Allow implicit casts during arithmetic for OCUVector operationsNate Begeman2007-12-302-3/+14
| | | | | | Add codegen support and test for said casts. llvm-svn: 45443
* Allow codegen of vector fdivNate Begeman2007-12-301-1/+1
| | | | llvm-svn: 45440
* implement codegen support for most unary operators when Chris Lattner2007-12-291-1/+36
| | | | | | | initializing a global. This handles important cases like: float foo3 = -0.01f; llvm-svn: 45427
* remove attribution from makefiles.Chris Lattner2007-12-291-2/+2
| | | | llvm-svn: 45412
* Don't attribute in file headers anymore. See llvmdev for theChris Lattner2007-12-2915-30/+30
| | | | | | discussion of this change. llvm-svn: 45410
* Enable CodeGen for member expressions based on call expressions returning ↵Christopher Lamb2007-12-292-0/+10
| | | | | | aggregate types. This enables expressions like 'foo().member.submember'. llvm-svn: 45395
* Make MemberExpr code safe w.r.t. address spaces.Christopher Lamb2007-12-291-2/+2
| | | | llvm-svn: 45394
* No need to do work that the folding builder does for us.Anders Carlsson2007-12-261-37/+14
| | | | llvm-svn: 45361
* Remove broken assert from CodeGen. Better check is done in Sema.Seo Sanghyeon2007-12-261-4/+1
| | | | llvm-svn: 45358
* String literal in aggregate expressionSeo Sanghyeon2007-12-231-0/+1
| | | | llvm-svn: 45330
* Convert opaque type when struct definition is seen.Devang Patel2007-12-211-9/+37
| | | | llvm-svn: 45287
* Keep track of llvm struct size while adding fields.Devang Patel2007-12-211-16/+25
| | | | | | Update addPaddingFields() interface. llvm-svn: 45284
* Implement codegen for ordered comparison builtins.Chris Lattner2007-12-201-0/+36
| | | | llvm-svn: 45243
* local static vars are globals also. This fixes a testcaseChris Lattner2007-12-183-8/+10
| | | | | | reported by Seo. llvm-svn: 45156
* Turns out the LLVMFoldingBuilder can fold InsertElement. Knowing this, we ↵Anders Carlsson2007-12-181-49/+3
| | | | | | can get rid of our special casing of constants when creating vectors. llvm-svn: 45145
* introduce a new CodeGenModule::getIntrinsic method, which wraps Chris Lattner2007-12-183-73/+34
| | | | | | Intrinsic::getDeclaration, allowing much more terse code. llvm-svn: 45136
* Patch to implemented objective-c's dynamic object pointer qualified withFariborz Jahanian2007-12-171-0/+4
| | | | | | the protocol list (id<P,...> types). llvm-svn: 45121
* Make the insertion point with an explicit new instead of the builder.Chris Lattner2007-12-171-4/+6
| | | | llvm-svn: 45118
* add a hack so that codegen doesn't abort on missing sema of initializers, nowChris Lattner2007-12-171-1/+15
| | | | | | | | | | | | | | | we emit stuff like this: abort on missing sema of initializers, now we emit stuff like this: t3.c:1:24: warning: cannot codegen this initializer yet const char x[2][4] = { { 'a', 'b', '\0', '\0' }, { 'c', 'd', 'e', '\0' } }; ^~~~~~~~~~~~~~~~~~~~~~~~ This should be removed when sema is finished. llvm-svn: 45086
* Update to use new PointerType::getUnqual() api.Christopher Lamb2007-12-175-13/+19
| | | | llvm-svn: 45081
* Start generating SSE intrinsics.Anders Carlsson2007-12-161-2/+147
| | | | llvm-svn: 45079
* We now support all MMX intrinsics. SSE intrinsics are next.Anders Carlsson2007-12-153-1/+42
| | | | llvm-svn: 45062
* Simplify the vector code. Add more shift intrinsics.Anders Carlsson2007-12-141-38/+78
| | | | llvm-svn: 45035
* Array subscription in aggregate expressionSeo Sanghyeon2007-12-141-5/+7
| | | | llvm-svn: 45023
* Implement dereference operator in aggregate expressionSeo Sanghyeon2007-12-141-0/+1
| | | | llvm-svn: 45020
* minor cleanupsChris Lattner2007-12-131-4/+0
| | | | llvm-svn: 44996
* simplify some code.Chris Lattner2007-12-131-59/+39
| | | | llvm-svn: 44994
* Add assert to detect incomplete implementation work.Devang Patel2007-12-131-8/+13
| | | | llvm-svn: 44974
* builtin id 0 is invalid, don't use a slot for it.Chris Lattner2007-12-131-4/+6
| | | | llvm-svn: 44968
* fix off-by-one error.Chris Lattner2007-12-121-1/+1
| | | | llvm-svn: 44963
* TargetInfo no longer includes a reference to SourceManager.Ted Kremenek2007-12-121-2/+2
| | | | | | | | | | | | | | | Moved all clients of Diagnostics to use FullSourceLoc instead of SourceLocation. Added many utility methods to FullSourceLoc to provide shorthand for: FullLoc.getManager().someMethod(FullLoc.getLocation()); instead we have: FullLoc.someMethod(); Modified TextDiagnostics (and related classes) to use this short-hand. llvm-svn: 44957
* Fix a codegen crash on test/CodeGen/cast.c, reported by Keith.Chris Lattner2007-12-121-1/+11
| | | | llvm-svn: 44908
* Match union field type when member expression is u->xDevang Patel2007-12-111-2/+10
| | | | llvm-svn: 44879
* Mega-patch: ripped SourceManager out of Diagnostic/DiagnosticClient. NowTed Kremenek2007-12-113-3/+4
| | | | | | | | | | | | | | | | | | SourceManager is passed by reference, allowing the SourceManager to be associated with a specific translation unit, and not the entire execution of the driver. Modified all users of Diagnostics to comply with this new interface. Integrated SourceManager as a member variable of TargetInfo. TargetInfo will eventually be associated with a single translation unit (just like SourceManager). Made the SourceManager reference in ASTContext private. Provided accessor getSourceManager() for clients to use instead. Modified clients to comply with new interface. llvm-svn: 44878
OpenPOWER on IntegriCloud