summaryrefslogtreecommitdiff
path: root/lib/VMCore/SymbolTable.cpp
Commit message (Collapse)AuthorAge
* Reset DEBUG_SYMBOL_TABLE back to 0.Vladimir Prus2006-05-29
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28538 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix compile error when DEBUG_SYMBOL_TABLE is defined.Vladimir Prus2006-05-29
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28537 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix an iterator invalidation problem in code used by the -strip passChris Lattner2005-10-31
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24124 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove trailing whitespaceMisha Brukman2005-04-21
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21427 91177308-0d34-0410-b5e6-96231b3b80d8
* rename insertEntry to insertChris Lattner2005-03-06
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20484 91177308-0d34-0410-b5e6-96231b3b80d8
* Merge SymbolTable::removeEntry into SymbolTable::remove, its only callerChris Lattner2005-03-06
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20483 91177308-0d34-0410-b5e6-96231b3b80d8
* Delete the really inefficient method: void remove(const Type* Typ);Chris Lattner2005-03-06
| | | | | | | | | | | Speed up the symbol stripping code by avoiding a linear search of the type table. Get rid of removeEntry(type_iterator), since 'remove' is exactly the same operation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20481 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove some really gross and hard to understand code now thatChris Lattner2005-03-06
| | | | | | | InternallyInconsistent is always false. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20477 91177308-0d34-0410-b5e6-96231b3b80d8
* Simplify some code.Chris Lattner2005-03-06
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20476 91177308-0d34-0410-b5e6-96231b3b80d8
* remove these methods.Chris Lattner2005-03-06
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20474 91177308-0d34-0410-b5e6-96231b3b80d8
* This fixes PR531, a crash when running the CBE on a bytecode file.Chris Lattner2005-03-06
| | | | | | | | | | | | | | | | | | | The problem is that Function::renameLocalSymbols is iterating through the symbol table planes, occasionally calling setName to rename a value (which used to do a symbol table remove/insert pair). The problem is that if there is only a single value in a particular type plane that the remove will nuke the symbol table plane, and the insert will create and insert a new one. This hoses Function::renameLocalSymbols because it has an iterator to the old plane, under the (very reasonable) assumption that simply renaming a value won't cause the type plane to disappear. This patch fixes the bug by making the rename operation a single atomic operation, which has a side effect of making the whole thing faster too. :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20469 91177308-0d34-0410-b5e6-96231b3b80d8
* 2nd arg to setName goes away.Chris Lattner2005-03-05
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20460 91177308-0d34-0410-b5e6-96231b3b80d8
* Nuke blank line.Chris Lattner2005-02-13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20154 91177308-0d34-0410-b5e6-96231b3b80d8
* Changes For Bug 352Reid Spencer2004-09-01
| | | | | | | | | 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/. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16137 91177308-0d34-0410-b5e6-96231b3b80d8
* Change SymbolTable::insertEntry to be more careful about how many mapChris Lattner2004-08-04
| | | | | | | | | lookups it does. This shaves another 5% off of bcreading 252.eon. Note that the proper solution to this problem is to fix PR411, but that will have to wait until later. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15455 91177308-0d34-0410-b5e6-96231b3b80d8
* bug 122:Reid Spencer2004-07-17
| | | | | | | | - Correct isa<Constant> for GlobalValue subclass - Fix some tabs and indentation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14932 91177308-0d34-0410-b5e6-96231b3b80d8
* Constify SymbolTable's use of Type* so that it never modifies them.Reid Spencer2004-07-04
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14616 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove unused varChris Lattner2004-06-05
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14033 91177308-0d34-0410-b5e6-96231b3b80d8
* Made it illegal to pass a Type* through one of the Value* interfaces. TheReid Spencer2004-05-25
| | | | | | | | SymbolTable will now assert if this is done. This didn't find any incorrect usage of SymbolTable but will prevent future mistakes until Type != Value. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13755 91177308-0d34-0410-b5e6-96231b3b80d8
* Completely rewrote the class. SymbolTable now separates Type* from Value* in ↵Reid Spencer2004-05-25
| | | | | | | | | | | | | preparation\ for making Type not derive from Value. There are now separate interfaces \ for looking up, finding, and inserting Types and Values. There are also \ three separate iterator interfaces, one for type planes, one for the types \ (type type plane), and one for values within a type plane. See the \ documentation in the Header file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13752 91177308-0d34-0410-b5e6-96231b3b80d8
* Make the lookup method const.Chris Lattner2003-12-31
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10667 91177308-0d34-0410-b5e6-96231b3b80d8
* Finegrainify namespacificationChris Lattner2003-11-21
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10131 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR130, and testcase test/Regression/Linker/2003-11-18-TypeResolution.llChris Lattner2003-11-19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10075 91177308-0d34-0410-b5e6-96231b3b80d8
* Put all LLVM code into the llvm namespace, as per bug 109.Brian Gaeke2003-11-11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9903 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR95. I'm checking this patch in for Reid Spencer, who figured it outChris Lattner2003-11-09
| | | | | | | and wrote it up. Thanks!! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9832 91177308-0d34-0410-b5e6-96231b3b80d8
* Added LLVM project notice to the top of every C++ source file.John Criswell2003-10-20
| | | | | | | Header files will be on the way. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9298 91177308-0d34-0410-b5e6-96231b3b80d8
* Regularize header file commentsChris Lattner2003-10-13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9071 91177308-0d34-0410-b5e6-96231b3b80d8
* This checkin basically amounts to a complete rewrite of the type-resolutionChris Lattner2003-10-03
| | | | | | | | | | | | | | | | | | | machinery. This dramatically simplifies how things works, removes irritating little corner cases, and overall improves speed and reliability. Highlights of this change are: 1. The exponential algorithm built into the code is now gone. For example the time to disassemble one bytecode file from the mesa benchmark went from taking 12.5s to taking 0.16s. 2. The linker bugs should be dramatically reduced. The one remaining bug has to do with constant handling, which I actually introduced in "union-find" checkins. 3. The code is much easier to follow, as a result of fewer special cases. It's probably also smaller. yaay. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8842 91177308-0d34-0410-b5e6-96231b3b80d8
* Spell `occurrence' correctly.Misha Brukman2003-09-08
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8388 91177308-0d34-0410-b5e6-96231b3b80d8
* This is now unnecessaryChris Lattner2003-09-04
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8347 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix bug: Linker/2003-08-28-TypeResolvesGlobal2.llChris Lattner2003-08-29
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8206 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix bug: Linker/2003-08-28-TypeResolvesGlobal.llChris Lattner2003-08-29
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8202 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove redundant const qualifiers from cast<> expressionsChris Lattner2003-07-23
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7253 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove using declarations and extraneous #includesChris Lattner2003-05-22
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6303 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix bug: Assembler/2002-12-15-GlobalResolve.llChris Lattner2002-12-15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5039 91177308-0d34-0410-b5e6-96231b3b80d8
* planes is not spelled with an OChris Lattner2002-12-15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5037 91177308-0d34-0410-b5e6-96231b3b80d8
* - Eliminate SymbolTable::ParentSymTab, ST::localLookup, andChris Lattner2002-10-15
| | | | | | | Function::ParentSymTab. These aren't needed at all. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4186 91177308-0d34-0410-b5e6-96231b3b80d8
* MEGAPATCH checkin.Chris Lattner2002-06-25
| | | | | | | For details, See: docs/2002-06-25-MegaPatchInfo.txt git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2779 91177308-0d34-0410-b5e6-96231b3b80d8
* We actually need this code for the release build to prevent link errors,Chris Lattner2002-05-10
| | | | | | | un#ifdef it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2606 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove some gross code by using the Value::dump method to do debug dumpsChris Lattner2002-04-07
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2150 91177308-0d34-0410-b5e6-96231b3b80d8
* Change references from Method to FunctionChris Lattner2002-03-26
| | | | | | | change references from MethodARgument to FunctionArgument git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1991 91177308-0d34-0410-b5e6-96231b3b80d8
* * Add new method localLookupChris Lattner2002-03-08
| | | | | | | | | | | | * SymbolTable::remove(Value *N) checks to see if we are internally inconsistent before looking for a type plane (caused a crash) * insertEntry now does a local lookup instead of a global lookup, which was causing an infinite loop in the renamer logic. * Added assertions to make sure stuff stays happy * Now the linker correctly links the SPECINT2000 mcf benchmark git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1840 91177308-0d34-0410-b5e6-96231b3b80d8
* This checkin fixes the bug described in:Chris Lattner2002-01-25
| | | | | | | test/Regression/Assembler/2002-01-24-BadSymbolTableAssert.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1583 91177308-0d34-0410-b5e6-96231b3b80d8
* Changes to build successfully with GCC 3.02Chris Lattner2002-01-20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1503 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename ConstPoolVal -> ConstantChris Lattner2001-12-03
| | | | | | | | Rename ConstPool* -> Constant* Rename ConstPoolVals.h -> ConstantVals.h git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1407 91177308-0d34-0410-b5e6-96231b3b80d8
* Create a new #include "Support/..." directory structure to move thingsChris Lattner2001-11-27
| | | | | | | | | from "llvm/Support/..." that are not llvm dependant. Move files and fix #includes git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1400 91177308-0d34-0410-b5e6-96231b3b80d8
* If a name conflict occurs when inserting a value, rename it.Chris Lattner2001-11-26
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1346 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix major bugs in type resolutionChris Lattner2001-11-03
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1092 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove unnamed prototypes that are created.Chris Lattner2001-10-23
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@964 91177308-0d34-0410-b5e6-96231b3b80d8
* More symbol table bugfixes that are impossible to track down. GoodyChris Lattner2001-10-23
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@960 91177308-0d34-0410-b5e6-96231b3b80d8