summaryrefslogtreecommitdiffstats
path: root/clang/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
...
* Refactor bit-field handling code into a separate method.Devang Patel2007-12-111-69/+86
| | | | | | No functionality change. llvm-svn: 44875
* fix a build issue with non-apple-gcc-4.0 compilers.Chris Lattner2007-12-111-1/+2
| | | | llvm-svn: 44844
* Generate more builtins.Anders Carlsson2007-12-111-0/+33
| | | | llvm-svn: 44841
* Generate code for some more intrinsics.Anders Carlsson2007-12-111-0/+38
| | | | llvm-svn: 44839
* Reimplement support for strings that initialize global inits now thatChris Lattner2007-12-111-34/+26
| | | | | | the types are right in sema. Thanks Steve. llvm-svn: 44834
* Separate access field number is not required.Devang Patel2007-12-112-19/+16
| | | | llvm-svn: 44833
* Beautify comment.Devang Patel2007-12-111-12/+20
| | | | llvm-svn: 44831
* Add support to share llvm fields for bit-fields.Devang Patel2007-12-111-2/+60
| | | | | | For example, struct { char a; short b:2; }; llvm-svn: 44830
* Added missing inclusion of stdarg.h. Now CGExprScalar.cppTed Kremenek2007-12-101-0/+2
| | | | | | compiles again on Linux. llvm-svn: 44821
* add support for implicit cast from array to pointer that is not the elementChris Lattner2007-12-101-1/+8
| | | | | | type. llvm-svn: 44809
* Add EmitShuffleVector helper method.Anders Carlsson2007-12-102-0/+32
| | | | llvm-svn: 44806
* Add assert to flag incomplete bit-field support.Devang Patel2007-12-101-0/+3
| | | | llvm-svn: 44800
* Use getABITypeSizeInBits() instead of getTypeSizeInBits() during struct layout.Devang Patel2007-12-101-6/+6
| | | | llvm-svn: 44799
* Use getABITypeSizeInBits() instead of getTypeSizeInBits() during struct layout.Devang Patel2007-12-101-1/+1
| | | | llvm-svn: 44798
* abort when we lower an initializer to the wrong type, as we currently do for:Chris Lattner2007-12-101-2/+2
| | | | | | char text[] = "string"; llvm-svn: 44752
* extend or truncate the initializer for a string initializer to match its type.Chris Lattner2007-12-101-6/+15
| | | | llvm-svn: 44751
* Implement codegen support for:Chris Lattner2007-12-091-0/+21
| | | | | | | | char text[8] = "string"; Big fixme remains. llvm-svn: 44750
* Address Chris's comments.Anders Carlsson2007-12-091-6/+6
| | | | llvm-svn: 44749
* Move target specific builtin IDs to TargetBuiltins.h so that they can be ↵Anders Carlsson2007-12-092-11/+35
| | | | | | used by CGBuiltin.cpp llvm-svn: 44748
* Implement __builtin_ia32_mulps.Anders Carlsson2007-12-091-0/+10
| | | | llvm-svn: 44745
* Generate code for target specific intrinsics.Anders Carlsson2007-12-091-2/+53
| | | | llvm-svn: 44744
* implement support for functions that initialize globals.Chris Lattner2007-12-091-6/+13
| | | | llvm-svn: 44730
* More struct bitfields layout work. Now handle,Devang Patel2007-12-062-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 AndreChris Lattner2007-12-051-1/+1
| | | | llvm-svn: 44615
* Implement CodeGen for vectors. Don't create unnecessary conversion ↵Anders Carlsson2007-12-051-18/+89
| | | | | | instructions if the value to be converted is a constant. llvm-svn: 44606
* Implement codegen for builtin infinity functions.Anders Carlsson2007-12-051-0/+16
| | | | llvm-svn: 44604
* Ignore typedefs in pointer arithmetic codegen.Seo Sanghyeon2007-12-031-4/+4
| | | | llvm-svn: 44529
* Implement __builtin_bswap32 and __builtin_bswap64.Anders Carlsson2007-12-021-0/+12
| | | | llvm-svn: 44521
* fix logic for member expr codegen.Chris Lattner2007-12-021-11/+7
| | | | llvm-svn: 44520
* Treat discarding array initializer elements as an extwarn (so ↵Christopher Lamb2007-12-021-8/+20
| | | | | | -pedantic-errors flags it). Allow CodeGen to truncate the initializer if needed. llvm-svn: 44518
* globals can't be vla'sChris Lattner2007-12-021-4/+2
| | | | llvm-svn: 44512
* add codegen support for global inits that require array decay.Chris Lattner2007-12-021-0/+21
| | | | llvm-svn: 44511
* warn about unhandled initializers instead of crashing on them.Chris Lattner2007-12-023-30/+38
| | | | llvm-svn: 44510
* Handle global variable definitions which change the type of a definition, ↵Chris Lattner2007-12-024-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 Lattner2007-12-021-0/+4
| | | | llvm-svn: 44508
* merge the llvm global variable when there are multiple C decls.Chris Lattner2007-12-021-3/+10
| | | | llvm-svn: 44507
* implement codegen for functions whose function body type don't matchChris Lattner2007-12-023-1/+56
| | | | | | their prototype. llvm-svn: 44506
* merge functions with multiple function decls if they have the same name.Chris Lattner2007-12-021-0/+7
| | | | llvm-svn: 44505
* convert the rest of the stderr users in codegen to use diagnostics.Chris Lattner2007-12-028-20/+13
| | | | llvm-svn: 44503
* move unsupported warning into a centralized place.Chris Lattner2007-12-023-8/+16
| | | | llvm-svn: 44502
* Warn about unsupported codegen with the diags machinery, giving us:Chris Lattner2007-12-024-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 Hunt2007-12-022-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 Hunt2007-12-023-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 Lamb2007-12-011-3/+6
| | | | | | unions. llvm-svn: 44490
* When generating the CodeGen type name of a struct, union, enum use the typedef Christopher Lamb2007-12-011-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 Lattner2007-12-011-1/+4
| | | | llvm-svn: 44484
* fix a bug handling typedefs in member expr codegen. Patch Chris Lattner2007-11-301-2/+3
| | | | | | by Seo Sanghyeon llvm-svn: 44455
* Fix a codegen crash on void ?: reported by OliverChris Lattner2007-11-302-4/+12
| | | | llvm-svn: 44454
* Support fully general case expressions, patch by Sanghyeon Seo!Chris Lattner2007-11-301-1/+3
| | | | llvm-svn: 44453
* Implement support for -fwritable-strings and make the code generatorChris Lattner2007-11-284-42/+57
| | | | | | merge string literals when it is not provided. llvm-svn: 44394
OpenPOWER on IntegriCloud