| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | 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 | ||||
| * | Add support for code generation of builtins. | Anders Carlsson | 2007-08-20 | 1 | -0/+1 |
| | | | | | llvm-svn: 41188 | ||||
| * | start splitting out aggregate value computation from EmitExpr into EmitAggExpr. | Chris Lattner | 2007-08-11 | 1 | -2/+31 |
| | | | | | | | | | aggregate value and scalar expression computation are very different, this gets them away from each other. This causes a temporary regression on some complex number examples. llvm-svn: 41014 | ||||
| * | now that implicit conversions are explicit, we can eliminate | Chris Lattner | 2007-08-08 | 1 | -3/+0 |
| | | | | | | | EmitUsualArithmeticConversions. llvm-svn: 40931 | ||||
| * | now that implicit conversions are explicit, we can eliminate | Chris Lattner | 2007-08-08 | 1 | -2/+0 |
| | | | | | | | EmitExprWithUsualUnaryConversions. llvm-svn: 40929 | ||||
| * | Implement codegen for __builtin_choose_expr. For example: | Chris Lattner | 2007-08-04 | 1 | -0/+2 |
| | | | | | | | | | | | | | | | | | | | | struct X { int A; }; void foo() { struct X s; int i; i = __builtin_choose_expr(0, s, i); } compiles to: %tmp = load i32* %i ; <i32> [#uses=1] store i32 %tmp, i32* %i wow :) llvm-svn: 40801 | ||||
| * | implement codegen support for __builtin_types_compatible_p | Chris Lattner | 2007-08-03 | 1 | -0/+3 |
| | | | | | llvm-svn: 40788 | ||||
| * | Rename AddrLabel and OCUVectorComponent -> AddrLabelExpr and ↵ | Chris Lattner | 2007-08-03 | 1 | -14/+14 |
| | | | | | | | OCUVectorElementExpr respectively. This is for consistency with other expr nodes end with *Expr. llvm-svn: 40785 | ||||
| * | add codegen support for storing into a single-element ocu lvalue, such as: | Chris Lattner | 2007-08-03 | 1 | -0/+1 |
| | | | | | | | vec2.x = f; llvm-svn: 40781 | ||||
| * | refactor handling of ocuvector lvalue->rvalue codegen into its own method. | Chris Lattner | 2007-08-03 | 1 | -0/+2 |
| | | | | | llvm-svn: 40780 | ||||
| * | implement lvalue to rvalue conversion for ocuvector components. We can now ↵ | Chris Lattner | 2007-08-03 | 1 | -1/+2 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | compile stuff like this: typedef __attribute__(( ocu_vector_type(4) )) float float4; float4 test1(float4 V) { return V.wzyx+V; } to: _test1: pshufd $27, %xmm0, %xmm1 addps %xmm0, %xmm1 movaps %xmm1, %xmm0 ret and: _test1: mfspr r2, 256 oris r3, r2, 4096 mtspr 256, r3 li r3, lo16(LCPI1_0) lis r4, ha16(LCPI1_0) lvx v3, r4, r3 vperm v3, v2, v2, v3 vaddfp v2, v3, v2 mtspr 256, r2 blr llvm-svn: 40771 | ||||
| * | add support for codegen of an OCUVectorComponent as an lvalue. | Chris Lattner | 2007-08-02 | 1 | -4/+22 |
| | | | | | | | | | | | We can now codegen: vec4.xy; as nothing! llvm-svn: 40769 | ||||
| * | Implement code generation for __func__, __FUNCTION__ and __PRETTY_FUNCTION__ | Anders Carlsson | 2007-07-21 | 1 | -0/+2 |
| | | | | | llvm-svn: 40162 | ||||
| * | implement codegen support for sizeof/alignof | Chris Lattner | 2007-07-18 | 1 | -1/+1 |
| | | | | | llvm-svn: 40009 | ||||

