summaryrefslogtreecommitdiffstats
path: root/llvm/lib/VMCore/Instructions.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Large mechanical patch.Devang Patel2008-09-251-22/+22
| | | | | | | | | | | | | | | s/ParamAttr/Attribute/g s/PAList/AttrList/g s/FnAttributeWithIndex/AttributeWithIndex/g s/FnAttr/Attribute/g This sets the stage - to implement function notes as function attributes and - to distinguish between function attributes and return value attributes. This requires corresponding changes in llvm-gcc and clang. llvm-svn: 56622
* s/ParameterAttributes/Attributes/gDevang Patel2008-09-231-7/+7
| | | | llvm-svn: 56513
* Improve support for vector casts in LLVM IR and CodeGen.Dan Gohman2008-08-141-13/+18
| | | | llvm-svn: 54784
* Add vector shifts to the IR, patch by Eli Friedman.Nate Begeman2008-07-291-2/+5
| | | | | | CodeGen & Clang work coming next. llvm-svn: 54161
* Add a GetElementPtrInst::getIndexedType that accepts uint64_t's instead of ↵Matthijs Kooijman2008-07-291-4/+20
| | | | | | just Value*'s. llvm-svn: 54157
* Tab removalNate Begeman2008-07-251-1/+1
| | | | llvm-svn: 54025
* Enable first-class aggregates support.Dan Gohman2008-07-231-93/+10
| | | | | | | | | | | | 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 some convenience methods for manipulatingDuncan Sands2008-07-081-14/+32
| | | | | | call attributes. llvm-svn: 53223
* Remove two convenience constructors because they're now private, and theDan Gohman2008-06-231-18/+0
| | | | | | private implementation doesn't really need the convenience. llvm-svn: 52629
* Use std::copy instead of a loop.Dan Gohman2008-06-231-3/+1
| | | | llvm-svn: 52628
* Simplify this code. Thanks Chris!Dan Gohman2008-06-201-3/+2
| | | | llvm-svn: 52514
* In InsertValueInst's copy ctor, actually copy the operands.Dan Gohman2008-06-171-0/+2
| | | | llvm-svn: 52434
* Implement the ExtractValueInst::getIndexedType that accepts oneDan Gohman2008-06-171-0/+6
| | | | | | index value. llvm-svn: 52432
* fix pr2460Chris Lattner2008-06-161-1/+2
| | | | llvm-svn: 52294
* get rid of ExtractValueInst::init's Value argument, it is already passed to ↵Gabor Greif2008-06-061-6/+4
| | | | | | the UnaryInstruction ctor llvm-svn: 52064
* make ExtractValueInst derived from UnaryInstructionGabor Greif2008-06-061-12/+9
| | | | llvm-svn: 52061
* * Make CallSite::hasArgument const and let it take a const parameter.Matthijs Kooijman2008-06-051-1/+1
| | | | llvm-svn: 51989
* Add CallSite::hasArgument to allow for seeing if a call passes a certain ↵Matthijs Kooijman2008-06-041-0/+7
| | | | | | value as an argument quickly. llvm-svn: 51946
* Add a Name parameter to two of the init methods of GetElementPointer to make ↵Matthijs Kooijman2008-06-041-6/+8
| | | | | | the name setting more consistent. llvm-svn: 51945
* Implement the two constructors in InsertValueInst and ExtractValueInst.Matthijs Kooijman2008-06-041-5/+54
| | | | | | | Add a Name argment to two init methods in these classes as well to make things a bit more consistent. llvm-svn: 51937
* Factor several methods, including getInversePredicate andDan Gohman2008-05-311-43/+31
| | | | | | | | getSwappedPredicate, from ICmpInst and FCmpInst into common methods in CmpInst. This allows CmpInsts to be manipulated generically. llvm-svn: 51810
* IR, bitcode reader, bitcode writer, and asmparser changes toDan Gohman2008-05-311-44/+46
| | | | | | | | | | | insertvalue and extractvalue to use constant indices instead of Value* indices. And begin updating LangRef.html. There's definately more to come here, but I'm checking this basic support in now to make it available to people who are interested. llvm-svn: 51806
* prune unneeded #includesGabor Greif2008-05-271-1/+0
| | | | llvm-svn: 51590
* remove unneeded reinterpret_castsGabor Greif2008-05-271-2/+2
| | | | llvm-svn: 51589
* We have the correct headers included to know that BB isa Value. No ↵Gabor Greif2008-05-271-6/+6
| | | | | | reinterpret_cast necessary. llvm-svn: 51588
* eliminate calls to deprecated Use::init() interfaceGabor Greif2008-05-261-108/+108
| | | | llvm-svn: 51570
* Add more IR support for the new extractvalue and insertvalueDan Gohman2008-05-231-0/+68
| | | | | | instructions. llvm-svn: 51461
* Add functions to enable adding a single attribute to a function andEric Christopher2008-05-161-0/+12
| | | | | | its associated call site. llvm-svn: 51204
* API change for {BinaryOperator|CmpInst|CastInst}::create*() --> Create. ↵Gabor Greif2008-05-161-44/+44
| | | | | | Legacy interfaces will be in place for some time. (Merge from use-diet branch.) llvm-svn: 51200
* Revert the change from r51157 inDan Gohman2008-05-161-1/+1
| | | | | | | | test/Verifier/2002-11-05-GetelementptrPointers.ll, which was incorrect. Instead, fix getIndexedType to not follow pointer types, as PointerType is a subclass of CompositeType. llvm-svn: 51171
* IR support for extractvalue and insertvalue instructions. Also, beginDan Gohman2008-05-151-32/+37
| | | | | | moving toward making structs and arrays first-class types. llvm-svn: 51157
* Fix a bunch of 80col violations that arose from the Create API change. Tweak ↵Gabor Greif2008-05-151-26/+39
| | | | | | makefile targets to find these better. llvm-svn: 51143
* Merge of r51073-51074 from use-diet branch.Gabor Greif2008-05-131-1/+1
| | | | | | | | | | | Do not rely on std::swap<Use>, provide a (faster) member function instead. This change is primarily necessitated by MSVC++'s incompatibility with declaring std::swap<Use> to be a friend of Use. Also contains some minor tweaks to Use inline functions, to undo pointless changes that sneaked in with the last merge. llvm-svn: 51078
* Derive GetResultInst from UnaryInstruction, this simplifies code and removes ↵Gabor Greif2008-05-131-8/+6
| | | | | | a FIXME. llvm-svn: 51023
* Pointer comparisons should be handled by icmp, not vicmp :)Nate Begeman2008-05-121-2/+2
| | | | llvm-svn: 50994
* Hard code CmpInst back to i1 for now while I go track down what in the ↵Nate Begeman2008-05-121-2/+2
| | | | | | | | bitcode reader/writer is assuming i1 This was breaking a bunch of tests llvm-svn: 50992
* Add two new instructions to the llvm IR, vicmp and vfcmp. see updated LangRefNate Begeman2008-05-121-61/+39
| | | | | | for details. CodeGen support coming in a follow up patch llvm-svn: 50985
* Update comments.Dan Gohman2008-05-121-4/+3
| | | | llvm-svn: 50974
* merge of use-diet branch to trunkGabor Greif2008-05-101-161/+251
| | | | llvm-svn: 50943
* Enforce that multiple return values have to have at least one result.Chris Lattner2008-04-231-1/+1
| | | | llvm-svn: 50137
* API changes for class Use size reduction, wave 1.Gabor Greif2008-04-061-8/+8
| | | | | | | | Specifically, introduction of XXX::Create methods for Users that have a potentially variable number of Uses. llvm-svn: 49277
* Shrink the size of AllocationInst by using its SubclassDataDan Gohman2008-03-241-4/+10
| | | | | | | field to store the alignment value instead of haing a separate field. llvm-svn: 48727
* move a bunch of trivial methods to be inline.Chris Lattner2008-03-131-74/+2
| | | | llvm-svn: 48326
* Reimplement the parameter attributes support, phase #1. hilights:Chris Lattner2008-03-121-63/+16
| | | | | | | | | | | | | | | | | | | | | | | 1. There is now a "PAListPtr" class, which is a smart pointer around the underlying uniqued parameter attribute list object, and manages its refcount. It is now impossible to mess up the refcount. 2. PAListPtr is now the main interface to the underlying object, and the underlying object is now completely opaque. 3. Implementation details like SmallVector and FoldingSet are now no longer part of the interface. 4. You can create a PAListPtr with an arbitrary sequence of ParamAttrsWithIndex's, no need to make a SmallVector of a specific size (you can just use an array or scalar or vector if you wish). 5. All the client code that had to check for a null pointer before dereferencing the pointer is simplified to just access the PAListPtr directly. 6. The interfaces for adding attrs to a list and removing them is a bit simpler. Phase #2 will rename some stuff (e.g. PAListPtr) and do other less invasive changes. llvm-svn: 48289
* s/isReturnStruct()/hasStructRetAttr()/gDevang Patel2008-03-031-4/+6
| | | | llvm-svn: 47857
* Add a new ShuffleVectorInst::getMaskValue method.Chris Lattner2008-03-021-6/+24
| | | | llvm-svn: 47813
* Add comment.Devang Patel2008-02-271-1/+0
| | | | llvm-svn: 47653
* Remove unncessary ReturnInst constructors.Devang Patel2008-02-261-20/+0
| | | | llvm-svn: 47633
* Use SmallVector while constructing ReturnInst.Devang Patel2008-02-261-0/+18
| | | | llvm-svn: 47619
* Avoid const_castsDevang Patel2008-02-261-5/+5
| | | | llvm-svn: 47616
OpenPOWER on IntegriCloud