summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGBuiltin.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Eliminate temporary argument vectors.Benjamin Kramer2011-05-281-3/+2
| | | | llvm-svn: 132260
* Add support for ARM ldrexd/strexd builtinsBruno Cardoso Lopes2011-05-281-0/+35
| | | | llvm-svn: 132249
* Remove the 'unaligned load' builtins now that they're no longer used in the ↵Bill Wendling2011-05-131-13/+0
| | | | | | *mmintrin.h files. llvm-svn: 131300
* LLVM doesn't always optimize away the four loads from this:Bill Wendling2011-05-121-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 Wendling2011-05-041-3/+2
| | | | llvm-svn: 130864
* Convert the non-temporal store builtins to LLVM-native IR.Bill Wendling2011-05-041-0/+17
| | | | llvm-svn: 130830
* Generalize case for built-in expressions havingFariborz Jahanian2011-04-251-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 isFariborz Jahanian2011-04-251-0/+9
| | | | | | constant-folded. // rdar://9330105 llvm-svn: 130163
* fix a crash on code that uses the result value of __builtin___memcpy_chk.Chris Lattner2011-04-201-3/+3
| | | | llvm-svn: 129892
* fold memcpy/set/move_chk to llvm.memcpy/set/move when the sizesChris Lattner2011-04-171-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. Spencer2011-04-151-0/+132
| | | | llvm-svn: 129570
* Removing the unaligned load tests from builtins-x86.c since they're ↵Bill Wendling2011-04-131-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 Wendling2011-04-131-0/+2
| | | | llvm-svn: 129433
* Just use a native "load" instead of translating the builtin later. Clang canBill Wendling2011-04-131-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 Wendling2011-04-131-0/+13
| | | | llvm-svn: 129420
* add a __sync_swap builtin to fill out the rest of the __sync builtins. Chris Lattner2011-04-091-0/+8
| | | | | | Patch by Dave Zarzycki! llvm-svn: 129189
* Oops, prefer C-style cast hereMatt Beaumont-Gay2011-03-311-1/+1
| | | | llvm-svn: 128607
* Silence GCC warning about differing types on the branches of a conditional ↵Matt Beaumont-Gay2011-03-311-1/+1
| | | | | | expression llvm-svn: 128605
* Use intrinsics for Neon vmull operations. Radar 9208957.Bob Wilson2011-03-311-3/+3
| | | | llvm-svn: 128590
* Remove PHINode::reserveOperandSpace(). Instead, add a parameter toJay Foad2011-03-301-2/+1
| | | | | | PHINode::Create() giving the (known or expected) number of operands. llvm-svn: 128538
* (Almost) always call reserveOperandSpace() on newly created PHINodes.Jay Foad2011-03-301-0/+1
| | | | llvm-svn: 128534
* Make sure we aggressively attach nounwind (etc.) to calls to libraryEli Friedman2011-03-241-2/+1
| | | | | | functions of the form __builtin_XXX. llvm-svn: 128198
* __clear_cache() is varargs and people will occasionally write it withoutEric Christopher2011-03-141-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 Lattner2011-02-151-10/+9
| | | | llvm-svn: 125538
* revert my ConstantVector patch, it seems to have made the llvm-gccChris Lattner2011-02-141-9/+10
| | | | | | builders unhappy. llvm-svn: 125505
* update for ConstantVector::get API change.Chris Lattner2011-02-141-10/+9
| | | | llvm-svn: 125488
* Reorganize CodeGen{Function,Module} to eliminate the unfortunateJohn McCall2011-02-081-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 byTed Kremenek2011-01-231-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 wouldJohn McCall2011-01-121-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 Kramer2011-01-091-1/+2
| | | | llvm-svn: 123118
* Simplify mem{cpy, move, set} creation with IRBuilder.Benjamin Kramer2010-12-301-23/+6
| | | | llvm-svn: 122634
* Implement builtins for Neon half-precision float conversions.Bob Wilson2010-12-151-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 Wilson2010-12-101-0/+1
| | | | llvm-svn: 121595
* Fix clang crashes on Neon vld[234]_dup intrinsics with 64-bit element types.Bob Wilson2010-12-101-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 Wilson2010-12-101-0/+1
| | | | llvm-svn: 121468
* LLVM's intrinsics for vpaddl and vpadal have 2 overloaded types.Bob Wilson2010-12-101-4/+18
| | | | | | Clang was only specifying the overloaded result type. PR8483. llvm-svn: 121464
* Neon compare absolute LLVM intrinsics are not overloaded. PR8484.Bob Wilson2010-12-101-4/+4
| | | | llvm-svn: 121447
* Stop using builtins for the "_lane" variants of saturating multiply intrinsics.Bob Wilson2010-12-081-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 Wilson2010-12-081-17/+0
| | | | llvm-svn: 121288
* Stop using clang builtins for Neon vaba intrinsics.Bob Wilson2010-12-081-10/+0
| | | | llvm-svn: 121277
* Silence an unused variable warning.Chandler Carruth2010-12-081-0/+1
| | | | llvm-svn: 121221
* Stop using clang builtins for Neon vadd[lw] and vsub[lw] intrinsics.Bob Wilson2010-12-081-46/+0
| | | | llvm-svn: 121214
* Stop using clang builtins for Neon vmlal{_n,_lane} and vmlsl{_n,_lane}.Bob Wilson2010-12-071-40/+0
| | | | llvm-svn: 121210
* Stop using a clang builtin for Neon vdup_lane intrinsics.Bob Wilson2010-12-071-9/+1
| | | | llvm-svn: 121191
* Stop using a clang builtin for Neon vmull_lane intrinsic.Bob Wilson2010-12-071-21/+4
| | | | llvm-svn: 121189
* Add a missing parameter, without which clang crashes for vqshlu_n intrinsics.Bob Wilson2010-12-071-1/+1
| | | | llvm-svn: 121188
* Add support for vmul_p8 Neon intrinsic. Radar 8446141.Bob Wilson2010-12-031-0/+4
| | | | llvm-svn: 120812
* Add a separate rightShift flag instead of reusing the existing "poly" variableBob Wilson2010-12-031-2/+3
| | | | | | to distinguish vsri/vsli. llvm-svn: 120806
* Restore r117403 (fixing IR gen for bool atomics), this time being less John McCall2010-10-271-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 Espindola2010-10-271-98/+71
| | | | llvm-svn: 117456
OpenPOWER on IntegriCloud