summaryrefslogtreecommitdiffstats
path: root/clang/CodeGen/CodeGenFunction.h
Commit message (Collapse)AuthorAgeFilesLines
* Make a major restructuring of the clang tree: introduce a top-levelChris Lattner2008-03-151-486/+0
| | | | | | | | | | lib dir and move all the libraries into it. This follows the main llvm tree, and allows the libraries to be built in parallel. The top level now enforces that all the libs are built before Driver, but we don't care what order the libs are built in. This speeds up parallel builds, particularly incremental ones. llvm-svn: 48402
* make include guards more unique.Chris Lattner2008-02-291-2/+2
| | | | llvm-svn: 47754
* Implement codegen for the following static var init.Lauro Ramos Venancio2008-02-261-0/+3
| | | | | | | | | | | void g() { static char a[10]; static char *b = a; } Now we can compile wget! llvm-svn: 47627
* Expose the logic for field address codegen; it is needed for aggregate Eli Friedman2008-02-091-0/+4
| | | | | | | | initializers, and I don't want to duplicate the bitfield-handling code. (I'll send a patch for aggregate initializers to the mailing list sometime soon.) llvm-svn: 46904
* Add code generation for inline asm statements.Anders Carlsson2008-02-051-2/+4
| | | | llvm-svn: 46750
* Make sure to emit all the arguments to a function call. This fixes the Eli Friedman2008-01-301-2/+3
| | | | | | | codegen of calls to functions without a prototype and varargs functions, including printf. llvm-svn: 46543
* Implement bitfield write.Lauro Ramos Venancio2008-01-221-0/+1
| | | | llvm-svn: 46258
* Implement bitfield read.Lauro Ramos Venancio2008-01-221-2/+32
| | | | llvm-svn: 46257
* Implement basic overload support via a new builtin, __builtin_overload.Nate Begeman2008-01-171-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | __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
* Allow implicit casts during arithmetic for OCUVector operationsNate Begeman2007-12-301-1/+2
| | | | | | Add codegen support and test for said casts. llvm-svn: 45443
* Don't attribute in file headers anymore. See llvmdev for theChris Lattner2007-12-291-2/+2
| | | | | | discussion of this change. llvm-svn: 45410
* Enable CodeGen for member expressions based on call expressions returning ↵Christopher Lamb2007-12-291-0/+3
| | | | | | aggregate types. This enables expressions like 'foo().member.submember'. llvm-svn: 45395
* We now support all MMX intrinsics. SSE intrinsics are next.Anders Carlsson2007-12-151-1/+2
| | | | llvm-svn: 45062
* Add EmitShuffleVector helper method.Anders Carlsson2007-12-101-0/+2
| | | | llvm-svn: 44806
* Move target specific builtin IDs to TargetBuiltins.h so that they can be ↵Anders Carlsson2007-12-091-0/+3
| | | | | | used by CGBuiltin.cpp llvm-svn: 44748
* convert the rest of the stderr users in codegen to use diagnostics.Chris Lattner2007-12-021-1/+1
| | | | llvm-svn: 44503
* move unsupported warning into a centralized place.Chris Lattner2007-12-021-0/+4
| | | | llvm-svn: 44502
* Rename classes and collections that maintain record layout information.Devang Patel2007-11-011-3/+3
| | | | | | | Now, at AST level record info is maintained by ASTRecordLayout class. Now, at code gen level record info is maintained by CGRecordLayout class. llvm-svn: 43619
* Constify methods and reuse RecordOrganizer object.Devang Patel2007-10-241-1/+1
| | | | llvm-svn: 43284
* Begin struct layout work.Devang Patel2007-10-231-2/+7
| | | | llvm-svn: 43236
* Updated VC++ build system.Hartmut Kaiser2007-10-171-1/+1
| | | | | | | | Silenced some VC++ warnings. Had to rephrase a partial specialization of the IntrospectionTrait struct in SerializationTest.cpp, please review. Added a compiler specific workaround in IdentifierTable.h. Is that the way to fix this kind of issues? llvm-svn: 43074
* Generate code for static variables that don't have initializers. Also, ↵Anders Carlsson2007-10-171-0/+1
| | | | | | report an error if a static initializer is not constant. llvm-svn: 43058
* Use LLVMFoldingBuilderDevang Patel2007-10-091-1/+1
| | | | llvm-svn: 42807
* Fix comment. Describe what it is, instead of how it is used.Devang Patel2007-10-091-4/+4
| | | | llvm-svn: 42791
* Code gen case statement ranges.Devang Patel2007-10-081-2/+7
| | | | llvm-svn: 42766
* switch statement code gen.Devang Patel2007-10-041-2/+16
| | | | llvm-svn: 42616
* Do not codegen dummy block.Devang Patel2007-09-281-1/+5
| | | | | | Dummy block is an empty block with no predecessors. llvm-svn: 42451
* Generalize RValue to handle complex better, generalize EmitCompoundStmt toChris Lattner2007-08-311-17/+47
| | | | | | support any sort of expr, add a new EmitAnyExpr routine. llvm-svn: 41660
* implement code generation for scalar stmt expressions.Chris Lattner2007-08-311-1/+1
| | | | llvm-svn: 41656
* Implement codegen support for lowering "library builtins" like __builtin_isinf Chris Lattner2007-08-311-1/+1
| | | | | | | to their corresponding library routines (e.g. isinf). This allows us to handle all the stuff in macos math.h, and other stuff as it's added to *Builtins.def. llvm-svn: 41634
* add the ability to get the llvm function corresponding to a library builtin.Chris Lattner2007-08-311-0/+1
| | | | llvm-svn: 41633
* move EmitAggregateCopy into AggExprEmitterChris Lattner2007-08-261-5/+5
| | | | llvm-svn: 41472
* remove dead codeChris Lattner2007-08-261-1/+0
| | | | llvm-svn: 41470
* remove dead protosChris Lattner2007-08-261-5/+0
| | | | llvm-svn: 41469
* eliminate EmitAnyExpr, inlining it and simplifying it into its only caller.Chris Lattner2007-08-261-6/+1
| | | | llvm-svn: 41468
* remove ConvertScalarValueToBool.Chris Lattner2007-08-261-8/+0
| | | | llvm-svn: 41447
* refactor some code to expose compex->scalar conversion to CGFChris Lattner2007-08-261-0/+6
| | | | llvm-svn: 41445
* be slightly more volatile correctChris Lattner2007-08-261-1/+2
| | | | llvm-svn: 41444
* Omit EmitConversionChris Lattner2007-08-261-4/+0
| | | | llvm-svn: 41438
* refactor scalar conversions out into CGExprScalar.cppChris Lattner2007-08-261-0/+6
| | | | llvm-svn: 41433
* remove a bunch of dead codeChris Lattner2007-08-261-35/+0
| | | | llvm-svn: 41418
* completely refactor codegen of scalar expressions out into its own ↵Chris Lattner2007-08-241-22/+10
| | | | | | | | | CGExprScalar.cpp file. This patch temporarily breaks compound assignment operators, but greatly simplifies many things. llvm-svn: 41355
* implement passing of complex and aggregates through call args.Chris Lattner2007-08-231-1/+10
| | | | llvm-svn: 41344
* Implement parsing and code generation of Objective-C string literals.Anders Carlsson2007-08-211-0/+3
| | | | llvm-svn: 41238
* move EmitLoadOfComplex/EmitStoreOfComplex into ComplexExprEmitter.Chris Lattner2007-08-211-10/+0
| | | | llvm-svn: 41236
* reimplement support for complex comparisons, add support for integer complex ↵Chris Lattner2007-08-211-1/+2
| | | | | | compares. llvm-svn: 41231
* Split complex arithmetic codegen out from aggregate codegen.Chris Lattner2007-08-211-0/+4
| | | | | | | | | | | | | | | | This means that we get rid of tons of intermediate allocas. For example: void foo(double _Complex a, double _Complex b) { a = b+a+a; } this used to have 4 temporary allocas, now it has zero of them. This also simplifies the individual visitor methods because they now can all operate on real/imag pairs instead of having to load/store all over the place. llvm-svn: 41217
* reimplement addition of complex numbers.Chris Lattner2007-08-211-1/+2
| | | | llvm-svn: 41215
* switch aggregate expr codegen to use a visitor to localize most of the nasty Chris Lattner2007-08-211-18/+2
| | | | | | details in its own file. llvm-svn: 41213
* Fix array->pointer decay. This unbreaks test/CodeGen/array.cChris Lattner2007-08-201-0/+2
| | | | llvm-svn: 41202
OpenPOWER on IntegriCloud