summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/IntrinsicLowering.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* For PR950:Reid Spencer2006-11-081-38/+14
| | | | | | | | This patch converts the old SHR instruction into two instructions, AShr (Arithmetic) and LShr (Logical). The Shr instructions now are not dependent on the sign of their operands. llvm-svn: 31542
* For PR950:Reid Spencer2006-10-201-17/+18
| | | | | | | | This patch implements the first increment for the Signless Types feature. All changes pertain to removing the ConstantSInt and ConstantUInt classes in favor of just using ConstantInt. llvm-svn: 31063
* Handle new forms of llvm.dbg intrinsics.Jim Laskey2006-03-231-0/+1
| | | | llvm-svn: 26988
* Handle the removal of the debug chain.Jim Laskey2006-03-131-2/+0
| | | | llvm-svn: 26729
* remove dbg_declare, it's not used yet.Chris Lattner2006-03-091-1/+0
| | | | llvm-svn: 26659
* Split memcpy/memset/memmove intrinsics into i32/i64 versions, resolvingChris Lattner2006-03-031-6/+12
| | | | | | PR709, and paving the way for future progress. llvm-svn: 26476
* For PR411:Reid Spencer2006-01-161-11/+23
| | | | | | | | | | | | | | | | This patch is an incremental step towards supporting a flat symbol table. It de-overloads the intrinsic functions by providing type-specific intrinsics and arranging for automatically upgrading from the old overloaded name to the new non-overloaded name. Specifically: llvm.isunordered -> llvm.isunordered.f32, llvm.isunordered.f64 llvm.sqrt -> llvm.sqrt.f32, llvm.sqrt.f64 llvm.ctpop -> llvm.ctpop.i8, llvm.ctpop.i16, llvm.ctpop.i32, llvm.ctpop.i64 llvm.ctlz -> llvm.ctlz.i8, llvm.ctlz.i16, llvm.ctlz.i32, llvm.ctlz.i64 llvm.cttz -> llvm.cttz.i8, llvm.cttz.i16, llvm.cttz.i32, llvm.cttz.i64 New code should not use the overloaded intrinsic names. Warnings will be emitted if they are used. llvm-svn: 25366
* Add BSWAP stuff to intrinsic lowering for CBE & friends.Nate Begeman2006-01-161-2/+106
| | | | llvm-svn: 25355
* Add "support" for the llvm.stacksave/stackrestore intrinsics, this isChris Lattner2006-01-131-2/+15
| | | | | | used by the C backend. llvm-svn: 25267
* continued readcyclecounter supportAndrew Lenharth2005-11-111-0/+6
| | | | llvm-svn: 24300
* When a function takes a variable number of pointer arguments, with a zeroJeff Cohen2005-10-231-1/+2
| | | | | | | | | | | | | pointer marking the end of the list, the zero *must* be cast to the pointer type. An un-cast zero is a 32-bit int, and at least on x86_64, gcc will not extend the zero to 64 bits, thus allowing the upper 32 bits to be random junk. The new END_WITH_NULL macro may be used to annotate a such a function so that GCC (version 4 or newer) will detect the use of un-casted zero at compile time. llvm-svn: 23888
* Eliminate all remaining tabs and trailing spaces.Jeff Cohen2005-07-271-1/+1
| | | | llvm-svn: 22523
* Fix lowering of ctlz, so now UnitTests/2005-05-11-Popcount-ffs-fls passesChris Lattner2005-05-111-40/+26
| | | | | | with the CBE llvm-svn: 21875
* Fix lowering of cttz to work with signed valuesChris Lattner2005-05-111-5/+4
| | | | llvm-svn: 21874
* fix and concisify intinsic lowering for ctpop. Unfortunately, this codeChris Lattner2005-05-111-167/+61
| | | | | | looks completely untested. :( llvm-svn: 21873
* Wrap long lines. Fix "warning: conflicting types for built-in function ↵Chris Lattner2005-05-081-8/+15
| | | | | | | | 'memset'" warning from the CBE+GCC. llvm-svn: 21779
* Implement count leading zeros (ctlz), count trailing zeros (cttz), and countAndrew Lenharth2005-05-031-0/+196
| | | | | | | | | population (ctpop). Generic lowering is implemented, however only promotion is implemented for SelectionDAG at the moment. More coming soon. llvm-svn: 21676
* Do not use deprecated APIsAlkis Evlogimenos2005-04-301-1/+1
| | | | llvm-svn: 21639
* Lower llvm.sqrt -> fsqrt/sqrtChris Lattner2005-04-301-1/+17
| | | | llvm-svn: 21629
* Remove trailing whitespaceMisha Brukman2005-04-211-6/+6
| | | | llvm-svn: 21420
* First step in adding pcmarker intrinsic. Second step (soon) is adding ↵Andrew Lenharth2005-03-281-0/+3
| | | | | | backend support. llvm-svn: 20900
* This mega patch converts us from using Function::a{iterator|begin|end} toChris Lattner2005-03-151-10/+10
| | | | | | | | using Function::arg_{iterator|begin|end}. Likewise Module::g* -> Module::global_*. This patch is contributed by Gabor Greif, thanks! llvm-svn: 20597
* Lower llvm.isunordered(a, b) into a != a | b != b.Alkis Evlogimenos2005-03-011-3/+8
| | | | llvm-svn: 20382
* Lower prefetch to a noop, patch contributed by Justin Wick!Chris Lattner2005-02-281-0/+3
| | | | llvm-svn: 20375
* Fix #includes of i*.h => Instructions.h as per PR403.Misha Brukman2004-07-291-1/+1
| | | | llvm-svn: 15334
* Add #include <iostream> since Value.h does not #include it any more.Reid Spencer2004-07-041-0/+2
| | | | llvm-svn: 14622
* Move the IntrinsicLowering header into the CodeGen directory, as per PR346Chris Lattner2004-06-201-0/+214
| | | | llvm-svn: 14266
* Move into the VMCore libraryChris Lattner2003-12-281-57/+0
| | | | llvm-svn: 10623
* Implement the default implementation of the intrinsic lowering classChris Lattner2003-12-281-0/+57
llvm-svn: 10621
OpenPOWER on IntegriCloud