summaryrefslogtreecommitdiffstats
path: root/llvm/test/Bitcode
Commit message (Collapse)AuthorAgeFilesLines
...
* It's valid to take the blockaddress of a different function, so remove thisNick Lewycky2011-05-061-0/+30
| | | | | | | assert in the bitcode writer. No change needed because the ValueEnumerator holds a whole-module numbering anyhow. Fixes PR9857! llvm-svn: 131016
* Add intrinsics @llvm.arm.neon.vmulls and @llvm.arm.neon.vmullu.* back. FrontendsEvan Cheng2011-03-291-10/+3
| | | | | | | | | | | | | | | was lowering them to sext / uxt + mul instructions. Unfortunately the optimization passes may hoist the extensions out of the loop and separate them. When that happens, the long multiplication instructions can be broken into several scalar instructions, causing significant performance issue. Note the vmla and vmls intrinsics are not added back. Frontend will codegen them as intrinsics vmull* + add / sub. Also note the isel optimizations for catching mul + sext / zext are not changed either. First part of rdar://8832507, rdar://9203134 llvm-svn: 128502
* Testcase for PR8494 (invalid bitcode crashing the bitcode reader).Duncan Sands2010-10-282-0/+2
| | | | llvm-svn: 117552
* Massive rewrite of MMX: Dale Johannesen2010-09-301-0/+0
| | | | | | | | | | | | | | | | | | | The x86_mmx type is used for MMX intrinsics, parameters and return values where these use MMX registers, and is also supported in load, store, and bitcast. Only the above operations generate MMX instructions, and optimizations do not operate on or produce MMX intrinsics. MMX-sized vectors <2 x i32> etc. are lowered to XMM or split into smaller pieces. Optimizations may occur on these forms and the result casted back to x86_mmx, provided the result feeds into a previous existing x86_mmx operation. The point of all this is prevent optimizations from introducing MMX operations, which is unsafe due to the EMMS problem. llvm-svn: 115243
* Auto-upgrade the magic ".llvm.eh.catch.all.value" global toBill Wendling2010-09-102-0/+3
| | | | | | "llvm.eh.catch.all.value". Only the name needs to be changed. llvm-svn: 113600
* Replace NEON vabdl, vaba, and vabal intrinsics with combinations of theBob Wilson2010-09-032-0/+38
| | | | | | | | vabd intrinsic and add and/or zext operations. In the case of vaba, this also avoids the need for a DAG combine pattern to combine vabd with add. Update tests. Auto-upgrade the old intrinsics. llvm-svn: 112941
* Remove NEON vmull, vmlal, and vmlsl intrinsics, replacing them with multiply,Bob Wilson2010-09-012-1/+51
| | | | | | | add, and subtract operations with zero-extended or sign-extended vectors. Update tests. Add auto-upgrade support for the old intrinsics. llvm-svn: 112773
* Remove NEON vmovn intrinsic, replacing it with vector truncate operations.Bob Wilson2010-08-302-0/+14
| | | | | | Auto-upgrade the old intrinsic and update tests. llvm-svn: 112507
* Remove NEON vaddl, vaddw, vsubl, and vsubw intrinsics. Instead, use llvmBob Wilson2010-08-292-0/+48
| | | | | | | IR add/sub operations with one or both operands sign- or zero-extended. Auto-upgrade the old intrinsics. llvm-svn: 112416
* Add alignment arguments to all the NEON load/store intrinsics.Bob Wilson2010-08-272-0/+34
| | | | | | | Update all the tests using those intrinsics and add support for auto-upgrading bitcode files with the old versions of the intrinsics. llvm-svn: 112271
* Replace the arm.neon.vmovls and vmovlu intrinsics with vector sign-extend andBob Wilson2010-08-202-0/+29
| | | | | | zero-extend operations. llvm-svn: 111614
* reapply 'reject forward references to functions whose type don't match'Chris Lattner2010-04-201-1/+1
| | | | | | now that the testsuite has been updated. llvm-svn: 101866
* Remove the palignr intrinsics now that we lower them to vector shuffles,Eric Christopher2010-04-202-0/+1
| | | | | | | | shifts and null vectors. Autoupgrade these to what we'd lower them to. Add a testcase to exercise this. llvm-svn: 101851
* Revert "reject forward references to functions whose type don't match", ↵Daniel Dunbar2010-04-171-1/+1
| | | | | | because DJG told me to! llvm-svn: 101675
* reject forward references to functions whose type don't matchChris Lattner2010-04-171-1/+1
| | | | | | up with the definition (and fix a broken testcase). PR6491. llvm-svn: 101670
* add newlines at the end of files.Chris Lattner2010-04-071-1/+1
| | | | llvm-svn: 100705
* Reapply address space patch after fixing an issue in MemCopyOptimizer.Mon P Wang2010-04-041-0/+2
| | | | | | | Added support for address spaces and added a isVolatile field to memcpy, memmove, and memset, e.g., llvm.memcpy.i32(i8*, i8*, i32, i32) -> llvm.memcpy.p0i8.p0i8.i32(i8*, i8*, i32, i32, i1) llvm-svn: 100304
* Revert r100191 since it breaks objc in clang Mon P Wang2010-04-021-2/+0
| | | | llvm-svn: 100199
* Reapply address space patch after fixing an issue in MemCopyOptimizer.Mon P Wang2010-04-021-0/+2
| | | | | | | Added support for address spaces and added a isVolatile field to memcpy, memmove, and memset, e.g., llvm.memcpy.i32(i8*, i8*, i32, i32) -> llvm.memcpy.p0i8.p0i8.i32(i8*, i8*, i32, i32, i1) llvm-svn: 100191
* Remove the pmulld intrinsic and autoupdate it as a vector multiply.Eric Christopher2010-03-302-0/+2
| | | | | | | Rewrite the pmulld patterns, and make sure that they fold in loads of arguments into the instruction. llvm-svn: 99910
* Fix the bitcode reader to deserialize nuw/nsw/etc. bits properly in the caseDan Gohman2010-01-251-0/+27
| | | | | | of a forward-reference, which doesn't use an "abbrev" encoding. llvm-svn: 94454
* Change tests from "opt %s" to "opt < %s" so that opt doesn't see theDan Gohman2009-09-111-1/+1
| | | | | | | | input filename so that opt doesn't print the input filename in the output so that grep lines in the tests don't unintentionally match strings in the input filename. llvm-svn: 81537
* Change these tests to feed the assembly files to opt directly, insteadDan Gohman2009-09-081-1/+1
| | | | | | of using llvm-as, now that opt supports this. llvm-svn: 81226
* Remove obsolete -f flags.Dan Gohman2009-08-253-3/+3
| | | | llvm-svn: 79992
* Use separate ValueList for metadata.Devang Patel2009-08-042-0/+93
| | | | | | This fixes PR4666. llvm-svn: 78056
* Revert recent bitcode writer patches.Devang Patel2009-08-041-5/+0
| | | | llvm-svn: 78053
* Constants and Metadata share ValueList. This means they must be emitted ↵Devang Patel2009-08-041-0/+5
| | | | | | interleaved (using appropriate BLOCK_IDs) otherwise ValuePtrs index gets out of sync. llvm-svn: 78033
* Don't remove aggregate-typed module level constants before encoding functionsNick Lewycky2009-06-121-0/+12
| | | | | | since functions may contain aggregate constants too. llvm-svn: 73220
* fix a bitcode reader bug where it can't handle extractelement correctly:Chris Lattner2009-02-031-0/+8
| | | | | | the index of the value being extracted is always an i32. This fixes PR3465 llvm-svn: 63597
* Eliminate x86.sse2.punpckh.qdq and x86.sse2.punpckl.qdq.Evan Cheng2008-05-242-0/+3
| | | | llvm-svn: 51533
* Eliminate x86.sse2.movs.d, x86.sse2.shuf.pd, x86.sse2.unpckh.pd, and ↵Evan Cheng2008-05-246-0/+7
| | | | | | x86.sse2.unpckl.pd intrinsics. These will be lowered into shuffles. llvm-svn: 51531
* Autoupgrade x86.sse2.loadh.pd and x86.sse2.loadl.pd.Evan Cheng2008-05-242-0/+2
| | | | llvm-svn: 51523
* Eliminate questionable syntax for stdin redirection. This probably also ↵Gabor Greif2008-05-201-1/+1
| | | | | | speeds things up a bit. llvm-svn: 51357
* sabre brings to my attention that the 'tr' suffix is also obsoleteGabor Greif2008-05-201-1/+1
| | | | llvm-svn: 51349
* Rename the last test with .llx extension to .ll, resolve duplicate test by ↵Gabor Greif2008-05-201-1/+1
| | | | | | renaming to isnan2. Now that no test has llx ending there is no need to search for them from dg.exp too. llvm-svn: 51328
* fix this test.Chris Lattner2008-02-171-1/+1
| | | | llvm-svn: 47232
* Remove llvm-upgrade.Tanya Lattner2008-02-172-17/+21
| | | | llvm-svn: 47230
* Bring back int_x86_sse2_movl_dq intrinsic for backward compatibility. Make sureEvan Cheng2007-12-172-0/+2
| | | | | | it's auto-upgraded to a shufflevector instruction. llvm-svn: 45131
* This is the patch to provide clean intrinsic function overloading support in ↵Chandler Carruth2007-08-042-0/+10
| | | | | | | | LLVM. It cleans up the intrinsic definitions and generally smooths the process for more complicated intrinsic writing. It will be used by the upcoming atomic intrinsics as well as vector and float intrinsics in the future. This also changes the syntax for llvm.bswap, llvm.part.set, llvm.part.select, and llvm.ct* intrinsics. They are automatically upgraded by both the LLVM ASM reader and the bitcode reader. The test cases have been updated, with special tests added to ensure the automatic upgrading is supported. llvm-svn: 40807
* Moving regression test to reflect move in source and headers to Bitcode.Chandler Carruth2007-07-253-0/+30
llvm-svn: 40488
OpenPOWER on IntegriCloud