summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/Scalar/SCCP.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Enhance transform passes so that they apply the same tranforms to malloc ↵Victor Hernandez2009-09-181-1/+7
| | | | | | | | calls as to MallocInst. Reviewed by Dan Gohman. llvm-svn: 82300
* eliminate VISIBILITY_HIDDEN from Transforms/Scalar. PR4861Chris Lattner2009-09-021-4/+3
| | | | llvm-svn: 80766
* add getPointerAddressSpace() to GEP instruction, use the methodChris Lattner2009-08-301-2/+1
| | | | | | in a few scalar xforms to simplify things. llvm-svn: 80506
* eliminate the "Value" printing methods that print to a std::ostream.Chris Lattner2009-08-231-2/+2
| | | | | | This required converting a bunch of stuff off DOUT and other cleanups. llvm-svn: 79819
* Fix debug output to include a newline after printing a Value, nowDan Gohman2009-08-171-7/+7
| | | | | | that Value's operator<< doesn't include one. llvm-svn: 79240
* Push LLVMContexts through the IntegerType APIs.Owen Anderson2009-08-131-6/+6
| | | | llvm-svn: 78948
* Move a few more APIs back to 2.5 forms. The only remaining ones left to ↵Owen Anderson2009-07-311-10/+10
| | | | | | | | change back are metadata related, which I'm waiting on to avoid conflicting with Devang. llvm-svn: 77721
* Move getTrue() and getFalse() to 2.5-like APIs.Owen Anderson2009-07-311-3/+3
| | | | llvm-svn: 77685
* Move more code back to 2.5 APIs.Owen Anderson2009-07-301-7/+7
| | | | llvm-svn: 77635
* Move ConstantExpr to 2.5 API.Owen Anderson2009-07-291-6/+6
| | | | llvm-svn: 77494
* Eliminate some uses of DOUT, cerr, and getNameStart().Daniel Dunbar2009-07-261-17/+17
| | | | llvm-svn: 77145
* More migration to raw_ostream, the water has dried up around the iostream hole.Daniel Dunbar2009-07-251-3/+4
| | | | | | | | | | - Some clients which used DOUT have moved to DEBUG. We are deprecating the "magic" DOUT behavior which avoided calling printing functions when the statement was disabled. In addition to being unnecessary magic, it had the downside of leaving code in -Asserts builds, and of hiding potentially unnecessary computations. llvm-svn: 77019
* Get rid of the Pass+Context magic.Owen Anderson2009-07-221-6/+6
| | | | llvm-svn: 76702
* Rename getConstantInt{True|False} to get{True|False} at Chris' behest.Owen Anderson2009-07-211-3/+3
| | | | llvm-svn: 76598
* Move the ConstantInt uniquing table into LLVMContextImpl. This exposed a ↵Owen Anderson2009-07-161-0/+3
| | | | | | | | number of issues in our current context-passing stuff, which is also fixed here llvm-svn: 76089
* llvm_unreachable->llvm_unreachable(0), LLVM_UNREACHABLE->llvm_unreachable.Torok Edwin2009-07-141-3/+3
| | | | | | | | | This adds location info for all llvm_unreachable calls (which is a macro now) in !NDEBUG builds. In NDEBUG builds location info and the message is off (it only prints "UREACHABLE executed"). llvm-svn: 75640
* Move more functionality over to LLVMContext.Owen Anderson2009-07-131-4/+4
| | | | llvm-svn: 75497
* assert(0) -> LLVM_UNREACHABLE.Torok Edwin2009-07-111-2/+2
| | | | | | | | | Make llvm_unreachable take an optional string, thus moving the cerr<< out of line. LLVM_UNREACHABLE is now a simple wrapper that makes the message go away for NDEBUG builds. llvm-svn: 75379
* Convert more assert(0)+abort() -> LLVM_UNREACHABLE,Torok Edwin2009-07-111-1/+4
| | | | | | and abort()/exit() -> llvm_report_error(). llvm-svn: 75363
* "LLVMContext* " --> "LLVMContext *"Owen Anderson2009-07-061-2/+2
| | | | llvm-svn: 74878
* Finish LLVMContext-ing lib/Analysis. This required pushing LLVMContext's ↵Owen Anderson2009-07-061-1/+1
| | | | | | through the ValueTracking API. llvm-svn: 74873
* Thread LLVMContext through the constant folding APIs, which touches a lot of ↵Owen Anderson2009-07-061-1/+2
| | | | | | files. llvm-svn: 74844
* Even more passes being LLVMContext'd.Owen Anderson2009-07-031-26/+34
| | | | llvm-svn: 74781
* Don't crash on multiple return value with no obvious inserted value.Nick Lewycky2009-06-061-2/+2
| | | | | | Fixes PR4314. llvm-svn: 73007
* Use Operands.data() instead of &Operands[0] where Operands is a potentiallyNick Lewycky2009-05-281-1/+1
| | | | | | empty SmallVector. llvm-svn: 72512
* Factorize out a concept - no functionality change.Duncan Sands2009-03-211-2/+2
| | | | llvm-svn: 67454
* Don't load values out of global constants with weakDuncan Sands2009-03-201-2/+2
| | | | | | | | | linkage: the value may be replaced with something different at link time. (Frontends that want to allow values to be loaded out of weak constants can give their constants weak_odr linkage). llvm-svn: 67407
* Add the private linkage.Rafael Espindola2009-01-151-5/+5
| | | | llvm-svn: 62279
* Fix PR3325, a miscompilation of invokes by IPSCCP. Patch by Jay Foad!Chris Lattner2009-01-141-3/+2
| | | | llvm-svn: 62244
* Fix unused variable warnings.Devang Patel2008-11-211-0/+2
| | | | llvm-svn: 59778
* Replace explicit loop with utility function.Nick Lewycky2008-11-031-4/+2
| | | | llvm-svn: 58593
* Tidy up several unbeseeming casts from pointer to intptr_t.Dan Gohman2008-09-041-2/+2
| | | | llvm-svn: 55779
* improve encapsulation of the BBExecutable set.Chris Lattner2008-08-231-8/+4
| | | | llvm-svn: 55271
* Switch an assortment of maps, sets and vectors to more efficient versions,Chris Lattner2008-08-231-28/+25
| | | | | | patch contributed by m-s! llvm-svn: 55270
* Temporarily revert r54792. It's causing an ICE during bootstrapping.Bill Wendling2008-08-141-5/+5
| | | | llvm-svn: 54804
* Use DenseMap. Patch by Pratik Solanki.Devang Patel2008-08-141-5/+5
| | | | llvm-svn: 54792
* Fix SCCP's handling of struct value loads and stores. SCCP doesn'tDan Gohman2008-08-131-2/+0
| | | | | | | track individual leaf values in such cases, so it needs to treat struct values as normal values in this case. llvm-svn: 54760
* Enable first-class aggregates support.Dan Gohman2008-07-231-41/+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
* Tidy up some commments and use the getAggregateOperand andDan Gohman2008-06-201-9/+9
| | | | | | getInsertedValueOperand accessors. Thanks Matthijs! llvm-svn: 52543
* Fix the conditions under which SCCP should examine insertvalueDan Gohman2008-06-201-1/+18
| | | | | | instructions. Thanks to Matthijs Kooijman for pointing this out! llvm-svn: 52542
* Teach SCCP about insertvalue and extractvalue, and aboutDan Gohman2008-06-201-13/+107
| | | | | | | propagating constants across aggregate return values when insertvalue and extractvalue are used. llvm-svn: 52520
* Fix PR2358 by resolving calls with undef arguments to overdefined.Chris Lattner2008-05-241-0/+6
| | | | llvm-svn: 51535
* Allow for switch with no cases. Was causing faultDale Johannesen2008-05-231-0/+2
| | | | | | in gcc.dg/pr27531-1.c. llvm-svn: 51464
* Clean up the use of static and anonymous namespaces. This turned upDan Gohman2008-05-131-7/+7
| | | | | | | several things that were neither in an anonymous namespace nor static but not intended to be global. llvm-svn: 51017
* Fix various DOUTs to not call the extremely expensive Value::getName() Chris Lattner2008-05-111-5/+5
| | | | | | | | method. DOUT statements are disabled when assertions are off, but the side effects of getName() are still evaluated. Just call getNameSTart, which is close enough and doesn't cause heap traffic. llvm-svn: 50958
* Simplify code by using SwitchInst::findCaseValue instead of reimplementing it.Chris Lattner2008-05-101-14/+2
| | | | llvm-svn: 50957
* Remove 'unwinds to' support from mainline. This patch undoes r47802 r47989Nick Lewycky2008-04-251-5/+0
| | | | | | r48047 r48084 r48085 r48086 r48088 r48096 r48099 r48109 and r48123. llvm-svn: 50265
* code restructuring, not functionality change.Chris Lattner2008-04-241-22/+24
| | | | llvm-svn: 50203
* Don't replace multiple result of calls with undef, Chris Lattner2008-04-241-2/+4
| | | | | | | sccp tracks getresult values, not call values in this case. llvm-svn: 50202
* code cleanup, no functionality change.Chris Lattner2008-04-241-19/+21
| | | | llvm-svn: 50201
OpenPOWER on IntegriCloud