Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | 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 | |||||
* | Stop using clang builtins for Neon vmlal{_n,_lane} and vmlsl{_n,_lane}. | Bob Wilson | 2010-12-07 | 1 | -40/+0 | |
| | | | | llvm-svn: 121210 | |||||
* | Stop using a clang builtin for Neon vdup_lane intrinsics. | Bob Wilson | 2010-12-07 | 1 | -9/+1 | |
| | | | | llvm-svn: 121191 | |||||
* | Stop using a clang builtin for Neon vmull_lane intrinsic. | Bob Wilson | 2010-12-07 | 1 | -21/+4 | |
| | | | | llvm-svn: 121189 | |||||
* | Add a missing parameter, without which clang crashes for vqshlu_n intrinsics. | Bob Wilson | 2010-12-07 | 1 | -1/+1 | |
| | | | | llvm-svn: 121188 | |||||
* | Add support for vmul_p8 Neon intrinsic. Radar 8446141. | Bob Wilson | 2010-12-03 | 1 | -0/+4 | |
| | | | | llvm-svn: 120812 | |||||
* | Add a separate rightShift flag instead of reusing the existing "poly" variable | Bob Wilson | 2010-12-03 | 1 | -2/+3 | |
| | | | | | | to distinguish vsri/vsli. llvm-svn: 120806 | |||||
* | Restore r117403 (fixing IR gen for bool atomics), this time being less | John McCall | 2010-10-27 | 1 | -71/+98 | |
| | | | | | | | aggressive about the form we expect bools to be in. I don't really have time to fix all the sources right now. llvm-svn: 117486 | |||||
* | Revert r117403 as it caused PR8480. | Rafael Espindola | 2010-10-27 | 1 | -98/+71 | |
| | | | | llvm-svn: 117456 |