summaryrefslogtreecommitdiffstats
path: root/llvm/lib/VMCore/BasicBlock.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Devirtualizing Value destructor (PR889). Patch by Pawel Kunio!Gordon Henriksen2007-12-091-29/+9
| | | | llvm-svn: 44747
* Remove meaningless qualifiers from return types, avoiding compiler warnings.Dan Gohman2007-11-191-1/+1
| | | | llvm-svn: 44240
* DummyInst's member functions don't need to be virtual.Dan Gohman2007-07-261-2/+2
| | | | llvm-svn: 40530
* The (negative) offset from a SymbolTableListTraits-using ilist to its containerChris Lattner2007-04-171-2/+0
| | | | | | | | | object is always constant. As such, evaluate it at compile time instead of storing it as an ivar in SymbolTableListTraits. This shrinks every SymbolTableListTraits ilist by a word, shrinking BasicBlock from 44->40 bytes, Function from 96->88 bytes, and Module from 60->52 bytes. llvm-svn: 36189
* Refactor SymbolTableListTraits to only have a single pointer in it, insteadChris Lattner2007-04-171-9/+19
| | | | | | | | of two. This shrinkifies Function by 8 bytes (104->96) and Module by 8 bytes (68->60). On a testcase of mine, this reduces the memory used to read a module header from 565680b to 561024, a little over 4K. llvm-svn: 36188
* Switch ValueSymbolTable to use StringMap<Value*> instead of ↵Chris Lattner2007-02-121-1/+3
| | | | | | | | | std::map<std::string, Value*> as its main datastructure. There are many improvements yet to be made, but this speeds up opt --std-compile-opts on 447.dealII by 7.3%. llvm-svn: 34193
* add method, correct commentChris Lattner2006-09-231-3/+10
| | | | llvm-svn: 30584
* s|llvm/Support/Visibility.h|llvm/Support/Compiler.h|Chris Lattner2006-08-271-1/+1
| | | | llvm-svn: 29911
* Use hidden visibility to reduce codesizeChris Lattner2006-06-281-1/+2
| | | | llvm-svn: 28974
* When asked not to delete useless PHIs, really don't delete them, no matter howOwen Anderson2006-06-141-1/+2
| | | | | | redundant they are. llvm-svn: 28777
* Remove dead code.Vladimir Prus2006-06-081-1/+1
| | | | llvm-svn: 28725
* New method BasicBlock::getFirstNonPHI.Vladimir Prus2006-06-081-0/+11
| | | | llvm-svn: 28724
* Add a helper methodChris Lattner2005-08-121-0/+8
| | | | llvm-svn: 22768
* Fix an iterator invalidation problem when we decide a phi has a constant valueChris Lattner2005-08-051-1/+2
| | | | llvm-svn: 22675
* Now that hasConstantValue is more careful w.r.t. returning values that onlyChris Lattner2005-08-051-5/+4
| | | | | | | dominate the PHI node, this code can go away. This also makes passes more aggressive, e.g. implementing Transforms/CondProp/phisimplify2.ll llvm-svn: 22670
* Fix a fixme in CondPropagate.cpp by moving a PhiNode optimization intoNate Begeman2005-08-041-1/+9
| | | | | | | | BasicBlock's removePredecessor routine. This requires shuffling around the definition and implementation of hasContantValue from Utils.h,cpp into Instructions.h,cpp llvm-svn: 22664
* Eliminate tabs and trailing spacesJeff Cohen2005-04-231-2/+2
| | | | llvm-svn: 21480
* Remove trailing whitespaceMisha Brukman2005-04-211-9/+9
| | | | llvm-svn: 21427
* Improve doxygen, from part of Evan's patch that didn't apply.Chris Lattner2005-04-211-6/+6
| | | | llvm-svn: 21394
* Improve doxygen documentation, patch contributed by Evan Jones!Chris Lattner2005-04-211-11/+11
| | | | llvm-svn: 21393
* add an argument to allow avoiding deleting phi nodes.Chris Lattner2005-04-121-6/+9
| | | | llvm-svn: 21255
* remove all of the various setName implementations, consolidating them intoChris Lattner2005-03-051-9/+0
| | | | | | Value::setName, which is no longer virtual. llvm-svn: 20464
* Remove the 2nd argument to Value::setNameChris Lattner2005-03-051-3/+1
| | | | llvm-svn: 20458
* add a new method.Chris Lattner2005-02-241-0/+10
| | | | llvm-svn: 20293
* make this more efficient. Scan up to 16 nodes, not the whole list.Chris Lattner2005-02-231-1/+1
| | | | llvm-svn: 20289
* Reduce the amount of searching this assertion does. On a testcase of mine,Chris Lattner2005-02-231-1/+3
| | | | | | this reduces the time for -simplifycfg in a debug build from 106s to 14.82s llvm-svn: 20286
* Improve conformance with the Misha spelling benchmark suiteChris Lattner2005-01-301-1/+1
| | | | llvm-svn: 19930
* Adjust to ilist changes.Chris Lattner2005-01-291-1/+1
| | | | llvm-svn: 19923
* Adjust to changes in User class.Chris Lattner2005-01-291-1/+1
| | | | llvm-svn: 19892
* Check in the file I forgot last night, to solve all of the crashes in everyChris Lattner2004-12-111-0/+1
| | | | | | test in the suite. :( llvm-svn: 18804
* Implement remove/eraseFromParent methodsChris Lattner2004-10-111-0/+9
| | | | llvm-svn: 16922
* 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
* Fix #includes of i*.h files => Instructions.h as per PR403Misha Brukman2004-07-291-3/+2
| | | | llvm-svn: 15327
* Find bugs sooner rather than later. In this case, don't allow the creationChris Lattner2004-07-061-11/+5
| | | | | | of instructions that don't have a first-class or void type. llvm-svn: 14646
* Fix GCC warningsChris Lattner2004-06-051-2/+2
| | | | llvm-svn: 14044
* As much as I dislike doing this, it's the only fix for VC8.0 that I can comeChris Lattner2004-06-051-2/+4
| | | | | | up with, even though it's perfectly conformant code. :( llvm-svn: 14034
* Fix retriving parent Function.Misha Brukman2004-04-161-1/+1
| | | | llvm-svn: 13001
* Assert if deleting BasicBlock before removing it from Function.Misha Brukman2004-04-161-0/+1
| | | | llvm-svn: 12983
* Remove obsolete methodChris Lattner2004-02-111-13/+0
| | | | llvm-svn: 11302
* Adjust to the new BB ctorChris Lattner2004-02-041-24/+8
| | | | llvm-svn: 11113
* When splitting a basic block, insert the new half immediately after the firstChris Lattner2004-02-041-1/+1
| | | | | | half. llvm-svn: 11110
* In BasicBlock::splitBasicBlock, just use islist::splice to move the ↵Chris Lattner2004-02-031-8/+3
| | | | | | | | | | | instructions, instead of a loop that is really inefficient with large basic blocks. This speeds up the inliner pass on the testcase in PR209 from 13.8s to 2.24s which still isn't exactly speedy, but is a lot better. :) llvm-svn: 11105
* Minor cleanups and simplificationsChris Lattner2003-11-211-28/+26
| | | | llvm-svn: 10127
* Start using the nicer terminator auto-insertion APIChris Lattner2003-11-201-1/+1
| | | | llvm-svn: 10111
* Put all LLVM code into the llvm namespace, as per bug 109.Brian Gaeke2003-11-111-1/+5
| | | | llvm-svn: 9903
* Make code gcc 3.4 cleanChris Lattner2003-11-051-1/+1
| | | | llvm-svn: 9719
* 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
* Do not use BasicBlock::succ_iteratorChris Lattner2003-09-241-2/+1
| | | | llvm-svn: 8700
* Allow specifying the name for the newly split basic blockChris Lattner2003-08-241-2/+2
| | | | llvm-svn: 8097
* Fix a bug that occurred when removing the last predecessor INTO anChris Lattner2003-04-251-1/+5
| | | | | | infinite loop llvm-svn: 5953
OpenPOWER on IntegriCloud