llvm-6502/lib/VMCore
Chris Lattner 04cb800c32 This fixes PR531, a crash when running the CBE on a bytecode file.
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
2005-03-06 02:14:28 +00:00
..
AsmWriter.cpp Fix the spelling of the word `the' 2005-03-02 23:17:31 +00:00
BasicBlock.cpp remove all of the various setName implementations, consolidating them into 2005-03-05 19:51:50 +00:00
ConstantFold.cpp Fix a nasty thinko in my previous commit. 2005-01-28 23:17:27 +00:00
ConstantFold.h Convert 'struct' to 'class' in various places to adhere to the coding standards 2004-10-27 16:14:51 +00:00
ConstantFolding.h Convert 'struct' to 'class' in various places to adhere to the coding standards 2004-10-27 16:14:51 +00:00
ConstantRange.cpp Bug fixes for PR341 2004-07-15 01:29:12 +00:00
Constants.cpp remove all of the various setName implementations, consolidating them into 2005-03-05 19:51:50 +00:00
Dominators.cpp For PR387:\ 2004-12-07 04:03:45 +00:00
Function.cpp remove all of the various setName implementations, consolidating them into 2005-03-05 19:51:50 +00:00
Globals.cpp remove all of the various setName implementations, consolidating them into 2005-03-05 19:51:50 +00:00
Instruction.cpp remove all of the various setName implementations, consolidating them into 2005-03-05 19:51:50 +00:00
Instructions.cpp switch instructions only allow constantints for their values, be more specific. 2005-02-24 05:32:09 +00:00
LeakDetector.cpp Fix memory leaks, patch contributed by Morten Ofstad! 2004-11-19 17:09:48 +00:00
Makefile Change Library Names Not To Conflict With Others When Installed 2004-10-27 23:18:45 +00:00
Mangler.cpp Changes For Bug 352 2004-09-01 22:55:40 +00:00
Module.cpp Improve conformance with the Misha spelling benchmark suite 2005-01-30 00:09:23 +00:00
ModuleProvider.cpp Let subclasses implement ModuleProvider::materializeModule() which is based on 2004-01-21 22:54:50 +00:00
Pass.cpp For PR387:\ 2004-12-07 04:03:45 +00:00
PassManagerT.h Make this compatible with the HP/intel compiler. Fix by Duraid, thanks! 2005-01-14 15:53:26 +00:00
SymbolTable.cpp This fixes PR531, a crash when running the CBE on a bytecode file. 2005-03-06 02:14:28 +00:00
SymbolTableListTraitsImpl.h Put all LLVM code into the llvm namespace, as per bug 109. 2003-11-11 22:41:34 +00:00
Type.cpp Fix a nasty order of evaluation bug that Gabor Greif ran into. Here's an 2005-03-02 03:54:43 +00:00
Value.cpp This fixes PR531, a crash when running the CBE on a bytecode file. 2005-03-06 02:14:28 +00:00
ValueTypes.cpp Add missing entry. 2005-01-20 17:32:28 +00:00
Verifier.cpp Verify llvm.prefetch. 2005-02-28 19:27:42 +00:00