Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Add bzero builtin; this should help codegen quality for code using this | Eli Friedman | 2010-01-23 | 1 | -0/+1 |
| | | | | | | function. llvm-svn: 94320 | ||||
* | Created __builtin___NSStringMakeConstantString() builtin, which generates ↵ | David Chisnall | 2010-01-23 | 1 | -0/+1 |
| | | | | | | constant Objective-C strings. llvm-svn: 94274 | ||||
* | Add codgen for BI__builtin_llvm_memory_barrier. | Tanya Lattner | 2010-01-16 | 1 | -0/+12 |
| | | | | llvm-svn: 93611 | ||||
* | Promote arguments of frameaddr / returnaddr builtins to i32 type, when needed. | Anton Korobeynikov | 2009-12-27 | 1 | -2/+10 |
| | | | | | | | This is needed for the platforms, where bitwidth of "int" is not 32 bits (e.g. 16 on msp430). llvm-svn: 92176 | ||||
* | Fill in the return value slot in CGExprAgg::VisitCallExpr. This takes us ↵ | Anders Carlsson | 2009-12-24 | 1 | -0/+1 |
| | | | | | | halfway towards fixing PR5824. llvm-svn: 92142 | ||||
* | Add a ReturnValueSlot class. Change the argument order in EmitCall to match ↵ | Anders Carlsson | 2009-12-24 | 1 | -3/+3 |
| | | | | | | the other overload better. llvm-svn: 92136 | ||||
* | Update for the intrinsic changes in llvm: the object size intrinsic | Eric Christopher | 2009-12-23 | 1 | -1/+10 |
| | | | | | | | only takes a boolean second argument now. Update tests accordingly. Currently the builtin still accepts the full range for compatibility. llvm-svn: 91983 | ||||
* | Fix a few MSVC warnings. | Daniel Dunbar | 2009-12-18 | 1 | -3/+1 |
| | | | | llvm-svn: 91714 | ||||
* | Fix for PR5801: codegen memcpy, memmove, memset directly to LLVM intrinsics. | Eli Friedman | 2009-12-17 | 1 | -0/+3 |
| | | | | llvm-svn: 91573 | ||||
* | Add an addition check for undefined behavior for when we hit a | Mike Stump | 2009-12-16 | 1 | -0/+2 |
| | | | | | | __builtin_unreachable. WIP. llvm-svn: 91499 | ||||
* | Revert mmx palignr to use an intrinsic, since mmx shuffle patterns are missing. | Nate Begeman | 2009-12-14 | 1 | -1/+4 |
| | | | | llvm-svn: 91269 | ||||
* | Support x86's PALIGNR instruction without the use of a palignr intrinsic. | Nate Begeman | 2009-12-14 | 1 | -4/+32 |
| | | | | llvm-svn: 91264 | ||||
* | Remove obsolete fallback code for objectsize. | Mike Stump | 2009-12-07 | 1 | -10/+0 |
| | | | | llvm-svn: 90780 | ||||
* | Update for llvm intrinsics change. | Eric Christopher | 2009-12-01 | 1 | -0/+7 |
| | | | | llvm-svn: 90208 | ||||
* | Explicitly use setVolatile instead of extra IRBuilder argument. | Daniel Dunbar | 2009-11-29 | 1 | -1/+3 |
| | | | | llvm-svn: 90095 | ||||
* | Pass a value for the isSigned parameter of CreateIntCast, rather than | Duncan Sands | 2009-11-16 | 1 | -5/+10 |
| | | | | | | passing the name (an exotic way of specifying that the result is signed!). llvm-svn: 88909 | ||||
* | Enable the use of the new llvm objectsize intrinsic. | Mike Stump | 2009-11-09 | 1 | -4/+2 |
| | | | | llvm-svn: 86607 | ||||
* | __builtin_object_size refinements. Ensure we handle expressions with | Mike Stump | 2009-10-27 | 1 | -5/+7 |
| | | | | | | | | | | side-effects up front, as when we switch to the llvm intrinsic call for __builtin_object_size later, it will have two evaluations. We also finish off the intrinsic version of the code so we can just turn it on once llvm has the intrinsic. llvm-svn: 85324 | ||||
* | Prep for future __builtin_object_size refinements. The theory is that | Mike Stump | 2009-10-26 | 1 | -0/+11 |
| | | | | | | | | | | someone will add an llvm intrinsic for us to use, so the optimizer can figure out the hard cases. WIP. For those that want to help, double check with Eric before starting. He has a bit of code this will plug into. llvm-svn: 85175 | ||||
* | Simplify pointer creation with the new Type::getInt*Ptr methods. | Benjamin Kramer | 2009-10-13 | 1 | -10/+6 |
| | | | | llvm-svn: 83964 | ||||
* | Implement __builtin_unreachable(), a GCC 4.5 extension. | Chris Lattner | 2009-09-21 | 1 | -1/+6 |
| | | | | llvm-svn: 82433 | ||||
* | Fix subtle bug in generating LLVM function declarations for builtin functions. | Daniel Dunbar | 2009-09-14 | 1 | -1/+1 |
| | | | | | | | | | | The decl wasn't being passed down, which meant that function attributes were not being set correctly. This is particularly important for ARM, since it wants to override the calling convention. Instead we would emit the builtin with the wrong calling convention, and instcombine would come along and merrily shred all the calls to it. :) llvm-svn: 81756 | ||||
* | Remove tabs, and whitespace cleanups. | Mike Stump | 2009-09-09 | 1 | -77/+77 |
| | | | | llvm-svn: 81346 | ||||
* | PR4836, part 2: CodeGen for __builtin_isnan. | Eli Friedman | 2009-09-01 | 1 | -0/+5 |
| | | | | llvm-svn: 80655 | ||||
* | Remove TargetInfo::getTargetPrefix(). | Daniel Dunbar | 2009-08-24 | 1 | -6/+12 |
| | | | | llvm-svn: 79907 | ||||
* | Update for LLVM API change. | Owen Anderson | 2009-08-13 | 1 | -31/+31 |
| | | | | llvm-svn: 78946 | ||||
* | Update for LLVM API change. | Owen Anderson | 2009-07-31 | 1 | -3/+3 |
| | | | | llvm-svn: 77722 | ||||
* | Update for LLVM API changes. | Owen Anderson | 2009-07-30 | 1 | -2/+2 |
| | | | | llvm-svn: 77638 | ||||
* | Update for LLVM API change. | Owen Anderson | 2009-07-29 | 1 | -9/+9 |
| | | | | llvm-svn: 77514 | ||||
* | Update for LLVM API change. | Owen Anderson | 2009-07-27 | 1 | -1/+1 |
| | | | | llvm-svn: 77249 | ||||
* | Switch to getName() | Daniel Dunbar | 2009-07-26 | 1 | -1/+1 |
| | | | | llvm-svn: 77151 | ||||
* | Update for LLVM API change. | Owen Anderson | 2009-07-24 | 1 | -17/+18 |
| | | | | llvm-svn: 77012 | ||||
* | Update for LLVM API change, and contextify a bunch of related stuff. | Owen Anderson | 2009-07-14 | 1 | -32/+33 |
| | | | | llvm-svn: 75705 | ||||
* | Update for LLVM API change. | Owen Anderson | 2009-07-13 | 1 | -3/+4 |
| | | | | llvm-svn: 75446 | ||||
* | Remove the ASTContext parameter from the attribute-related methods of Decl. | Argyrios Kyrtzidis | 2009-06-30 | 1 | -2/+2 |
| | | | | | | | | | 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 | ||||
* | Move the static DeclAttrs map into ASTContext. Fixes <rdar://problem/6983177>. | Douglas Gregor | 2009-06-18 | 1 | -2/+2 |
| | | | | llvm-svn: 73702 | ||||
* | move the various builtins stuff from libast to libbasic. This | Chris Lattner | 2009-06-14 | 1 | -1/+1 |
| | | | | | | fixes a layering violation in lib/Basic/Targets.cpp. llvm-svn: 73318 | ||||
* | Remove a few more vector builtins. | Eli Friedman | 2009-06-07 | 1 | -23/+0 |
| | | | | llvm-svn: 73022 | ||||
* | Now that LLVM CodeGen can handle the generic variations a bit better, | Eli Friedman | 2009-06-07 | 1 | -22/+0 |
| | | | | | | get rid of a few more clang vector builtins. llvm-svn: 73015 | ||||
* | Get rid of a bunch of dead builtins. | Eli Friedman | 2009-06-06 | 1 | -199/+0 |
| | | | | llvm-svn: 72996 | ||||
* | Add support for __builtin_unwind_init. | Eli Friedman | 2009-06-02 | 1 | -0/+30 |
| | | | | | | | | Also, committing an #if 0'ed __builtin_setjmp and __builtin_longjmp implementation I've had sitting in my tree for a while. I haven't enabled it because the LLVM backend support isn't complete yet. llvm-svn: 72727 | ||||
* | If we recognize alloca, treat it as a builtin. This fixes uses of | Eli Friedman | 2009-06-02 | 1 | -0/+1 |
| | | | | | | alloca without declaring it. llvm-svn: 72719 | ||||
* | Fix a use-of-undefined, IRgen expects the RValue for "void" to be a scalar ↵ | Daniel Dunbar | 2009-05-27 | 1 | -2/+2 |
| | | | | | | RValue. llvm-svn: 72504 | ||||
* | Rename an EmitCallExpr function to EmitCall to make it clear that it doesn't ↵ | Anders Carlsson | 2009-05-27 | 1 | -3/+3 |
| | | | | | | emit an expr. llvm-svn: 72446 | ||||
* | Use v.data() instead of &v[0] when SmallVector v might be empty. | Jay Foad | 2009-05-21 | 1 | -1/+1 |
| | | | | llvm-svn: 72210 | ||||
* | Remove an unused builtin. | Anders Carlsson | 2009-05-18 | 1 | -4/+0 |
| | | | | llvm-svn: 72033 | ||||
* | Add 'cmp' SSE builtins and get rid of a bunch of other builtins. | Anders Carlsson | 2009-05-18 | 1 | -154/+14 |
| | | | | llvm-svn: 72032 | ||||
* | implement __sync_synchronize and __sync_lock_release, | Chris Lattner | 2009-05-13 | 1 | -3/+15 |
| | | | | | | rdar://6880573 llvm-svn: 71637 | ||||
* | add support for __sync_nand_and_fetch and __sync_fetch_and_nand, | Chris Lattner | 2009-05-13 | 1 | -2/+20 |
| | | | | | | rdar://6880573 llvm-svn: 71636 | ||||
* | reimplement __sync_* builtins to be variadic and to follow the same | Chris Lattner | 2009-05-08 | 1 | -18/+94 |
| | | | | | | | | | semantic rules that gcc and icc use. This implements the variadic and concrete versions as builtins and has sema do the disambiguation. There are probably a bunch of details to finish up but this seems like a large monotonic step forward :) llvm-svn: 71212 |