summaryrefslogtreecommitdiffstats
path: root/llvm/lib/VMCore/AutoUpgrade.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Rather than having special rules like "intrinsics cannotDuncan Sands2007-12-031-1/+12
| | | | | | | | | throw exceptions", just mark intrinsics with the nounwind attribute. Likewise, mark intrinsics as readnone/readonly and get rid of special aliasing logic (which didn't use anything more than this anyway). llvm-svn: 44544
* Fix PR1146: parameter attributes are longer part ofDuncan Sands2007-11-271-7/+4
| | | | | | | | | | | | the function type, instead they belong to functions and function calls. This is an updated and slightly corrected version of Reid Spencer's original patch. The only known problem is that auto-upgrading of bitcode files doesn't seem to work properly (see test/Bitcode/AutoUpgradeIntrinsics.ll). Hopefully a bitcode guru (who might that be? :) ) will fix it. llvm-svn: 44359
* This is the patch to provide clean intrinsic function overloading support in ↵Chandler Carruth2007-08-041-0/+197
| | | | | | | | 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
* Remove dead code.Reid Spencer2006-12-031-287/+0
| | | | llvm-svn: 32157
* Changed to using LLVM streams.Bill Wendling2006-11-281-2/+2
| | | | llvm-svn: 31955
* For PR950:Reid Spencer2006-11-271-4/+4
| | | | | | | | | | 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
* Undo a patch that breaks llvm-as because the warning message is written toReid Spencer2006-05-301-1/+1
| | | | | | | stdout when the output of llvm-as is also written to stdout. We'll have to fix tcl some other way. llvm-svn: 28557
* Write the WARNING message to cout instead of cerr. Writing to cerr causesReid Spencer2006-05-301-1/+1
| | | | | | | Tcl to claim that the program had an error and thus produces errors in the dejagnu testing when its really just a warning. llvm-svn: 28556
* Don't emit useless warning messages.Reid Spencer2006-04-121-2/+3
| | | | llvm-svn: 27617
* Cast instruction not inserted into basic block.Jim Laskey2006-03-251-41/+5
| | | | llvm-svn: 27122
* Add some more bulletproofing to auto upgrade of llvm.dbg intrinsics.Jim Laskey2006-03-231-13/+9
| | | | llvm-svn: 26996
* Change the argument types of llvm.dbg intrinsics.Jim Laskey2006-03-231-23/+64
| | | | llvm-svn: 26985
* Bugfix, unbreaking CodeGen/PowerPC/cttz.llChris Lattner2006-03-141-1/+1
| | | | llvm-svn: 26764
* 1. Handle removal of all arguments for a morphed intrinsic.Jim Laskey2006-03-141-1/+4
| | | | | | 2. Remove the declaration of llvm.dbg.declare. llvm-svn: 26745
* Handle the removal of the debug chain.Jim Laskey2006-03-131-47/+99
| | | | llvm-svn: 26729
* autoupgrade memcpy/memmove/memset with signed counts.Chris Lattner2006-03-091-4/+12
| | | | | | CVS: ---------------------------------------------------------------------- llvm-svn: 26654
* Unbreak autouprade of llvm.sqrt, simplify some code.Chris Lattner2006-03-031-38/+12
| | | | llvm-svn: 26506
* Split memcpy/memset/memmove intrinsics into i32/i64 versions, resolvingChris Lattner2006-03-021-133/+116
| | | | | | | | | | | PR709, and paving the way for future progress. Significantly refactor autoupgrading code, to handle the more complex case (where we upgrade one argument in a function), and fix some bugs in it. Testcase here: llvm/test/Regression/Bytecode/memcpy.ll llvm-svn: 26474
* Fix auto-upgrade of intrinsics to work properly with both assembly andReid Spencer2006-01-271-28/+98
| | | | | | | bytecode reading. This code is crufty, the result of much hacking to get things working correctly. Cleanup patches will follow. llvm-svn: 25682
* For PR411:Reid Spencer2006-01-231-7/+6
| | | | | | | | No functionality changes, just improve the code by a) providing better function names, b) eliminating a call to get_suffix and c) tightening up a function elimination test to reduce further checking. llvm-svn: 25540
* Remove dead expression.Chris Lattner2006-01-201-1/+1
| | | | llvm-svn: 25480
* Don't use invalidated use_iterator's. This fixes a crash compiling povrayChris Lattner2006-01-201-2/+2
| | | | llvm-svn: 25479
* Don't forget about casting the result of an upgraded call to an intrinsicReid Spencer2006-01-191-1/+4
| | | | | | in the case where it needs to cast back to a signed type. llvm-svn: 25447
* Make get_suffix faster by using a switch on getTypeID rather than a seriesReid Spencer2006-01-191-12/+9
| | | | | | of comparisons on the various type objects. llvm-svn: 25441
* Add a new interface function to AutoUpgrade for simultaneously upgradingReid Spencer2006-01-191-59/+150
| | | | | | | | the Function and the CallInst: UpgradeCallsToIntrinsic(Function*). Also, re-factor the AutoUpgrade implementation to eliminate some duplication of code. llvm-svn: 25432
* For PR411:Reid Spencer2006-01-161-0/+105
This file makes the helper functions for auto-upgrade of llvm assembly and bytecode more accessible. This is part of de-overloading of intrinsic functions to support the flat symbol table (no type planes). llvm-svn: 25365
OpenPOWER on IntegriCloud