summaryrefslogtreecommitdiffstats
path: root/llvm/lib/VMCore/ConstantFold.h
Commit message (Collapse)AuthorAgeFilesLines
* Convert ConstantFoldGetElementPtr to use ArrayRef.Jay Foad2011-07-191-2/+2
| | | | llvm-svn: 135483
* land David Blaikie's patch to de-constify Type, with a few tweaks.Chris Lattner2011-07-181-1/+1
| | | | llvm-svn: 135375
* Convert InsertValueInst and ExtractValueInst APIs to use ArrayRef.Jay Foad2011-07-131-4/+4
| | | | llvm-svn: 135040
* Remove casts between Value** and Constant**, which won't work if aJay Foad2011-01-141-0/+2
| | | | | | | static_cast from Constant* to Value* has to adjust the "this" pointer. This is groundwork for PR889. llvm-svn: 123435
* eliminate a bunch of pointless LLVMContext arguments.Chris Lattner2010-02-011-24/+9
| | | | llvm-svn: 95001
* Value* were never meant to be const. Removing constness from the constantNick Lewycky2009-09-201-21/+19
| | | | | | | folder removes a lot of const_casting and requires no changes to clang or llvm-gcc. llvm-svn: 82349
* Teach lib/VMCore/ConstantFold.cpp how to set the inbounds keyword andDan Gohman2009-09-111-0/+1
| | | | | | | | | | | | | how to fold notionally-out-of-bounds array getelementptr indices instead of just doing these in lib/Analysis/ConstantFolding.cpp, because it can be done in a fairly general way without TargetData, and because not all constants are visited by lib/Analysis/ConstantFolding.cpp. This enables more constant folding. Also, set the "inbounds" flag when the getelementptr indices are one-past-the-end. llvm-svn: 81483
* Make LLVMContext and LLVMContextImpl classes instead of structs.Benjamin Kramer2009-08-111-1/+1
| | | | llvm-svn: 78690
* Factor some of the constants+context related code out into a separate ↵Owen Anderson2009-08-041-1/+1
| | | | | | | | header, to make LLVMContextImpl.h not hideous. Also, fix some MSVC compile errors. llvm-svn: 78115
* Begin the painful process of tearing apart the rat'ss nest that is ↵Owen Anderson2009-07-131-9/+19
| | | | | | | | | Constants.cpp and ConstantFold.cpp. This involves temporarily hard wiring some parts to use the global context. This isn't ideal, but it's the only way I could figure out to make this process vaguely incremental. llvm-svn: 75445
* Forgot this file.Owen Anderson2009-06-201-8/+5
| | | | llvm-svn: 73802
* Fix a serious bug that would cause deadlock during abstract type refinement. ↵Owen Anderson2009-06-191-5/+8
| | | | | | | | | | The constant creation gets involved, and we end up trying to recursively acquire a writer lock. The fix for this is slightly horrible, and involves passing a boolean "locked" parameter around in Constants.cpp, but it's better than having locked and unlocked versions of most of the code. llvm-svn: 73790
* Fix comment typos.Duncan Sands2008-08-011-2/+2
| | | | llvm-svn: 54266
* Constant folding for insertvalue and extractvalue.Dan Gohman2008-06-031-4/+7
| | | | llvm-svn: 51889
* IR support for extractvalue and insertvalue instructions. Also, beginDan Gohman2008-05-151-0/+4
| | | | | | moving toward making structs and arrays first-class types. llvm-svn: 51157
* Remove attribution from file headers, per discussion on llvmdev.Chris Lattner2007-12-291-2/+2
| | | | llvm-svn: 45418
* The #include <iterator> isn't needed in this header.Dan Gohman2007-10-221-3/+0
| | | | llvm-svn: 43232
* Update GEP constructors to use an iterator interface to fixDavid Greene2007-09-041-0/+3
| | | | | | GLIBCXX_DEBUG issues. llvm-svn: 41697
* ConstantFolding.cpp/h -> ConstantFold.cpp/h to avoid confusion withChris Lattner2007-02-271-0/+53
lib/Analysis/ConstantFolding. llvm-svn: 34653
OpenPOWER on IntegriCloud