summaryrefslogtreecommitdiffstats
path: root/llvm/lib/VMCore/Instruction.cpp
Commit message (Collapse)AuthorAgeFilesLines
* improve const correctness.Chris Lattner2008-11-271-2/+2
| | | | llvm-svn: 60168
* Fix an obvious copy/pasto.Nick Lewycky2008-10-271-4/+4
| | | | llvm-svn: 58231
* Fix Instruction::isIdenticalTo and isSameOperationAs to recognizeDan Gohman2008-10-161-6/+57
| | | | | | | additional information in Loads, Stores, Calls, Invokes, InsertValueInsts, and ExtractValueInsts. llvm-svn: 57620
* Correct the name of isTrapping in comments.Dan Gohman2008-10-151-1/+1
| | | | llvm-svn: 57606
* Enable first-class aggregates support.Dan Gohman2008-07-231-1/+0
| | | | | | | | | | | | Remove the GetResultInst instruction. It is still accepted in LLVM assembly and bitcode, where it is now auto-upgraded to ExtractValueInst. Also, remove support for return instructions with multiple values. These are auto-upgraded to use InsertValueInst instructions. The IRBuilder still accepts multiple-value returns, and auto-upgrades them to InsertValueInst instructions. llvm-svn: 53941
* Add an insertBefore method for attaching previously unattached instructions,Owen Anderson2008-06-171-0/+6
| | | | | | such as those created by clone(), to a basic block. llvm-svn: 52424
* Let Instruction::getOpcodeName() return something useful for the newMatthijs Kooijman2008-05-301-0/+2
| | | | | | insertvalue / extractvalue instructions. llvm-svn: 51766
* Add two new instructions to the llvm IR, vicmp and vfcmp. see updated LangRefNate Begeman2008-05-121-0/+2
| | | | | | for details. CodeGen support coming in a follow up patch llvm-svn: 50985
* conservatively say that volatile stores read memory.Chris Lattner2008-05-081-2/+3
| | | | llvm-svn: 50872
* store can't read from memory.Chris Lattner2008-05-081-1/+0
| | | | llvm-svn: 50869
* add a new Instruction::mayReadFromMemory predicate, makeChris Lattner2008-05-081-2/+19
| | | | | | Instruction::mayWriteToMemory stronger for invokes. llvm-svn: 50858
* add a handy helper method to instruction, useful for determiningChris Lattner2008-04-201-0/+23
| | | | | | | whether it is used outside of some block. This can be used to see if there are any non-local references, for example. llvm-svn: 50004
* VAArg may trap.Dan Gohman2008-04-141-0/+1
| | | | llvm-svn: 49646
* print getresult instruction.Devang Patel2008-02-211-0/+1
| | | | llvm-svn: 47461
* Remove attribution from file headers, per discussion on llvmdev.Chris Lattner2007-12-291-2/+2
| | | | llvm-svn: 45418
* Revert r44626, which turned off the use of readonlyDuncan Sands2007-12-121-3/+0
| | | | | | | | | | and readnone for functions with bodies because it broke llvm-gcc-4.2 bootstrap. It turns out that, because of LLVM's array_ref hack, gcc was computing pure/const attributes wrong (now fixed by turning off the gcc ipa-pure-const pass). llvm-svn: 44937
* Reverting dtor devirtualization patch.Gordon Henriksen2007-12-101-2/+2
| | | | | | | _sabre_: it has a major problem: by the time ~Value is run, all of the "parts" of the derived classes have been destroyed _sabre_: the vtable lives to fight another day llvm-svn: 44760
* Devirtualizing Value destructor (PR889). Patch by Pawel Kunio!Gordon Henriksen2007-12-091-2/+2
| | | | llvm-svn: 44747
* Commit 44487 broke bootstrap of llvm-gcc-4.2. It isDuncan Sands2007-12-051-0/+3
| | | | | | | not yet clear why, but in the meantime work around the problem by making less use of readnone/readonly info. llvm-svn: 44626
* Rather than having special rules like "intrinsics cannotDuncan Sands2007-12-031-16/+3
| | | | | | | | | 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
* Move the GET_SIDE_EFFECT_INFO logic from isInstructionTriviallyDeadDan Gohman2007-07-261-4/+12
| | | | | | | to Instruction::mayWriteToMemory, fixing a FIXME, and helping various places that call mayWriteToMemory directly. llvm-svn: 40533
* Refactor the setName stuff, moving it down the inheritance hierarchy, toChris Lattner2007-02-241-31/+2
| | | | | | solve a crash in -instcombine -debug that was hit while investigating PR1217 llvm-svn: 34544
* remove warningChris Lattner2007-02-191-2/+2
| | | | llvm-svn: 34424
* Add a FIXME for unwritten code.Reid Spencer2007-02-191-0/+2
| | | | llvm-svn: 34422
* fix buildAndrew Lenharth2007-02-161-0/+1
| | | | llvm-svn: 34339
* make mayWriteToMemory a non-virtual functionChris Lattner2007-02-151-0/+19
| | | | llvm-svn: 34334
* Switch UnaryOperators to default to passing names up by const char* when ↵Chris Lattner2007-02-131-0/+28
| | | | | | | | possible. This speeds up bcreading by 1.5%. llvm-svn: 34233
* Switch ValueSymbolTable to use StringMap<Value*> instead of ↵Chris Lattner2007-02-121-2/+4
| | | | | | | | | std::map<std::string, Value*> as its main datastructure. There are many improvements yet to be made, but this speeds up opt --std-compile-opts on 447.dealII by 7.3%. llvm-svn: 34193
* For PR411:Reid Spencer2007-02-051-1/+0
| | | | | | | | | | This patch replaces the SymbolTable class with ValueSymbolTable which does not support types planes. This means that all symbol names in LLVM must now be unique. The patch addresses the necessary changes to deal with this and removes code no longer needed as a result. This completes the bulk of the changes for this PR. Some cleanup patches will follow. llvm-svn: 33918
* Now that setcondinst has been eliminated, we can mark Value::SubclassIDChris Lattner2007-01-041-4/+0
| | | | | | const and remove the ugly mutator methods. llvm-svn: 32860
* For PR950:Reid Spencer2006-12-231-27/+27
| | | | | | | | This patch removes the SetCC instructions and replaces them with the ICmp and FCmp instructions. The SetCondInst instruction has been removed and been replaced with ICmpInst and FCmpInst. llvm-svn: 32751
* Allow the ICmp and FCmp instructions to be written by the AsmWriterReid Spencer2006-12-031-0/+2
| | | | llvm-svn: 32148
* For PR950:Reid Spencer2006-11-271-10/+23
| | | | | | | | | | 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
* For PR950:Reid Spencer2006-11-201-1/+1
| | | | | | | | First in a series of patches to convert SetCondInst into ICmpInst and FCmpInst using only two opcodes and having the instructions contain their predicate value. Nothing uses these classes yet. More patches to follow. llvm-svn: 31867
* For PR950:Reid Spencer2006-11-081-1/+2
| | | | | | | | 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-11-021-2/+6
| | | | | | Replace the REM instruction with UREM, SREM and FREM. llvm-svn: 31369
* Fix Transforms/InstCombine/2006-10-26-VectorReassoc.llChris Lattner2006-10-261-5/+6
| | | | llvm-svn: 31200
* For PR950:Reid Spencer2006-10-261-2/+6
| | | | | | | | Make necessary changes to support DIV -> [SUF]Div. This changes llvm to have three division instructions: signed, unsigned, floating point. The bytecode and assembler are bacwards compatible, however. llvm-svn: 31195
* Add new SetCondInst::isRelational/isEquality methods. RenameChris Lattner2006-09-171-2/+2
| | | | | | Instruction::isRelational to Instruction::isComparison. llvm-svn: 30444
* Add some out-of-line virtual dtors so that the class has a "home", preventingChris Lattner2006-06-211-0/+6
| | | | | | vtables for (e.g.) Instruction from being emitted into every .o file. llvm-svn: 28898
* Add shufflevector support, todo, implement better constant folding.Chris Lattner2006-04-081-0/+1
| | | | llvm-svn: 27510
* VMCore support for the insertelement operation.Robert Bocchino2006-01-171-0/+1
| | | | llvm-svn: 25408
* Added support for the extractelement operation.Robert Bocchino2006-01-101-0/+1
| | | | llvm-svn: 25181
* add new helper functionChris Lattner2005-08-081-0/+9
| | | | llvm-svn: 22698
* core changes for varargsAndrew Lenharth2005-06-181-4/+1
| | | | llvm-svn: 22254
* Add a 'tail' marker for call instructions, patch contributed byChris Lattner2005-05-061-0/+2
| | | | | | Alexander Friedman. llvm-svn: 21722
* Remove trailing whitespaceMisha Brukman2005-04-211-7/+7
| | | | llvm-svn: 21427
* remove all of the various setName implementations, consolidating them intoChris Lattner2005-03-051-9/+0
| | | | | | Value::setName, which is no longer virtual. llvm-svn: 20464
* Remove the 2nd argument to Value::setNameChris Lattner2005-03-051-4/+1
| | | | llvm-svn: 20458
* Adjust to changes in User class.Chris Lattner2005-01-291-11/+8
| | | | llvm-svn: 19892
OpenPOWER on IntegriCloud