summaryrefslogtreecommitdiffstats
path: root/llvm/include/llvm/Support/IRBuilder.h
Commit message (Collapse)AuthorAgeFilesLines
* Push LLVMContext _back_ through IRBuilder.Owen Anderson2009-07-081-15/+24
| | | | llvm-svn: 75040
* Switch GlobalVariable ctors to a sane API, where *either* a context or a ↵Owen Anderson2009-07-081-24/+19
| | | | | | module is required. llvm-svn: 75025
* Remove the vicmp and vfcmp instructions. Because we never had a release withNick Lewycky2009-07-081-15/+0
| | | | | | | these instructions, no autoupgrade or backwards compatibility support is provided. llvm-svn: 74991
* Push LLVMContext through GlobalVariables and IRBuilder.Owen Anderson2009-07-081-18/+24
| | | | llvm-svn: 74985
* Revert IRBuilder CC propagation. Fix SimplifyLibCalls instead.Anton Korobeynikov2009-06-181-39/+8
| | | | llvm-svn: 73715
* Forgot to commit this hunkAnton Korobeynikov2009-06-181-0/+12
| | | | llvm-svn: 73693
* Propagate calling conv for invokes tooAnton Korobeynikov2009-06-181-2/+4
| | | | llvm-svn: 73692
* Honour calling convention and attributes of Callee by default.Anton Korobeynikov2009-06-171-6/+24
| | | | llvm-svn: 73646
* make CreateFMul forward to CreateFMul, not CreateMul.Chris Lattner2009-06-171-1/+1
| | | | llvm-svn: 73603
* Add a CreateFNeg function to IRBuilder.Dan Gohman2009-06-151-0/+5
| | | | llvm-svn: 73437
* Split the Add, Sub, and Mul instruction opcodes into separateDan Gohman2009-06-041-0/+18
| | | | | | | | | | | | | | | integer and floating-point opcodes, introducing FAdd, FSub, and FMul. For now, the AsmParser, BitcodeReader, and IRBuilder all preserve backwards compatability, and the Core LLVM APIs preserve backwards compatibility for IR producers. Most front-ends won't need to change immediately. This implements the first step of the plan outlined here: http://nondot.org/sabre/LLVMNotes/IntegerOverflow.txt llvm-svn: 72897
* Add an accessor method to return the insertion point.Dan Gohman2009-05-201-0/+2
| | | | llvm-svn: 72184
* Cleanup. Remove redundant llvm:: , we don't need them since we're insideNick Lewycky2009-04-101-18/+18
| | | | | | namespace llvm already. llvm-svn: 68774
* Add utility function to IRBuilder that takes the difference between twoNick Lewycky2009-04-101-0/+14
| | | | | | | pointers, taking into account the size of the pointed-to object. Patch by Jeffrey Yasskin! llvm-svn: 68768
* add method to access a template argument.Chris Lattner2009-03-221-0/+4
| | | | llvm-svn: 67458
* Add IRBuilder::CreateConstGEP{1, 2}_{32, 64}.Daniel Dunbar2009-03-061-4/+36
| | | | | | - Names are lame, but it seems better to be explicit. llvm-svn: 66295
* Removed trailing whitespace.Misha Brukman2009-02-201-3/+3
| | | | llvm-svn: 65196
* Tidy up #includes, deleting a bunch of unnecessary #includes.Dan Gohman2009-01-051-1/+0
| | | | llvm-svn: 61715
* Clean up some strange whitespace.Nick Lewycky2008-11-151-7/+6
| | | | llvm-svn: 59373
* Rename IRBuilder::IsNonNull -> IsNotNull in response to feedback.Daniel Dunbar2008-10-021-2/+2
| | | | llvm-svn: 56953
* Add IRBuilder::{CreateIsNull, CreateIsNonNull} helper methods.Daniel Dunbar2008-09-271-0/+17
| | | | | | | - I'm open to the idea that these could have better names. I think these read better than CreateEQNull and CreateNENull. llvm-svn: 56757
* Add a NullFolder class that doesn't fold constants.Duncan Sands2008-08-121-4/+4
| | | | | | | | | | | | This may be used as the second IRBuilder template parameter, the idea being that people learning LLVM may find it helpful (several people asked on IRC if it was possible to turn off constant folding because it made it hard for them to see what was going on). Compiles, but otherwise completely untested. llvm-svn: 54698
* Make it possible to use different constantDuncan Sands2008-08-111-81/+87
| | | | | | | | | | folding policies with IRBuilder. The default, provided by ConstantFolder, is to do minimal folding like now: what ConstantExpr provides. An alternative is to use TargetFolder, which uses target information to fold constants more. llvm-svn: 54640
* Unbreak the llvm-gcc build: recent changes toDuncan Sands2008-08-091-2/+2
| | | | | | IRBuilder are not expecting null names. llvm-svn: 54581
* Make 'Insert' set the name for Loads, instead of passing the name into theChris Lattner2008-08-091-3/+3
| | | | | | LoadInst ctor, which causes std::string thrashing. llvm-svn: 54577
* Have IRBuilder take a template argument on whether or not to preserveEric Christopher2008-08-081-2/+4
| | | | | | | names. This can save a lot of allocations if you aren't going to be looking at the output. llvm-svn: 54546
* Rename the version of CreateRet that's a convenience method for creatingDan Gohman2008-07-251-5/+8
| | | | | | | multiple-valued return values, so that the name CreateRet is just for creating plain ret statements. llvm-svn: 54053
* Make CreateBinOp/CreateNeg/CreateNot do constant folding.Chris Lattner2008-07-231-4/+11
| | | | llvm-svn: 53950
* Enable first-class aggregates support.Dan Gohman2008-07-231-6/+9
| | | | | | | | | | | | 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 insertvalue and extractvalue folding support in IRBuilder.Dan Gohman2008-07-221-12/+23
| | | | llvm-svn: 53931
* IRBuilder support for insertvalue and extractvalue.Dan Gohman2008-07-221-5/+31
| | | | llvm-svn: 53926
* Add a couple more helper functions to deal withEric Christopher2008-07-021-1/+20
| | | | | | | creating global constant strings and pointers to global constant strings. llvm-svn: 53051
* Tweak IRBuilder to explicitly call the setName(const char*) method on ValueChris Lattner2008-06-271-48/+51
| | | | | | | | | | instead of passing the name into the instruction ctors. Since most instruction ctors take their name as an std::string, this avoids copying the string to the heap and a malloc and free. Patch by Pratik Solanki! llvm-svn: 52832
* API change for {BinaryOperator|CmpInst|CastInst}::create*() --> Create. ↵Gabor Greif2008-05-161-20/+20
| | | | | | Legacy interfaces will be in place for some time. (Merge from use-diet branch.) llvm-svn: 51200
* Add support to IR builder for new vicmp, vfcmp routinesNate Begeman2008-05-141-4/+19
| | | | llvm-svn: 51127
* Add CreateCall3/CreateCall4 at Eric's request.Chris Lattner2008-05-011-0/+10
| | | | llvm-svn: 50515
* Add a spiffy little "CreateCall2" method, which can be used to makeChris Lattner2008-05-011-3/+8
| | | | | | a function call that takes two Value*'s as arguments. llvm-svn: 50514
* Merge LLVMBuilder and FoldingBuilder, callingDuncan Sands2008-04-131-0/+527
the result IRBuilder. Patch by Dominic Hamon. llvm-svn: 49604
OpenPOWER on IntegriCloud