Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Refactor bit-field handling code into a separate method. | Devang Patel | 2007-12-11 | 1 | -69/+86 | |
| | | | | | | No functionality change. llvm-svn: 44875 | |||||
* | fix a build issue with non-apple-gcc-4.0 compilers. | Chris Lattner | 2007-12-11 | 1 | -1/+2 | |
| | | | | llvm-svn: 44844 | |||||
* | Generate more builtins. | Anders Carlsson | 2007-12-11 | 1 | -0/+33 | |
| | | | | llvm-svn: 44841 | |||||
* | Generate code for some more intrinsics. | Anders Carlsson | 2007-12-11 | 1 | -0/+38 | |
| | | | | llvm-svn: 44839 | |||||
* | Reimplement support for strings that initialize global inits now that | Chris Lattner | 2007-12-11 | 1 | -34/+26 | |
| | | | | | | the types are right in sema. Thanks Steve. llvm-svn: 44834 | |||||
* | Separate access field number is not required. | Devang Patel | 2007-12-11 | 2 | -19/+16 | |
| | | | | llvm-svn: 44833 | |||||
* | Beautify comment. | Devang Patel | 2007-12-11 | 1 | -12/+20 | |
| | | | | llvm-svn: 44831 | |||||
* | Add support to share llvm fields for bit-fields. | Devang Patel | 2007-12-11 | 1 | -2/+60 | |
| | | | | | | For example, struct { char a; short b:2; }; llvm-svn: 44830 | |||||
* | Added missing inclusion of stdarg.h. Now CGExprScalar.cpp | Ted Kremenek | 2007-12-10 | 1 | -0/+2 | |
| | | | | | | compiles again on Linux. llvm-svn: 44821 | |||||
* | add support for implicit cast from array to pointer that is not the element | Chris Lattner | 2007-12-10 | 1 | -1/+8 | |
| | | | | | | type. llvm-svn: 44809 | |||||
* | Add EmitShuffleVector helper method. | Anders Carlsson | 2007-12-10 | 2 | -0/+32 | |
| | | | | llvm-svn: 44806 | |||||
* | Add assert to flag incomplete bit-field support. | Devang Patel | 2007-12-10 | 1 | -0/+3 | |
| | | | | llvm-svn: 44800 | |||||
* | Use getABITypeSizeInBits() instead of getTypeSizeInBits() during struct layout. | Devang Patel | 2007-12-10 | 1 | -6/+6 | |
| | | | | llvm-svn: 44799 | |||||
* | Use getABITypeSizeInBits() instead of getTypeSizeInBits() during struct layout. | Devang Patel | 2007-12-10 | 1 | -1/+1 | |
| | | | | llvm-svn: 44798 | |||||
* | abort when we lower an initializer to the wrong type, as we currently do for: | Chris Lattner | 2007-12-10 | 1 | -2/+2 | |
| | | | | | | char text[] = "string"; llvm-svn: 44752 | |||||
* | extend or truncate the initializer for a string initializer to match its type. | Chris Lattner | 2007-12-10 | 1 | -6/+15 | |
| | | | | llvm-svn: 44751 | |||||
* | Implement codegen support for: | Chris Lattner | 2007-12-09 | 1 | -0/+21 | |
| | | | | | | | | char text[8] = "string"; Big fixme remains. llvm-svn: 44750 | |||||
* | Address Chris's comments. | Anders Carlsson | 2007-12-09 | 1 | -6/+6 | |
| | | | | llvm-svn: 44749 | |||||
* | Move target specific builtin IDs to TargetBuiltins.h so that they can be ↵ | Anders Carlsson | 2007-12-09 | 2 | -11/+35 | |
| | | | | | | used by CGBuiltin.cpp llvm-svn: 44748 | |||||
* | Implement __builtin_ia32_mulps. | Anders Carlsson | 2007-12-09 | 1 | -0/+10 | |
| | | | | llvm-svn: 44745 | |||||
* | Generate code for target specific intrinsics. | Anders Carlsson | 2007-12-09 | 1 | -2/+53 | |
| | | | | llvm-svn: 44744 | |||||
* | implement support for functions that initialize globals. | Chris Lattner | 2007-12-09 | 1 | -6/+13 | |
| | | | | llvm-svn: 44730 | |||||
* | More struct bitfields layout work. Now handle, | Devang Patel | 2007-12-06 | 2 | -17/+53 | |
| | | | | | | | struct STestB1 {char a; char b:2; } stb1; struct STestB2 {char a; char b:5; char c:4} stb2; llvm-svn: 44664 | |||||
* | fix some bogus code noticed by Kevin Andre | Chris Lattner | 2007-12-05 | 1 | -1/+1 | |
| | | | | llvm-svn: 44615 | |||||
* | Implement CodeGen for vectors. Don't create unnecessary conversion ↵ | Anders Carlsson | 2007-12-05 | 1 | -18/+89 | |
| | | | | | | instructions if the value to be converted is a constant. llvm-svn: 44606 | |||||
* | Implement codegen for builtin infinity functions. | Anders Carlsson | 2007-12-05 | 1 | -0/+16 | |
| | | | | llvm-svn: 44604 | |||||
* | Ignore typedefs in pointer arithmetic codegen. | Seo Sanghyeon | 2007-12-03 | 1 | -4/+4 | |
| | | | | llvm-svn: 44529 | |||||
* | Implement __builtin_bswap32 and __builtin_bswap64. | Anders Carlsson | 2007-12-02 | 1 | -0/+12 | |
| | | | | llvm-svn: 44521 | |||||
* | fix logic for member expr codegen. | Chris Lattner | 2007-12-02 | 1 | -11/+7 | |
| | | | | llvm-svn: 44520 | |||||
* | Treat discarding array initializer elements as an extwarn (so ↵ | Christopher Lamb | 2007-12-02 | 1 | -8/+20 | |
| | | | | | | -pedantic-errors flags it). Allow CodeGen to truncate the initializer if needed. llvm-svn: 44518 | |||||
* | globals can't be vla's | Chris Lattner | 2007-12-02 | 1 | -4/+2 | |
| | | | | llvm-svn: 44512 | |||||
* | add codegen support for global inits that require array decay. | Chris Lattner | 2007-12-02 | 1 | -0/+21 | |
| | | | | llvm-svn: 44511 | |||||
* | warn about unhandled initializers instead of crashing on them. | Chris Lattner | 2007-12-02 | 3 | -30/+38 | |
| | | | | llvm-svn: 44510 | |||||
* | Handle global variable definitions which change the type of a definition, ↵ | Chris Lattner | 2007-12-02 | 4 | -75/+128 | |
| | | | | | | | | | | | such as: extern int x[]; void foo() { x[0] = 1; } int x[10]; void bar() { x[0] = 1; } llvm-svn: 44509 | |||||
* | remove the alloca insertion point inst, which is an internal helper. | Chris Lattner | 2007-12-02 | 1 | -0/+4 | |
| | | | | llvm-svn: 44508 | |||||
* | merge the llvm global variable when there are multiple C decls. | Chris Lattner | 2007-12-02 | 1 | -3/+10 | |
| | | | | llvm-svn: 44507 | |||||
* | implement codegen for functions whose function body type don't match | Chris Lattner | 2007-12-02 | 3 | -1/+56 | |
| | | | | | | their prototype. llvm-svn: 44506 | |||||
* | merge functions with multiple function decls if they have the same name. | Chris Lattner | 2007-12-02 | 1 | -0/+7 | |
| | | | | llvm-svn: 44505 | |||||
* | convert the rest of the stderr users in codegen to use diagnostics. | Chris Lattner | 2007-12-02 | 8 | -20/+13 | |
| | | | | llvm-svn: 44503 | |||||
* | move unsupported warning into a centralized place. | Chris Lattner | 2007-12-02 | 3 | -8/+16 | |
| | | | | llvm-svn: 44502 | |||||
* | Warn about unsupported codegen with the diags machinery, giving us: | Chris Lattner | 2007-12-02 | 4 | -7/+18 | |
| | | | | | | | | | | | | | t.c:3322:5: warning: cannot codegen this yet __asm__ ("bswap %0" : "+r" (_data)); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ instead of: Unimplemented stmt! (AsmStmt 0x80eaa0 <t.c:3331:5, line:3334:28>) llvm-svn: 44501 | |||||
* | Add support for __builtin_expect which is needed for assert, | Oliver Hunt | 2007-12-02 | 2 | -1/+5 | |
| | | | | | | | | | among other things. Also change a codegen warning to dump to stderr so it doesn't mess with -emit-llvm output llvm-svn: 44497 | |||||
* | Support initalisers for more than just int-typed static variables. | Oliver Hunt | 2007-12-02 | 3 | -12/+8 | |
| | | | | | | | | We now use the CodeGenModule logic for generating the constant initialiser expression, so happily further initialiser fixes should automatically work for statics as well. llvm-svn: 44495 | |||||
* | Better match llvm-gcc's behavior for CodeGen naming of anonymous structs and ↵ | Christopher Lamb | 2007-12-01 | 1 | -3/+6 | |
| | | | | | | unions. llvm-svn: 44490 | |||||
* | When generating the CodeGen type name of a struct, union, enum use the typedef | Christopher Lamb | 2007-12-01 | 1 | -1/+8 | |
| | | | | | | | | | | name if a tag type name is not available for the type. This matches how llvm-gcc chooses CodeGen type names. This means that "typedef struct {...} foo" now results in a CodeGen name of "struct.foo" rather than "struct." llvm-svn: 44489 | |||||
* | fix a couple switch codegen problems Oliver reported. | Chris Lattner | 2007-12-01 | 1 | -1/+4 | |
| | | | | llvm-svn: 44484 | |||||
* | fix a bug handling typedefs in member expr codegen. Patch | Chris Lattner | 2007-11-30 | 1 | -2/+3 | |
| | | | | | | by Seo Sanghyeon llvm-svn: 44455 | |||||
* | Fix a codegen crash on void ?: reported by Oliver | Chris Lattner | 2007-11-30 | 2 | -4/+12 | |
| | | | | llvm-svn: 44454 | |||||
* | Support fully general case expressions, patch by Sanghyeon Seo! | Chris Lattner | 2007-11-30 | 1 | -1/+3 | |
| | | | | llvm-svn: 44453 | |||||
* | Implement support for -fwritable-strings and make the code generator | Chris Lattner | 2007-11-28 | 4 | -42/+57 | |
| | | | | | | merge string literals when it is not provided. llvm-svn: 44394 |