| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Change intrinsic getter to take an ArrayRef, now that the underlying ↵ | Benjamin Kramer | 2011-07-14 | 1 | -97/+94 |
| | | | | | | | function in LLVM does. llvm-svn: 135155 | ||||
| * | clang side to match the LLVM IR type system rewrite patch. | Chris Lattner | 2011-07-09 | 1 | -36/+35 |
| | | | | | llvm-svn: 134831 | ||||
| * | Introduce __builtin_expect() intrinsic support. | Jakub Staszak | 2011-07-08 | 1 | -4/+10 |
| | | | | | llvm-svn: 134761 | ||||
| * | Add codegen support for the fma/fmal/fmaf builtins. | Cameron Zwarich | 2011-07-08 | 1 | -0/+16 |
| | | | | | llvm-svn: 134743 | ||||
| * | Revert "Shorten some ARM builtin names by removing unnecessary "neon" prefix." | Bob Wilson | 2011-06-24 | 1 | -197/+197 |
| | | | | | | | | | Sorry, this was a bad idea. Within clang these builtins are in a separate "ARM" namespace, but the actual builtin names should clearly distinguish tha they are target specific. llvm-svn: 133833 | ||||
| * | Shorten some ARM builtin names by removing unnecessary "neon" prefix. | Bob Wilson | 2011-06-24 | 1 | -197/+197 |
| | | | | | llvm-svn: 133826 | ||||
| * | update for api change. | Chris Lattner | 2011-06-18 | 1 | -2/+1 |
| | | | | | llvm-svn: 133365 | ||||
| * | Update the prefetch intrinsic usage. Now the last argument tells codegen | Bruno Cardoso Lopes | 2011-06-14 | 1 | -1/+2 |
| | | | | | | | whether it's a data or instruction cache access. llvm-svn: 132977 | ||||
| * | Eliminate temporary argument vectors. | Benjamin Kramer | 2011-05-28 | 1 | -3/+2 |
| | | | | | llvm-svn: 132260 | ||||
| * | Add support for ARM ldrexd/strexd builtins | Bruno Cardoso Lopes | 2011-05-28 | 1 | -0/+35 |
| | | | | | llvm-svn: 132249 | ||||
| * | Remove the 'unaligned load' builtins now that they're no longer used in the ↵ | Bill Wendling | 2011-05-13 | 1 | -13/+0 |
| | | | | | | | *mmintrin.h files. llvm-svn: 131300 | ||||
| * | LLVM doesn't always optimize away the four loads from this: | Bill Wendling | 2011-05-12 | 1 | -0/+2 |
| | | | | | | | | | | | (__m128){ p[0], p[1], p[2], p[3] } which produces really bad code. This could be done in instcombine, but it's probably better to do it in the front-end instead. <rdar://problem/9424836> llvm-svn: 131237 | ||||
| * | Simplification noticed by Chris. | Bill Wendling | 2011-05-04 | 1 | -3/+2 |
| | | | | | llvm-svn: 130864 | ||||
| * | Convert the non-temporal store builtins to LLVM-native IR. | Bill Wendling | 2011-05-04 | 1 | -0/+17 |
| | | | | | llvm-svn: 130830 | ||||
| * | Generalize case for built-in expressions having | Fariborz Jahanian | 2011-04-25 | 1 | -11/+4 |
| | | | | | | | | side-effect to generate their ir. Not just for __builtin_expect. // rdar://9330105 llvm-svn: 130172 | ||||
| * | Ir-gen the side-effect(s) when __builtin_expect is | Fariborz Jahanian | 2011-04-25 | 1 | -0/+9 |
| | | | | | | | constant-folded. // rdar://9330105 llvm-svn: 130163 | ||||
| * | fix a crash on code that uses the result value of __builtin___memcpy_chk. | Chris Lattner | 2011-04-20 | 1 | -3/+3 |
| | | | | | llvm-svn: 129892 | ||||
| * | fold memcpy/set/move_chk to llvm.memcpy/set/move when the sizes | Chris Lattner | 2011-04-17 | 1 | -1/+50 |
| | | | | | | | | | | are trivial. This exposes opportunities earlier, and allows fastisel to do good things with these at -O0. This addresses rdar://9289468 - clang doesn't fold memset_chk at -O0 llvm-svn: 129651 | ||||
| * | Add 3DNow! Intrinsics. | Michael J. Spencer | 2011-04-15 | 1 | -0/+132 |
| | | | | | llvm-svn: 129570 | ||||
| * | Removing the unaligned load tests from builtins-x86.c since they're ↵ | Bill Wendling | 2011-04-13 | 1 | -2/+0 |
| | | | | | | | generated by a regular 'load' now. llvm-svn: 129464 | ||||
| * | It looks like the FreeBSD buildbot needs this for the builtins-x86.c test. | Bill Wendling | 2011-04-13 | 1 | -0/+2 |
| | | | | | llvm-svn: 129433 | ||||
| * | Just use a native "load" instead of translating the builtin later. Clang can | Bill Wendling | 2011-04-13 | 1 | -2/+0 |
| | | | | | | | | | | take it! I wasn't able to get __builtin_ia32_loaddqu to transform into an unaligned load...I'll have to look into it further. llvm-svn: 129427 | ||||
| * | Convert the unaligned load builtins to the first-class versions. | Bill Wendling | 2011-04-13 | 1 | -0/+13 |
| | | | | | llvm-svn: 129420 | ||||
| * | add a __sync_swap builtin to fill out the rest of the __sync builtins. | Chris Lattner | 2011-04-09 | 1 | -0/+8 |
| | | | | | | | Patch by Dave Zarzycki! llvm-svn: 129189 | ||||
| * | Oops, prefer C-style cast here | Matt Beaumont-Gay | 2011-03-31 | 1 | -1/+1 |
| | | | | | llvm-svn: 128607 | ||||
| * | Silence GCC warning about differing types on the branches of a conditional ↵ | Matt Beaumont-Gay | 2011-03-31 | 1 | -1/+1 |
| | | | | | | | expression llvm-svn: 128605 | ||||
| * | Use intrinsics for Neon vmull operations. Radar 9208957. | Bob Wilson | 2011-03-31 | 1 | -3/+3 |
| | | | | | llvm-svn: 128590 | ||||
| * | Remove PHINode::reserveOperandSpace(). Instead, add a parameter to | Jay Foad | 2011-03-30 | 1 | -2/+1 |
| | | | | | | | PHINode::Create() giving the (known or expected) number of operands. llvm-svn: 128538 | ||||
| * | (Almost) always call reserveOperandSpace() on newly created PHINodes. | Jay Foad | 2011-03-30 | 1 | -0/+1 |
| | | | | | llvm-svn: 128534 | ||||
| * | Make sure we aggressively attach nounwind (etc.) to calls to library | Eli Friedman | 2011-03-24 | 1 | -2/+1 |
| | | | | | | | functions of the form __builtin_XXX. llvm-svn: 128198 | ||||
| * | __clear_cache() is varargs and people will occasionally write it without | Eric Christopher | 2011-03-14 | 1 | -4/+7 |
| | | | | | | | | | | arguments. Process only the arguments that people write, but process all of them. Fixes rdar://8900346 llvm-svn: 127616 | ||||
| * | update for ConstantVector API change. | Chris Lattner | 2011-02-15 | 1 | -10/+9 |
| | | | | | llvm-svn: 125538 | ||||
| * | revert my ConstantVector patch, it seems to have made the llvm-gcc | Chris Lattner | 2011-02-14 | 1 | -9/+10 |
| | | | | | | | builders unhappy. llvm-svn: 125505 | ||||
| * | update for ConstantVector::get API change. | Chris Lattner | 2011-02-14 | 1 | -10/+9 |
| | | | | | llvm-svn: 125488 | ||||
| * | Reorganize CodeGen{Function,Module} to eliminate the unfortunate | John McCall | 2011-02-08 | 1 | -47/+46 |
| | | | | | | | | | Block{Function,Module} base class. Minor other refactorings. Fixed a few address-space bugs while I was there. llvm-svn: 125085 | ||||
| * | Null initialize a few variables flagged by | Ted Kremenek | 2011-01-23 | 1 | -3/+3 |
| | | | | | | | | | | | clang's -Wuninitialized-experimental warning. While these don't look like real bugs, clang's -Wuninitialized-experimental analysis is stricter than GCC's, and these fixes have the benefit of being general nice cleanups. llvm-svn: 124072 | ||||
| * | Fix a latent bug where, after emitting an expression statement, we would | John McCall | 2011-01-12 | 1 | -11/+21 |
| | | | | | | | | | | | | | | | delete the block we began emitting into if it had no predecessors. We never want to do this, because there are several valid cases during statement emission where an existing block has no known predecessors but will acquire some later. The case in my test case doesn't inherently fall into this category, because we could safely emit the case-range code before the statement body, but there are examples with labels that can't be fallen into that would also demonstrate this bug. rdar://problem/8837067 llvm-svn: 123303 | ||||
| * | Make a helper function static. | Benjamin Kramer | 2011-01-09 | 1 | -1/+2 |
| | | | | | llvm-svn: 123118 | ||||
| * | Simplify mem{cpy, move, set} creation with IRBuilder. | Benjamin Kramer | 2010-12-30 | 1 | -23/+6 |
| | | | | | llvm-svn: 122634 | ||||
| * | Implement builtins for Neon half-precision float conversions. | Bob Wilson | 2010-12-15 | 1 | -1/+10 |
| | | | | | | | | Also tweak the VCVT_F32_F16 entry in arm_neon.td to be more consistent with the other floating-point conversion builtins. Radar 8068427. llvm-svn: 121916 | ||||
| * | Add missing switch case for the quad-register version of the Neon vmul builtin. | Bob Wilson | 2010-12-10 | 1 | -0/+1 |
| | | | | | llvm-svn: 121595 | ||||
| * | Fix clang crashes on Neon vld[234]_dup intrinsics with 64-bit element types. | Bob Wilson | 2010-12-10 | 1 | -0/+21 |
| | | | | | | | The 64-bit element vectors need to be handled as a special case. llvm-svn: 121592 | ||||
| * | Add missing switch case to handle builtin for Neon vqnegq. | Bob Wilson | 2010-12-10 | 1 | -0/+1 |
| | | | | | llvm-svn: 121468 | ||||
| * | LLVM's intrinsics for vpaddl and vpadal have 2 overloaded types. | Bob Wilson | 2010-12-10 | 1 | -4/+18 |
| | | | | | | | Clang was only specifying the overloaded result type. PR8483. llvm-svn: 121464 | ||||
| * | Neon compare absolute LLVM intrinsics are not overloaded. PR8484. | Bob Wilson | 2010-12-10 | 1 | -4/+4 |
| | | | | | llvm-svn: 121447 | ||||
| * | Stop using builtins for the "_lane" variants of saturating multiply intrinsics. | Bob Wilson | 2010-12-08 | 1 | -34/+16 |
| | | | | | | | | Remove the "splat" parameter from the EmitNeonCall function, since it is no longer needed. llvm-svn: 121300 | ||||
| * | Stop using clang builtins for Neon vabdl and vabal intrinsics. | Bob Wilson | 2010-12-08 | 1 | -17/+0 |
| | | | | | llvm-svn: 121288 | ||||
| * | Stop using clang builtins for Neon vaba intrinsics. | Bob Wilson | 2010-12-08 | 1 | -10/+0 |
| | | | | | llvm-svn: 121277 | ||||
| * | Silence an unused variable warning. | Chandler Carruth | 2010-12-08 | 1 | -0/+1 |
| | | | | | llvm-svn: 121221 | ||||
| * | Stop using clang builtins for Neon vadd[lw] and vsub[lw] intrinsics. | Bob Wilson | 2010-12-08 | 1 | -46/+0 |
| | | | | | llvm-svn: 121214 | ||||

