summaryrefslogtreecommitdiff
path: root/include/llvm/Instruction.h
Commit message (Collapse)AuthorAge
* Override use_back in instruction/basicblock to provide more type information.Chris Lattner2006-09-30
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30678 91177308-0d34-0410-b5e6-96231b3b80d8
* Add new SetCondInst::isRelational/isEquality methods. RenameChris Lattner2006-09-17
| | | | | | | Instruction::isRelational to Instruction::isComparison. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30444 91177308-0d34-0410-b5e6-96231b3b80d8
* Add some out-of-line virtual dtors so that the class has a "home", preventingChris Lattner2006-06-21
| | | | | | | vtables for (e.g.) Instruction from being emitted into every .o file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28898 91177308-0d34-0410-b5e6-96231b3b80d8
* This method doesn't need to be virtual, thanks to Reid for pointing this out.Chris Lattner2006-05-09
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28206 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix VC++ level 4 warnings. Because a base class has declared these private, ↵Jeff Cohen2005-12-17
| | | | | | VC++ complains it cannot automatically generate this methods. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24751 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove some dead argument names which irritates GCC at certain warning levels.Chris Lattner2005-10-25
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23979 91177308-0d34-0410-b5e6-96231b3b80d8
* add a new helper methodChris Lattner2005-08-08
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22697 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove trailing whitespaceMisha Brukman2005-04-21
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21408 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix problems compiling with G++ 4.x.x with -pedantic. Thanks toChris Lattner2005-03-07
| | | | | | | Vladimir Merzliakov for the patch! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20513 91177308-0d34-0410-b5e6-96231b3b80d8
* remove all of the various setName implementations, consolidating them intoChris Lattner2005-03-05
| | | | | | | Value::setName, which is no longer virtual. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20464 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove the second argument to Value::setName, it is never needed.Chris Lattner2005-03-05
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20457 91177308-0d34-0410-b5e6-96231b3b80d8
* Adjust to changes in the User class.Chris Lattner2005-01-29
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19888 91177308-0d34-0410-b5e6-96231b3b80d8
* Add methodChris Lattner2004-11-30
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18368 91177308-0d34-0410-b5e6-96231b3b80d8
* Add long overdue methodsChris Lattner2004-10-11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16921 91177308-0d34-0410-b5e6-96231b3b80d8
* Now that the SparcV9 specific MachineCodeForInstruction class uses it's ownChris Lattner2004-06-27
| | | | | | | | map on the side, Instruction no longer has to be Annotable. This reduces the size of the Instruction class by another 4 bytes (on a 32-bit system). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14439 91177308-0d34-0410-b5e6-96231b3b80d8
* Eliminate the Instruction::iType field, folding it into the Value::VTy field.Chris Lattner2004-06-27
| | | | | | | | | This reduces the size of the instruction class by 4 bytes, and means that isa<CallInst>(V) (for example) only needs to do one load from memory instead of two. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14434 91177308-0d34-0410-b5e6-96231b3b80d8
* Consider anything with a ValueType that is >= Instruction to be an instructionChris Lattner2004-06-26
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14429 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert an unneeded interface change to Instruction.hReid Spencer2004-06-11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14137 91177308-0d34-0410-b5e6-96231b3b80d8
* Added an isPhiNode(unsigned) static method to determine if an opcode isReid Spencer2004-06-10
| | | | | | | a PhiNode or not. Needed by Bytecode Analyzer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14124 91177308-0d34-0410-b5e6-96231b3b80d8
* Apparently a particular vendor compiler uses the struct/class tag to MANGLEChris Lattner2004-06-08
| | | | | | | | | | | | symbols with. Therefore, if you do not use struct/class consistently, you can get LINK ERRORS. grr. This fixes the link errors for libsupport and vmcore. -Chris git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14070 91177308-0d34-0410-b5e6-96231b3b80d8
* Commit For New Tool: llvm-abcd (Analysis of ByteCode Dumper). This toolReid Spencer2004-06-07
| | | | | | | | | | | | | | | | | | | | | | will (eventually) provide statistical analysis of bytecode files as well as the ability to dump them in a low level format (slot numbers not resolved). The purpose of this is to aid in the Type!=Value change of bug 122. With this initial release, llvm-abcd merely dumps out the bytecode. However, the infrastructure for separating bytecode parsing from handling the parsing events is in place. The style chosen is similar to SAX XML parsing where a handler object is called to handlign the parsing events. This probably isn't useful to anyone but me right now as there is no analysis yet, and the dumper doesn't work on every bytecode file. It will probably be useful by the end of this week. Note that there is some duplication of code from the bytecode reader. This was done to eliminate errors from being introduced in the reader and to minimize the impact to other LLVM developers. At some point, the Analyzer and the Reader will be integrated to use the same infrastructure. Also, sorry for the minor change to Instruction.h but I just couldn't bring myself to write code that depends on Instruction internals. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14048 91177308-0d34-0410-b5e6-96231b3b80d8
* Refactor common initialization code in private init() functions.Alkis Evlogimenos2004-05-26
| | | | | | | | This is a first step in supplying append to basic block constructors for all instruction types. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13793 91177308-0d34-0410-b5e6-96231b3b80d8
* Assert if Instruction is being deleted before being removed from BasicBlock.Misha Brukman2004-04-16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12982 91177308-0d34-0410-b5e6-96231b3b80d8
* Ugh, the old sparc backend attaches MachineCodeForInstruction annotations onChris Lattner2004-02-29
| | | | | | | | | LLVM instructions. Because it contains an explicit cast, we didn't catch it. I guess instruction's will be annotable for the duration of the sparcv9's existence. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11999 91177308-0d34-0410-b5e6-96231b3b80d8
* Add new methodChris Lattner2004-01-12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10809 91177308-0d34-0410-b5e6-96231b3b80d8
* Put all LLVM code into the llvm namespace, as per bug 109.Brian Gaeke2003-11-11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9903 91177308-0d34-0410-b5e6-96231b3b80d8
* Expose new print methodsChris Lattner2003-10-30
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9620 91177308-0d34-0410-b5e6-96231b3b80d8
* Added LLVM copyright header (for lack of a better term).John Criswell2003-10-20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9304 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove unneeded dtorsChris Lattner2003-10-06
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8896 91177308-0d34-0410-b5e6-96231b3b80d8
* Renamed trapping instruction function to be more consistent with other ↵Tanya Lattner2003-07-31
| | | | | | functions in the file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7448 91177308-0d34-0410-b5e6-96231b3b80d8
* Added function to determine if an Instruction may trap.Tanya Lattner2003-07-31
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7442 91177308-0d34-0410-b5e6-96231b3b80d8
* Removed extra parenthesis and fixed spelling.Misha Brukman2003-07-28
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7359 91177308-0d34-0410-b5e6-96231b3b80d8
* Merged in autoconf branch. This provides configuration via the autoconfJohn Criswell2003-06-30
| | | | | | | system. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7014 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove a ton of extraneous #includesChris Lattner2003-06-22
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6842 91177308-0d34-0410-b5e6-96231b3b80d8
* Included assert.h so that the code compiles under newer versions of GCC.John Criswell2003-06-11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6682 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert modulo scheduling change that should be part of the modulo-sched pass ↵Chris Lattner2003-04-16
| | | | | | | | | itself, not part of the Instruction class. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5787 91177308-0d34-0410-b5e6-96231b3b80d8
* added some memory for clone functionGuochun Shi2003-04-06
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5765 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename Instruction::hasSideEffects() -> mayWriteToMemory()Chris Lattner2003-02-24
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5620 91177308-0d34-0410-b5e6-96231b3b80d8
* New isAssociative/isCommutative inspection methods, graciously contributed byChris Lattner2002-10-31
| | | | | | | Casey Carter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4459 91177308-0d34-0410-b5e6-96231b3b80d8
* - Rename Instruction::First*Op to *OpsBegin, and Num*Ops to *OpsEnd toChris Lattner2002-10-13
| | | | | | | reflect the fact that it's a range being defined. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4147 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement support for inserting an instruction into a basic block right when itChris Lattner2002-09-10
| | | | | | | is created. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3651 91177308-0d34-0410-b5e6-96231b3b80d8
* * Clean up some commentsChris Lattner2002-09-06
| | | | | | | | | * Move code out of header file to .cpp files, to make future changes easier * Add arguments to classes so that they can be automatically inserted into their parent structure upon creation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3604 91177308-0d34-0410-b5e6-96231b3b80d8
* Convert comments to Doxygen styleChris Lattner2002-08-25
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3507 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove the last traces of the NOT instructionChris Lattner2002-08-15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3346 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove support for unary operators.Chris Lattner2002-08-14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3326 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove obsolete, confusing, methodChris Lattner2002-07-31
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3175 91177308-0d34-0410-b5e6-96231b3b80d8
* Create a static version of Instruction::getOpcodeName(opCode) thatVikram S. Adve2002-07-14
| | | | | | | | can be invoked with only an opcode (i.e., without an instruction). Move all opCode->opCodeName translations there. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2892 91177308-0d34-0410-b5e6-96231b3b80d8
* *** empty log message ***Chris Lattner2002-06-25
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2777 91177308-0d34-0410-b5e6-96231b3b80d8
* remove deprecated getInstType() methodChris Lattner2002-05-10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2595 91177308-0d34-0410-b5e6-96231b3b80d8
* * Add virtual print methodsChris Lattner2002-04-08
| | | | | | | * s/Method/Function git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2172 91177308-0d34-0410-b5e6-96231b3b80d8