summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/Scalar/ConstantProp.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Get rid of static constructors for pass registration. Instead, every pass ↵Owen Anderson2010-10-191-1/+3
| | | | | | | | | | | | | | | | | exposes an initializeMyPassFunction(), which must be called in the pass's constructor. This function uses static dependency declarations to recursively initialize the pass's dependencies. Clients that only create passes through the createFooPass() APIs will require no changes. Clients that want to use the CommandLine options for passes will need to manually call the appropriate initialization functions in PassInitialization.h before parsing commandline arguments. I have tested this with all standard configurations of clang and llvm-gcc on Darwin. It is possible that there are problems with the static dependencies that will only be visible with non-standard options. If you encounter any crash in pass registration/creation, please send the testcase to me directly. llvm-svn: 116820
* Now with fewer extraneous semicolons!Owen Anderson2010-10-071-1/+1
| | | | llvm-svn: 115996
* Reapply r110396, with fixes to appease the Linux buildbot gods.Owen Anderson2010-08-061-1/+1
| | | | llvm-svn: 110460
* Revert r110396 to fix buildbots.Owen Anderson2010-08-061-1/+1
| | | | llvm-svn: 110410
* Don't use PassInfo* as a type identifier for passes. Instead, use the ↵Owen Anderson2010-08-051-1/+1
| | | | | | | | address of the static ID member as the sole unique type identifier. Clean up APIs related to this change. llvm-svn: 110396
* Fix batch of converting RegisterPass<> to INTIALIZE_PASS().Owen Anderson2010-07-211-2/+2
| | | | llvm-svn: 109045
* remove a bunch of extraneous LLVMContext argumentsChris Lattner2009-11-061-1/+1
| | | | | | from various APIs, addressing PR5325. llvm-svn: 86231
* eliminate VISIBILITY_HIDDEN from Transforms/Scalar. PR4861Chris Lattner2009-09-021-2/+1
| | | | llvm-svn: 80766
* Get rid of the Pass+Context magic.Owen Anderson2009-07-221-1/+1
| | | | llvm-svn: 76702
* Thread LLVMContext through the constant folding APIs, which touches a lot of ↵Owen Anderson2009-07-061-1/+1
| | | | | | files. llvm-svn: 74844
* Tidy up several unbeseeming casts from pointer to intptr_t.Dan Gohman2008-09-041-1/+1
| | | | llvm-svn: 55779
* Fix comment typos.Duncan Sands2008-08-011-1/+1
| | | | llvm-svn: 54266
* Use Instruction::eraseFromParent().Dan Gohman2008-06-211-1/+1
| | | | llvm-svn: 52606
* Clean up the use of static and anonymous namespaces. This turned upDan Gohman2008-05-131-4/+4
| | | | | | | several things that were neither in an anonymous namespace nor static but not intended to be global. llvm-svn: 51017
* Remove attribution from file headers, per discussion on llvmdev.Chris Lattner2007-12-291-2/+2
| | | | llvm-svn: 45418
* Fix typo in comment.Nick Lewycky2007-05-061-1/+1
| | | | llvm-svn: 36873
* Drop 'const'Devang Patel2007-05-031-2/+2
| | | | llvm-svn: 36662
* Use 'static const char' instead of 'static const int'.Devang Patel2007-05-021-2/+2
| | | | | | | Due to darwin gcc bug, one version of darwin linker coalesces static const int, which defauts PassID based pass identification. llvm-svn: 36652
* Do not use typeinfo to identify pass in pass manager.Devang Patel2007-05-011-0/+4
| | | | llvm-svn: 36632
* Apply the VISIBILITY_HIDDEN field to the remaining anonymous classes inReid Spencer2007-02-051-1/+2
| | | | | | | the Transforms library. This reduces debug library size by 132 KB, debug binary size by 376 KB, and reduces link time for llvm tools slightly. llvm-svn: 33939
* Adjust #includes to match movement of constant folding code from ↵Chris Lattner2007-01-301-1/+1
| | | | | | transformutils to libanalysis. llvm-svn: 33680
* Switch over Transforms/Scalar to use the STATISTIC macro. For each statisticChris Lattner2006-12-191-2/+3
| | | | | | | converted, we lose a static initializer. This also allows GCC to emit warnings about unused statistics. llvm-svn: 32690
* Detemplatize the Statistic class. The only type it is instantiated withChris Lattner2006-12-061-1/+1
| | | | | | is 'unsigned'. llvm-svn: 32279
* eliminate RegisterOpt. It does the same thing as RegisterPass.Chris Lattner2006-08-271-1/+2
| | | | llvm-svn: 29925
* Remove trailing whitespaceMisha Brukman2005-04-211-3/+3
| | | | llvm-svn: 21427
* Prototype these functions more accuratelyChris Lattner2004-09-201-1/+1
| | | | llvm-svn: 16432
* Changes For Bug 352Reid Spencer2004-09-011-1/+1
| | | | | | | | Move include/Config and include/Support into include/llvm/Config, include/llvm/ADT and include/llvm/Support. From here on out, all LLVM public header files must be under include/llvm/. llvm-svn: 16137
* Changes to fix up the inst_iterator to pass to boost iterator checks. ThisChris Lattner2004-04-271-1/+4
| | | | | | patch was graciously contributed by Vladimir Prus. llvm-svn: 13185
* Constant propagation should remove the dead instructionsChris Lattner2004-04-131-0/+4
| | | | llvm-svn: 12917
* Add header file I accidentally removed in teh shuffleChris Lattner2004-01-121-0/+1
| | | | llvm-svn: 10795
* Remove unneeded #includeChris Lattner2004-01-121-1/+0
| | | | llvm-svn: 10788
* Finegrainify namespacificationChris Lattner2004-01-091-5/+2
| | | | llvm-svn: 10725
* Put all LLVM code into the llvm namespace, as per bug 109.Brian Gaeke2003-11-111-0/+4
| | | | llvm-svn: 9903
* Added LLVM project notice to the top of every C++ source file.John Criswell2003-10-201-0/+7
| | | | | | Header files will be on the way. llvm-svn: 9298
* Hopefully, the final fix for `[Pp]ropogate'.Misha Brukman2003-05-201-8/+8
| | | | llvm-svn: 6251
* - Rename AnalysisUsage::preservesAll to getPreservesAll & preservesCFG toChris Lattner2002-10-211-1/+1
| | | | | | setPreservesCFG to be less confusing. llvm-svn: 4255
* Updates to work with recent Statistic's changes:Chris Lattner2002-10-011-3/+3
| | | | | | | | | | | | * Renamed StatisticReporter.h/cpp to Statistic.h/cpp * Broke constructor to take two const char * arguments instead of one, so that indendation can be taken care of automatically. * Sort the list by pass name when printing * Make sure to print all statistics as a group, instead of randomly when the statistics dtors are called. * Updated ProgrammersManual with new semantics. llvm-svn: 4002
* * Add support for different "PassType's"Chris Lattner2002-07-261-1/+1
| | | | | | | | | | | | | | | * Add new RegisterOpt/RegisterAnalysis templates for registering passes that are to show up in opt or analyze * Register Analyses now * Change optimizations to use RegisterOpt instead of RegisterPass * Add support for different "PassType's" * Add new RegisterOpt/RegisterAnalysis templates for registering passes that are to show up in opt or analyze * Register Analyses now * Change optimizations to use RegisterOpt instead of RegisterPass * Remove getPassName implementations from various subclasses llvm-svn: 3113
* *** empty log message ***Chris Lattner2002-07-231-2/+2
| | | | llvm-svn: 3016
* MEGAPATCH checkin.Chris Lattner2002-06-251-2/+2
| | | | | | For details, See: docs/2002-06-25-MegaPatchInfo.txt llvm-svn: 2779
* Trivial cleanupsChris Lattner2002-05-131-2/+2
| | | | llvm-svn: 2617
* Add support for printing out statistics information when -stats is added toChris Lattner2002-05-101-1/+5
| | | | | | the command line llvm-svn: 2601
* Merge all individual .h files into a single Scalar.h fileChris Lattner2002-05-071-1/+1
| | | | llvm-svn: 2537
* Factor code out to the TransformUtils libraryChris Lattner2002-05-071-80/+2
| | | | llvm-svn: 2516
* * Eliminate dead code that should have been removed in last revisionChris Lattner2002-05-061-146/+50
| | | | | | | | | * Convert main constant propogation pass to be worklist driven instead of iterative. * -constprop pass no longer "constant propogates" terminator instructions - CFG is now preserved! llvm-svn: 2502
* * Use simplified interface to constant propogation stuff.Chris Lattner2002-05-061-35/+8
| | | | | | | | * Remove dead PHI case (which could not work due to getNumOperands rather than getNumIncomingValues. This really belongs in InstCombine, anyway so we'll move it there. llvm-svn: 2497
* Implement constant propogation of shift instructionsChris Lattner2002-05-061-4/+33
| | | | llvm-svn: 2471
* Add new optional getPassName() virtual function that a Pass can overrideChris Lattner2002-04-291-0/+2
| | | | | | to make debugging output a lot nicer. llvm-svn: 2395
* Tighten up the AnalysisUsage of lots of passes, primarily to correctly ↵Chris Lattner2002-04-281-0/+6
| | | | | | indicate whether or not they invalidate the CFGA llvm-svn: 2386
* Split ConstantVals.h into Constant.h and Constants.hChris Lattner2002-04-281-1/+0
| | | | llvm-svn: 2378
OpenPOWER on IntegriCloud