summaryrefslogtreecommitdiffstats
path: root/llvm/include/llvm/Support/ConstantFolder.h
Commit message (Collapse)AuthorAgeFilesLines
* Add utility routines for NSW multiply.Dan Gohman2009-12-181-0/+3
| | | | llvm-svn: 91664
* Add utility routines for creating integer negation operators with NSW set.Dan Gohman2009-12-181-0/+3
| | | | | | Integer negation only overflows with INT_MIN, but that's an important case. llvm-svn: 91662
* InstrTypes.h includes Instruction.h, so it's not necessary to include both.Dan Gohman2009-11-051-1/+0
| | | | llvm-svn: 86162
* Make two more LLVM headers standaloneDouglas Gregor2009-11-051-0/+2
| | | | llvm-svn: 86131
* For the NSWSub support in the builder to actually be useable,Duncan Sands2009-09-261-0/+3
| | | | | | | there need to be corresponding changes to the constant folders, done in this patch. llvm-svn: 82862
* Revert 80959. It isn't sufficient to solve the full problem. And itDan Gohman2009-09-031-4/+4
| | | | | | introduced regressions in the Ocaml bindings tests. llvm-svn: 80969
* Remove the API for creating ConstantExprs with the nsw, nuw, inbounds,Dan Gohman2009-09-031-4/+4
| | | | | | | | | | | | | | | and exact flags. Because ConstantExprs are uniqued, creating an expression with this flag causes all expressions with the same operands to have the same flag, which may not be safe. Add, sub, mul, and sdiv ConstantExprs are usually folded anyway, so the main interesting flag here is inbounds, and the constant folder already knows how to set the inbounds flag automatically in most cases, so there isn't an urgent need for the API support. This can be reconsidered in the future, but for now just removing these API bits eliminates a source of potential trouble with little downside. llvm-svn: 80959
* Add more casts to the IRBuilder.Erick Tryzelaar2009-08-161-0/+13
| | | | llvm-svn: 79158
* Add convenience functions for creating nsw add operators.Dan Gohman2009-08-111-0/+3
| | | | llvm-svn: 78707
* Add convenience functions for creating inbounds GEPs.Dan Gohman2009-08-111-0/+9
| | | | llvm-svn: 78695
* Make LLVMContext and LLVMContextImpl classes instead of structs.Benjamin Kramer2009-08-111-1/+1
| | | | llvm-svn: 78690
* Fix struct/class mismatch.Benjamin Kramer2009-08-111-1/+1
| | | | llvm-svn: 78686
* Add convenience functions for creating exact sdiv operators, andDan Gohman2009-08-111-0/+3
| | | | | | use them in CreatePtrDiff. llvm-svn: 78682
* ConstantFolder and NoFolder no longer require their Context members.Dan Gohman2009-08-111-5/+4
| | | | llvm-svn: 78673
* Move ConstantExpr to 2.5 API.Owen Anderson2009-07-291-35/+35
| | | | llvm-svn: 77494
* Finish pushing LLVMContext through the IRBuilder/ConstantFolder interface.Owen Anderson2009-07-101-36/+40
| | | | llvm-svn: 75213
* Remove the vicmp and vfcmp instructions. Because we never had a release withNick Lewycky2009-07-081-8/+0
| | | | | | | these instructions, no autoupgrade or backwards compatibility support is provided. llvm-svn: 74991
* Split the Add, Sub, and Mul instruction opcodes into separateDan Gohman2009-06-041-0/+12
| | | | | | | | | | | | | | | 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 a NullFolder class that doesn't fold constants.Duncan Sands2008-08-121-2/+14
| | | | | | | | | | | | 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
* Point people to ConstantExpr and ConstantFolding,Duncan Sands2008-08-121-2/+4
| | | | | | in case they get the wrong idea. Fit in 80 columns. llvm-svn: 54676
* Make it possible to use different constantDuncan Sands2008-08-111-0/+175
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
OpenPOWER on IntegriCloud