summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGBuiltin.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Patch adds support for copying of thoseFariborz Jahanian2010-06-151-0/+11
| | | | | | | | objective-c++ class objects which have GC'able objc object pointers and need to use ObjC's objc_memmove_collectable API (radar 8070772). llvm-svn: 106061
* An implementation of __builtin__fpclassify the way Chris Lattner described ↵Benjamin Kramer2010-06-141-0/+58
| | | | | | by Jörg Blank. llvm-svn: 105936
* Add some missing shiftsNate Begeman2010-06-141-23/+45
| | | | | | | | Fix multiplies by scalar Add SemaChecking code for all immediates Add SemaChecking-gen support to arm_neon.td llvm-svn: 105930
* Most of NEON sema checking & fix to polynomial type detectionNate Begeman2010-06-131-1/+1
| | | | llvm-svn: 105908
* Shifts complete. Only vld & sema checking of constants remain.Nate Begeman2010-06-121-1/+29
| | | | llvm-svn: 105879
* vbsl, vrev* is implemented via arm_neon.hNate Begeman2010-06-121-2/+0
| | | | llvm-svn: 105875
* Most of remaining builtins, 2 generics, vld, and rounding shfits remain.Nate Begeman2010-06-111-9/+113
| | | | llvm-svn: 105848
* Multiplies, some shifts, set_laneNate Begeman2010-06-101-8/+109
| | | | llvm-svn: 105793
* support _lane ops, and multiplies by scalar.Nate Begeman2010-06-101-6/+22
| | | | llvm-svn: 105770
* Implement codegen for hadd, hsub, max, min, mlal, movl, movn, padal, mov_nNate Begeman2010-06-091-1/+35
| | | | | | Make note about how to handle the dozen or so multiply by scalar ops. llvm-svn: 105734
* More accurate BuiltinsARM.def Nate Begeman2010-06-091-0/+11
| | | | | | vget_lane support llvm-svn: 105684
* Simplify the code a bit and avoid a gcc waring about uninitialized variables.Rafael Espindola2010-06-091-29/+24
| | | | llvm-svn: 105676
* Implement transpose/zip/unzip & table lookup.Nate Begeman2010-06-091-4/+81
| | | | | | Test out some basic constant-checking. llvm-svn: 105667
* Fix NEON intrinsic argument passing, support vext. Most now successfully ↵Nate Begeman2010-06-081-57/+83
| | | | | | make it through codegen to the .s file llvm-svn: 105599
* Fix what looks like a merge problem that broke __clear_cache.Rafael Espindola2010-06-081-1/+1
| | | | llvm-svn: 105595
* Implement ARM NEON up through vcvt, alphabetically.Nate Begeman2010-06-081-1/+57
| | | | llvm-svn: 105590
* Implement __clear_cache on ARM.Rafael Espindola2010-06-071-4/+9
| | | | llvm-svn: 105537
* weekend checkpoint of arm neon builtins codegen. Nate Begeman2010-06-071-0/+89
| | | | | | TODO: add remainder of builtins to CGBuiltin, add code to SemaChecking to validate constants. llvm-svn: 105532
* This cast is no longer needed; the FIXME is fixed.Dan Gohman2010-05-281-2/+0
| | | | llvm-svn: 104919
* Update __builtin_setjmp codegen to match llvmCore changes in r104900.Jim Grosbach2010-05-271-0/+8
| | | | llvm-svn: 104902
* Enable the implementation of __builtin_setjmp and __builtin_longjmp. Not allJohn McCall2010-05-271-15/+18
| | | | | | LLVM backends support these yet. llvm-svn: 104867
* Implement codegen for __builtin_isnormal.Benjamin Kramer2010-05-191-5/+19
| | | | llvm-svn: 104118
* add todos for isinf_sign and isnormal, which I don't intend to implementChris Lattner2010-05-061-1/+8
| | | | | | in the near future. llvm-svn: 103169
* implement codegen support for __builtin_isfinite, part of PR6083Chris Lattner2010-05-061-0/+13
| | | | llvm-svn: 103168
* implement part of PR6083: codegen support for isinf. Like isnan,Chris Lattner2010-05-061-1/+35
| | | | | | | this is generating correct but suboptimal (extra extend to double) code for the float case. Will investigate next. llvm-svn: 103166
* Rewrite handling of 64-bit palignr intrinsics to be vector shuffles.Eric Christopher2010-04-151-2/+32
| | | | | | | | | Stop multiplying constant by 8 accordingly in the header and change intrinsic definition for what types we expect. Add to existing palignr test to check that we're emitting the correct things. llvm-svn: 101332
* implement altivec.h and a bunch of support code, patch by Anton Yartsev!Chris Lattner2010-04-141-0/+44
| | | | llvm-svn: 101215
* @llvm.sqrt isn't really close enough to C's sqrt to justify emitting callsJohn McCall2010-04-071-7/+6
| | | | | | | | to the intrinsic, even when math-errno is off. Fixes rdar://problem/7828230 by falling back on the library function. llvm-svn: 100613
* Reapply patch for adding support for address spaces and added a isVolatile ↵Mon P Wang2010-04-041-17/+29
| | | | | | field to memcpy, memmove, and memset. llvm-svn: 100305
* Revert r100193 since it causes failures in objc in clangMon P Wang2010-04-021-29/+17
| | | | llvm-svn: 100200
* Reapply patch for adding support for address spaces and added a isVolatile ↵Mon P Wang2010-04-021-17/+29
| | | | | | field to memcpy, memmove, and memset. llvm-svn: 100193
* Revert Mon Ping's 99930 due to broken llvm-gcc buildbots.Bob Wilson2010-03-301-29/+17
| | | | llvm-svn: 99949
* Added support for address spaces and added a isVolatile field to memcpy, ↵Mon P Wang2010-03-301-17/+29
| | | | | | memmove, and memset llvm-svn: 99930
* Remove support for nand atomic builtins. They are inconsistently implemented inDaniel Dunbar2010-03-251-17/+0
| | | | | | | gcc, and the common expectation seems to be that they are unused. If and when someone cares we can add them back with well documented demantics. llvm-svn: 99522
* IRgen: Wrap atomic intrinsics with memory barriers, to ensure we honor the ↵Daniel Dunbar2010-03-201-25/+51
| | | | | | | | semantics. - This should be conservatively correct, we eventually should have target hooks for platforms that are less strict. llvm-svn: 99050
* PR6515: Implement __builtin_signbit and friends.Eli Friedman2010-03-061-0/+17
| | | | | | | I'm reasonably sure my implementation is correct, but it would be nice if someone could double-check. llvm-svn: 97864
* Implement __builtin_dwarf_sp_column for i386 (Darwin and not), x86-64 (all),John McCall2010-03-061-0/+16
| | | | | | | and ARM. Implement __builtin_init_dwarf_reg_size_table for i386 (both) and x86-64 (all). llvm-svn: 97859
* Revert changes r97693, r97700, and r97718.John McCall2010-03-041-15/+0
| | | | | | Our testing framework can't deal with disabled targets yet. llvm-svn: 97719
* Implement __builtin_dwarf_sp_column().John McCall2010-03-041-0/+15
| | | | llvm-svn: 97700
* add framework for ARM builtins, Patch by Edmund Grimley Evans!Chris Lattner2010-03-031-0/+15
| | | | llvm-svn: 97656
* Sketch out an implementation for __builtin_dwarf_cfa. I have no ideaJohn McCall2010-03-031-0/+18
| | | | | | why the front-end is calculating the argument to llvm.eh.dwarf.cfa(). llvm-svn: 97653
* Implement __builtin_eh_return.John McCall2010-03-031-0/+16
| | | | llvm-svn: 97643
* Add proper target hooks for __builtin_extract_return_address andJohn McCall2010-03-031-3/+9
| | | | | | | __builtin_frob_return_address. The implementations for both are still trivial in the default case. llvm-svn: 97638
* Inspired by seeing "MIPS" go by in the commits, I've gone ahead andJohn McCall2010-03-021-10/+25
| | | | | | | | | | | implemented a (codegen) target hook for __builtin_extend_pointer. I'm also making it return a uint64_t instead of an unsigned word; this comports with typical usage (i.e. the one use I know of). I don't know if any of the existing targets requires this hook to be set (other than x86 and x86_64, which I know do not). llvm-svn: 97547
* After much consultation aimed at figuring out what this builtin actuallyJohn McCall2010-03-021-0/+16
| | | | | | | does, document the results and then implement __builtin_extend_pointer for platforms where it's a no-op. llvm-svn: 97540
* IRgen: Add CreateMemTemp, for creating an temporary memory object for a ↵Daniel Dunbar2010-02-091-2/+1
| | | | | | | | | | particular type, and flood fill. - CreateMemTemp sets the alignment on the alloca correctly, which fixes a great many places in IRgen where we were doing the wrong thing. - This fixes many many more places than the test case, but my feeling is we need to audit alignment systematically so I'm not inclined to try hard to test the individual fixes in this patch. If this bothers you, patches welcome! PR6240. llvm-svn: 95648
* IRgen: Fix some CreateTempAlloca calls to use ConvertTypeForMem when that isDaniel Dunbar2010-02-051-1/+2
| | | | | | conceptually correct. Review appreciated (Chris, Eli, Anders). llvm-svn: 95401
* Add bzero builtin; this should help codegen quality for code using thisEli Friedman2010-01-231-0/+1
| | | | | | function. llvm-svn: 94320
* Created __builtin___NSStringMakeConstantString() builtin, which generates ↵David Chisnall2010-01-231-0/+1
| | | | | | constant Objective-C strings. llvm-svn: 94274
* Add codgen for BI__builtin_llvm_memory_barrier.Tanya Lattner2010-01-161-0/+12
| | | | llvm-svn: 93611
OpenPOWER on IntegriCloud