summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/IntrinsicLowering.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Convert the last uses of CastInst::createInferredCast to a normal castReid Spencer2006-12-181-5/+13
| | | | | | | | creation. These changes are still temporary but at least this pushes knowledge of signedness out closer to where it can be determined properly and allows signedness to be removed from VMCore. llvm-svn: 32654
* This case isn't needed with recent changes to ConstantInt::getChris Lattner2006-12-121-3/+1
| | | | llvm-svn: 32472
* Change inferred cast creation calls to more specific cast creations.Reid Spencer2006-12-121-1/+1
| | | | llvm-svn: 32460
* Changed llvm_ostream et all to OStream. llvm_cerr, llvm_cout, llvm_null, areBill Wendling2006-12-071-12/+12
| | | | | | now cerr, cout, and NullStream resp. llvm-svn: 32298
* Changed to using llvm streams.Bill Wendling2006-11-281-10/+9
| | | | llvm-svn: 31954
* For PR950:Reid Spencer2006-11-271-21/+79
| | | | | | | | | | The long awaited CAST patch. This introduces 12 new instructions into LLVM to replace the cast instruction. Corresponding changes throughout LLVM are provided. This passes llvm-test, llvm/test, and SPEC CPUINT2000 with the exception of 175.vpr which fails only on a slight floating point output difference. llvm-svn: 31931
* Simplify IntrinsicLowering and clarify that it is only for use by theChris Lattner2006-11-151-3/+3
| | | | | | CBE and interpreter. llvm-svn: 31755
* 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