Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Remove tabs, and whitespace cleanups. | Mike Stump | 2009-09-09 | 1 | -73/+73 | |
| | | | | llvm-svn: 81346 | |||||
* | Update for LLVM API change. | Owen Anderson | 2009-08-13 | 1 | -3/+4 | |
| | | | | llvm-svn: 78946 | |||||
* | map previously ignored __attribute((malloc)) to noalias attribute of llvm ↵ | Ryan Flynn | 2009-08-09 | 1 | -0/+2 | |
| | | | | | | function's return llvm-svn: 78541 | |||||
* | Add support for global initializers. | Anders Carlsson | 2009-08-08 | 1 | -1/+1 | |
| | | | | llvm-svn: 78515 | |||||
* | Use Twine instead of utostr | Daniel Dunbar | 2009-08-02 | 1 | -1/+1 | |
| | | | | llvm-svn: 77848 | |||||
* | Update for LLVM API change. | Owen Anderson | 2009-07-31 | 1 | -1/+1 | |
| | | | | llvm-svn: 77722 | |||||
* | Allow functions to be marked "implicit return zero" and so mark main(). | John McCall | 2009-07-28 | 1 | -0/+13 | |
| | | | | | | Codegen by initializing the return value with its LLVM type's null value. llvm-svn: 77288 | |||||
* | Update for LLVM API change, and contextify a bunch of related stuff. | Owen Anderson | 2009-07-14 | 1 | -1/+1 | |
| | | | | llvm-svn: 75705 | |||||
* | De-ASTContext-ify DeclContext. | Argyrios Kyrtzidis | 2009-06-30 | 1 | -6/+6 | |
| | | | | | | | Remove ASTContext parameter from DeclContext's methods. This change cascaded down to other Decl's methods and changes to call sites started "escalating". Timings using pre-tokenized "cocoa.h" showed only a ~1% increase in time run between and after this commit. llvm-svn: 74506 | |||||
* | Remove the ASTContext parameter from the attribute-related methods of Decl. | Argyrios Kyrtzidis | 2009-06-30 | 1 | -5/+5 | |
| | | | | | | | | | The implementations of these methods can Use Decl::getASTContext() to get the ASTContext. This commit touches a lot of files since call sites for these methods are everywhere. I used pre-tokenized "carbon.h" and "cocoa.h" headers to do some timings, and there was no real time difference between before the commit and after it. llvm-svn: 74501 | |||||
* | Make the StackProtector bitfield use enums instead of obscure numbers. | Bill Wendling | 2009-06-28 | 1 | -2/+2 | |
| | | | | llvm-svn: 74414 | |||||
* | Add stack protector support to clang. This generates the 'ssp' and 'sspreq' | Bill Wendling | 2009-06-28 | 1 | -0/+5 | |
| | | | | | | | | function attributes. There are predefined macros that are defined when stack protectors are used: __SSP__=1 with -fstack-protector and __SSP_ALL__=2 with -fstack-protector-all. llvm-svn: 74405 | |||||
* | fix PR4423. | Chris Lattner | 2009-06-23 | 1 | -1/+2 | |
| | | | | llvm-svn: 73938 | |||||
* | Move the static DeclAttrs map into ASTContext. Fixes <rdar://problem/6983177>. | Douglas Gregor | 2009-06-18 | 1 | -5/+6 | |
| | | | | llvm-svn: 73702 | |||||
* | Fix PR4372, another case where non-prototyped functions can prevent | Chris Lattner | 2009-06-13 | 1 | -4/+36 | |
| | | | | | | always_inline from working. llvm-svn: 73273 | |||||
* | Add new ABIArgInfo kind: Extend. This allows target to implement its own ↵ | Anton Korobeynikov | 2009-06-06 | 1 | -20/+26 | |
| | | | | | | | | | argument zero/sign extension logic (consider, e.g. target has only 64 bit registers and thus i32's should be extended as well). llvm-svn: 72998 | |||||
* | Factor out TargetABIInfo stuff into separate file. No functionality change. | Anton Korobeynikov | 2009-06-05 | 1 | -1368/+0 | |
| | | | | llvm-svn: 72962 | |||||
* | Set function Attribute::NoImplicitFloat appropriately. | Devang Patel | 2009-06-05 | 1 | -0/+2 | |
| | | | | llvm-svn: 72961 | |||||
* | ABI handling: Fix nasty thinko where IRgen could generate an out-of-bounds read | Daniel Dunbar | 2009-06-05 | 1 | -7/+8 | |
| | | | | | | | | | | when generating a coercion for ABI handling purposes. - This may only manifest itself when building at -O0, but the practical effect is that other arguments may get clobbered. - <rdar://problem/6930451> [irgen] ABI coercion clobbers other arguments llvm-svn: 72932 | |||||
* | Set function attribute llvm::Attribute::NoRedZone appropriately. | Devang Patel | 2009-06-04 | 1 | -0/+4 | |
| | | | | llvm-svn: 72902 | |||||
* | When trying to pass an argument on the stack, assume LLVM will do the right | Daniel Dunbar | 2009-05-26 | 1 | -3/+19 | |
| | | | | | | | | | | | | | thing for non-aggregate types. - Otherwise we unnecessarily pin values to the stack and currently end up triggering a backend bug in one case. - This loose cooperation with LLVM to implement the ABI is pretty ugly. - <rdar://problem/6918722> [irgen] clang miscompile of many pointer varargs on x86-64 llvm-svn: 72419 | |||||
* | x86_64 ABI: Account for sret parameters consuming an integer register. | Daniel Dunbar | 2009-05-22 | 1 | -0/+5 | |
| | | | | | | - PR4242. llvm-svn: 72268 | |||||
* | Set correct calling convention even if there is a bitcast in the way. | Torok Edwin | 2009-05-22 | 1 | -1/+1 | |
| | | | | | | This attempts to fix PR4239. llvm-svn: 72251 | |||||
* | Use v.data() instead of &v[0] when SmallVector v might be empty. | Jay Foad | 2009-05-21 | 1 | -2/+2 | |
| | | | | llvm-svn: 72210 | |||||
* | Add EmitReferenceBindingToExpr. Have EmitCallArg use it for now. Doesn't ↵ | Anders Carlsson | 2009-05-20 | 1 | -0/+3 | |
| | | | | | | support anything but at least we don't crash ;) llvm-svn: 72147 | |||||
* | Pass the destination QualType to EmitStoreOfScalar. No functionality change. | Anders Carlsson | 2009-05-19 | 1 | -3/+3 | |
| | | | | llvm-svn: 72118 | |||||
* | Clean up some unnecessary includes. | Eli Friedman | 2009-05-19 | 1 | -2/+0 | |
| | | | | llvm-svn: 72101 | |||||
* | Reflow some comments. | Mike Stump | 2009-05-16 | 1 | -52/+45 | |
| | | | | llvm-svn: 71937 | |||||
* | ABI handling: Fix invalid assertion, it is possible for a valid | Daniel Dunbar | 2009-05-13 | 1 | -6/+16 | |
| | | | | | | | | coercion to be specified which truncates padding bits. It would be nice to still have the assert, but we don't have any API call for the unpadding size of a type yet. llvm-svn: 71695 | |||||
* | static methods don't get this pointers. | Chris Lattner | 2009-05-12 | 1 | -4/+4 | |
| | | | | llvm-svn: 71586 | |||||
* | Darwin x86-32 ABI: Now that structure passing is farther along, we | Daniel Dunbar | 2009-05-12 | 1 | -12/+5 | |
| | | | | | | don't need special treatment for unions. llvm-svn: 71559 | |||||
* | x86-64 ABI: clang incorrectly passes union { long double, float } in | Daniel Dunbar | 2009-05-12 | 1 | -1/+2 | |
| | | | | | | | register. - Merge algorithm was returning MEMORY as it should. llvm-svn: 71556 | |||||
* | Darwin x86-32: Multi-dimensional arrays were not handled correctly, | Daniel Dunbar | 2009-05-11 | 1 | -9/+12 | |
| | | | | | | spotted by Eli! llvm-svn: 71490 | |||||
* | Darwin x86_32: Treat records with unnamed bit-fields as "empty". | Daniel Dunbar | 2009-05-11 | 1 | -19/+27 | |
| | | | | llvm-svn: 71461 | |||||
* | Correct for renaming PaddedSize -> AllocSize in | Duncan Sands | 2009-05-09 | 1 | -4/+4 | |
| | | | | | | LLVM. llvm-svn: 71350 | |||||
* | x86_64 ABI: Ignore padding bit-fields during classification. | Daniel Dunbar | 2009-05-08 | 1 | -2/+5 | |
| | | | | | | | - {return-types,single-args}-{32,64} pass the first 1k ABI tests with bit-fields enabled. llvm-svn: 71272 | |||||
* | Darwin x86_32: When coercing a "single element" structure, make sure | Daniel Dunbar | 2009-05-08 | 1 | -4/+8 | |
| | | | | | | | | | to use a wide enough type. This might be wider than the "single element"'s type in the presence of padding bit-fields. - Darwin x86_32 now passes the first 1k ABI tests with bit-field generation enabled. llvm-svn: 71270 | |||||
* | Darwin x86_32: Ignore padding bit-fields when looking for "single | Daniel Dunbar | 2009-05-08 | 1 | -4/+8 | |
| | | | | | | element" structures. llvm-svn: 71266 | |||||
* | Darwin x86_32: Improve bit-field handling for returning records. | Daniel Dunbar | 2009-05-08 | 1 | -4/+0 | |
| | | | | | | | - This turns out to be a no-op now that most of the handling for everything else is in place. llvm-svn: 71261 | |||||
* | Darwin x86_32: Ignore arrays of empty structures inside records. | Daniel Dunbar | 2009-05-08 | 1 | -0/+7 | |
| | | | | | | | - This eliminates 5/1000 failures on return-types-32, on the current ABITest config. llvm-svn: 71250 | |||||
* | fix i128 to return in 2 64-bit registers (rax/rdx on x86-64) | Chris Lattner | 2009-04-30 | 1 | -2/+2 | |
| | | | | llvm-svn: 70481 | |||||
* | initial support for __[u]int128_t, which should be basically | Chris Lattner | 2009-04-30 | 1 | -1/+3 | |
| | | | | | | | | compatible with VC++ and GCC. The codegen/mangling angle hasn't been fully ironed out yet. Note that we accept int128_t even in 32-bit mode, unlike gcc. llvm-svn: 70464 | |||||
* | x86-32 ABI: Fix crash on return of structure with flexible array | Daniel Dunbar | 2009-04-27 | 1 | -4/+10 | |
| | | | | | | | | member. Also, spell bitfield more consistently as bit-field. llvm-svn: 70220 | |||||
* | Remove getIntegerConstantExprValue in favor of using EvaluateAsInt. | Eli Friedman | 2009-04-26 | 1 | -2/+1 | |
| | | | | llvm-svn: 70145 | |||||
* | Pass and return aggregate types directly to function calls. | Sanjiv Gupta | 2009-04-21 | 1 | -0/+41 | |
| | | | | llvm-svn: 69668 | |||||
* | Make CodeGenFunction::EmitCallArgs a template function that takes a generic ↵ | Anders Carlsson | 2009-04-18 | 1 | -32/+0 | |
| | | | | | | "Type Info" parameter. The type info parameter knows how to iterate over its arguments. llvm-svn: 69469 | |||||
* | Update to use hasAttr() instead of getAttr(). | Daniel Dunbar | 2009-04-13 | 1 | -4/+4 | |
| | | | | | | - No functionality change. llvm-svn: 68987 | |||||
* | Don't set both readnone and readonly. | Daniel Dunbar | 2009-04-10 | 1 | -2/+2 | |
| | | | | llvm-svn: 68833 | |||||
* | Propagate the ASTContext to various AST traversal and lookup functions. | Douglas Gregor | 2009-04-09 | 1 | -22/+24 | |
| | | | | | | No functionality change (really). llvm-svn: 68726 | |||||
* | Add code for emitting call arguments (not used yet). | Anders Carlsson | 2009-04-08 | 1 | -0/+36 | |
| | | | | llvm-svn: 68639 |