summaryrefslogtreecommitdiffstats
path: root/llvm/lib/VMCore/SymbolTable.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Remove trailing whitespaceMisha Brukman2005-04-211-11/+11
| | | | llvm-svn: 21427
* rename insertEntry to insertChris Lattner2005-03-061-1/+2
| | | | llvm-svn: 20484
* Merge SymbolTable::removeEntry into SymbolTable::remove, its only callerChris Lattner2005-03-061-28/+21
| | | | llvm-svn: 20483
* Delete the really inefficient method: void remove(const Type* Typ);Chris Lattner2005-03-061-18/+2
| | | | | | | | | | 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. llvm-svn: 20481
* Remove some really gross and hard to understand code now thatChris Lattner2005-03-061-27/+6
| | | | | | InternallyInconsistent is always false. llvm-svn: 20477
* Simplify some code.Chris Lattner2005-03-061-7/+5
| | | | llvm-svn: 20476
* remove these methods.Chris Lattner2005-03-061-42/+0
| | | | llvm-svn: 20474
* This fixes PR531, a crash when running the CBE on a bytecode file.Chris Lattner2005-03-061-0/+36
| | | | | | | | | | | | | | | | | | 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. :) llvm-svn: 20469
* 2nd arg to setName goes away.Chris Lattner2005-03-051-8/+5
| | | | llvm-svn: 20460
* Nuke blank line.Chris Lattner2005-02-131-1/+0
| | | | llvm-svn: 20154
* 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
* Change SymbolTable::insertEntry to be more careful about how many mapChris Lattner2004-08-041-15/+22
| | | | | | | | 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. llvm-svn: 15455
* bug 122:Reid Spencer2004-07-171-13/+11
| | | | | | | - Correct isa<Constant> for GlobalValue subclass - Fix some tabs and indentation. llvm-svn: 14932
* Constify SymbolTable's use of Type* so that it never modifies them.Reid Spencer2004-07-041-11/+8
| | | | llvm-svn: 14616
* Remove unused varChris Lattner2004-06-051-1/+0
| | | | llvm-svn: 14033
* Made it illegal to pass a Type* through one of the Value* interfaces. TheReid Spencer2004-05-251-0/+4
| | | | | | | 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. llvm-svn: 13755
* Completely rewrote the class. SymbolTable now separates Type* from Value* in ↵Reid Spencer2004-05-251-108/+240
| | | | | | | | | | | | 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. llvm-svn: 13752
* Make the lookup method const.Chris Lattner2003-12-311-3/+3
| | | | llvm-svn: 10667
* Finegrainify namespacificationChris Lattner2003-11-211-4/+1
| | | | llvm-svn: 10131
* Fix PR130, and testcase test/Regression/Linker/2003-11-18-TypeResolution.llChris Lattner2003-11-191-0/+7
| | | | llvm-svn: 10075
* Put all LLVM code into the llvm namespace, as per bug 109.Brian Gaeke2003-11-111-0/+4
| | | | llvm-svn: 9903
* Fix PR95. I'm checking this patch in for Reid Spencer, who figured it outChris Lattner2003-11-091-3/+2
| | | | | | and wrote it up. Thanks!! llvm-svn: 9832
* 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
* Regularize header file commentsChris Lattner2003-10-131-1/+1
| | | | llvm-svn: 9071
* This checkin basically amounts to a complete rewrite of the type-resolutionChris Lattner2003-10-031-7/+22
| | | | | | | | | | | | | | | | | | 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. llvm-svn: 8842
* Spell `occurrence' correctly.Misha Brukman2003-09-081-1/+1
| | | | llvm-svn: 8388
* This is now unnecessaryChris Lattner2003-09-041-3/+0
| | | | llvm-svn: 8347
* Fix bug: Linker/2003-08-28-TypeResolvesGlobal2.llChris Lattner2003-08-291-7/+2
| | | | llvm-svn: 8206
* Fix bug: Linker/2003-08-28-TypeResolvesGlobal.llChris Lattner2003-08-291-6/+12
| | | | llvm-svn: 8202
* Remove redundant const qualifiers from cast<> expressionsChris Lattner2003-07-231-4/+4
| | | | llvm-svn: 7253
* Remove using declarations and extraneous #includesChris Lattner2003-05-221-31/+28
| | | | llvm-svn: 6303
* Fix bug: Assembler/2002-12-15-GlobalResolve.llChris Lattner2002-12-151-11/+16
| | | | llvm-svn: 5039
* planes is not spelled with an OChris Lattner2002-12-151-1/+1
| | | | llvm-svn: 5037
* - Eliminate SymbolTable::ParentSymTab, ST::localLookup, andChris Lattner2002-10-151-14/+2
| | | | | | Function::ParentSymTab. These aren't needed at all. llvm-svn: 4186
* MEGAPATCH checkin.Chris Lattner2002-06-251-2/+1
| | | | | | For details, See: docs/2002-06-25-MegaPatchInfo.txt llvm-svn: 2779
* We actually need this code for the release build to prevent link errors,Chris Lattner2002-05-101-6/+1
| | | | | | un#ifdef it. llvm-svn: 2606
* Remove some gross code by using the Value::dump method to do debug dumpsChris Lattner2002-04-071-22/+26
| | | | llvm-svn: 2150
* Change references from Method to FunctionChris Lattner2002-03-261-4/+4
| | | | | | change references from MethodARgument to FunctionArgument llvm-svn: 1991
* * Add new method localLookupChris Lattner2002-03-081-2/+16
| | | | | | | | | | | * 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 llvm-svn: 1840
* This checkin fixes the bug described in:Chris Lattner2002-01-251-19/+19
| | | | | | test/Regression/Assembler/2002-01-24-BadSymbolTableAssert.ll llvm-svn: 1583
* Changes to build successfully with GCC 3.02Chris Lattner2002-01-201-3/+12
| | | | llvm-svn: 1503
* Rename ConstPoolVal -> ConstantChris Lattner2001-12-031-3/+3
| | | | | | | Rename ConstPool* -> Constant* Rename ConstPoolVals.h -> ConstantVals.h llvm-svn: 1407
* Create a new #include "Support/..." directory structure to move thingsChris Lattner2001-11-271-1/+1
| | | | | | | | from "llvm/Support/..." that are not llvm dependant. Move files and fix #includes llvm-svn: 1400
* If a name conflict occurs when inserting a value, rename it.Chris Lattner2001-11-261-3/+8
| | | | llvm-svn: 1346
* Fix major bugs in type resolutionChris Lattner2001-11-031-15/+25
| | | | llvm-svn: 1092
* Remove unnamed prototypes that are created.Chris Lattner2001-10-231-0/+6
| | | | llvm-svn: 964
* More symbol table bugfixes that are impossible to track down. GoodyChris Lattner2001-10-231-31/+27
| | | | llvm-svn: 960
* Allow unresolved/opaque types to be read and written to bytecode filesChris Lattner2001-10-231-33/+69
| | | | llvm-svn: 959
* Fix a problem occuring with type unification of symbol table entriesChris Lattner2001-10-221-1/+55
| | | | llvm-svn: 955
* Fix bug exposed by this testcase:Chris Lattner2001-10-221-6/+27
| | | | | | | | | | | declare int "call_operand" (%rtx_def*, int) ;; Prototype for: call_operand declare int "restore_operand" (%rtx_def*, int) ;; Prototype for: restore_operand %rtx_def = type opaque %rtx_def = type int implementation llvm-svn: 934
OpenPOWER on IntegriCloud