Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Make a major restructuring of the clang tree: introduce a top-level | Chris Lattner | 2008-03-15 | 1 | -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 Lattner | 2008-02-29 | 1 | -2/+2 |
| | | | | llvm-svn: 47754 | ||||
* | Implement codegen for the following static var init. | Lauro Ramos Venancio | 2008-02-26 | 1 | -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 Friedman | 2008-02-09 | 1 | -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 Carlsson | 2008-02-05 | 1 | -2/+4 |
| | | | | llvm-svn: 46750 | ||||
* | Make sure to emit all the arguments to a function call. This fixes the | Eli Friedman | 2008-01-30 | 1 | -2/+3 |
| | | | | | | | codegen of calls to functions without a prototype and varargs functions, including printf. llvm-svn: 46543 | ||||
* | Implement bitfield write. | Lauro Ramos Venancio | 2008-01-22 | 1 | -0/+1 |
| | | | | llvm-svn: 46258 | ||||
* | Implement bitfield read. | Lauro Ramos Venancio | 2008-01-22 | 1 | -2/+32 |
| | | | | llvm-svn: 46257 | ||||
* | Implement basic overload support via a new builtin, __builtin_overload. | Nate Begeman | 2008-01-17 | 1 | -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 operations | Nate Begeman | 2007-12-30 | 1 | -1/+2 |
| | | | | | | Add codegen support and test for said casts. llvm-svn: 45443 | ||||
* | Don't attribute in file headers anymore. See llvmdev for the | Chris Lattner | 2007-12-29 | 1 | -2/+2 |
| | | | | | | discussion of this change. llvm-svn: 45410 | ||||
* | Enable CodeGen for member expressions based on call expressions returning ↵ | Christopher Lamb | 2007-12-29 | 1 | -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 Carlsson | 2007-12-15 | 1 | -1/+2 |
| | | | | llvm-svn: 45062 | ||||
* | Add EmitShuffleVector helper method. | Anders Carlsson | 2007-12-10 | 1 | -0/+2 |
| | | | | llvm-svn: 44806 | ||||
* | Move target specific builtin IDs to TargetBuiltins.h so that they can be ↵ | Anders Carlsson | 2007-12-09 | 1 | -0/+3 |
| | | | | | | used by CGBuiltin.cpp llvm-svn: 44748 | ||||
* | convert the rest of the stderr users in codegen to use diagnostics. | Chris Lattner | 2007-12-02 | 1 | -1/+1 |
| | | | | llvm-svn: 44503 | ||||
* | move unsupported warning into a centralized place. | Chris Lattner | 2007-12-02 | 1 | -0/+4 |
| | | | | llvm-svn: 44502 | ||||
* | Rename classes and collections that maintain record layout information. | Devang Patel | 2007-11-01 | 1 | -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 Patel | 2007-10-24 | 1 | -1/+1 |
| | | | | llvm-svn: 43284 | ||||
* | Begin struct layout work. | Devang Patel | 2007-10-23 | 1 | -2/+7 |
| | | | | llvm-svn: 43236 | ||||
* | Updated VC++ build system. | Hartmut Kaiser | 2007-10-17 | 1 | -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 Carlsson | 2007-10-17 | 1 | -0/+1 |
| | | | | | | report an error if a static initializer is not constant. llvm-svn: 43058 | ||||
* | Use LLVMFoldingBuilder | Devang Patel | 2007-10-09 | 1 | -1/+1 |
| | | | | llvm-svn: 42807 | ||||
* | Fix comment. Describe what it is, instead of how it is used. | Devang Patel | 2007-10-09 | 1 | -4/+4 |
| | | | | llvm-svn: 42791 | ||||
* | Code gen case statement ranges. | Devang Patel | 2007-10-08 | 1 | -2/+7 |
| | | | | llvm-svn: 42766 | ||||
* | switch statement code gen. | Devang Patel | 2007-10-04 | 1 | -2/+16 |
| | | | | llvm-svn: 42616 | ||||
* | Do not codegen dummy block. | Devang Patel | 2007-09-28 | 1 | -1/+5 |
| | | | | | | Dummy block is an empty block with no predecessors. llvm-svn: 42451 | ||||
* | Generalize RValue to handle complex better, generalize EmitCompoundStmt to | Chris Lattner | 2007-08-31 | 1 | -17/+47 |
| | | | | | | support any sort of expr, add a new EmitAnyExpr routine. llvm-svn: 41660 | ||||
* | implement code generation for scalar stmt expressions. | Chris Lattner | 2007-08-31 | 1 | -1/+1 |
| | | | | llvm-svn: 41656 | ||||
* | Implement codegen support for lowering "library builtins" like __builtin_isinf | Chris Lattner | 2007-08-31 | 1 | -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 Lattner | 2007-08-31 | 1 | -0/+1 |
| | | | | llvm-svn: 41633 | ||||
* | move EmitAggregateCopy into AggExprEmitter | Chris Lattner | 2007-08-26 | 1 | -5/+5 |
| | | | | llvm-svn: 41472 | ||||
* | remove dead code | Chris Lattner | 2007-08-26 | 1 | -1/+0 |
| | | | | llvm-svn: 41470 | ||||
* | remove dead protos | Chris Lattner | 2007-08-26 | 1 | -5/+0 |
| | | | | llvm-svn: 41469 | ||||
* | eliminate EmitAnyExpr, inlining it and simplifying it into its only caller. | Chris Lattner | 2007-08-26 | 1 | -6/+1 |
| | | | | llvm-svn: 41468 | ||||
* | remove ConvertScalarValueToBool. | Chris Lattner | 2007-08-26 | 1 | -8/+0 |
| | | | | llvm-svn: 41447 | ||||
* | refactor some code to expose compex->scalar conversion to CGF | Chris Lattner | 2007-08-26 | 1 | -0/+6 |
| | | | | llvm-svn: 41445 | ||||
* | be slightly more volatile correct | Chris Lattner | 2007-08-26 | 1 | -1/+2 |
| | | | | llvm-svn: 41444 | ||||
* | Omit EmitConversion | Chris Lattner | 2007-08-26 | 1 | -4/+0 |
| | | | | llvm-svn: 41438 | ||||
* | refactor scalar conversions out into CGExprScalar.cpp | Chris Lattner | 2007-08-26 | 1 | -0/+6 |
| | | | | llvm-svn: 41433 | ||||
* | remove a bunch of dead code | Chris Lattner | 2007-08-26 | 1 | -35/+0 |
| | | | | llvm-svn: 41418 | ||||
* | completely refactor codegen of scalar expressions out into its own ↵ | Chris Lattner | 2007-08-24 | 1 | -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 Lattner | 2007-08-23 | 1 | -1/+10 |
| | | | | llvm-svn: 41344 | ||||
* | Implement parsing and code generation of Objective-C string literals. | Anders Carlsson | 2007-08-21 | 1 | -0/+3 |
| | | | | llvm-svn: 41238 | ||||
* | move EmitLoadOfComplex/EmitStoreOfComplex into ComplexExprEmitter. | Chris Lattner | 2007-08-21 | 1 | -10/+0 |
| | | | | llvm-svn: 41236 | ||||
* | reimplement support for complex comparisons, add support for integer complex ↵ | Chris Lattner | 2007-08-21 | 1 | -1/+2 |
| | | | | | | compares. llvm-svn: 41231 | ||||
* | Split complex arithmetic codegen out from aggregate codegen. | Chris Lattner | 2007-08-21 | 1 | -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 Lattner | 2007-08-21 | 1 | -1/+2 |
| | | | | llvm-svn: 41215 | ||||
* | switch aggregate expr codegen to use a visitor to localize most of the nasty | Chris Lattner | 2007-08-21 | 1 | -18/+2 |
| | | | | | | details in its own file. llvm-svn: 41213 | ||||
* | Fix array->pointer decay. This unbreaks test/CodeGen/array.c | Chris Lattner | 2007-08-20 | 1 | -0/+2 |
| | | | | llvm-svn: 41202 |