Old fork of llvm-mirror, used on older RPCS3 builds
Go to file
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
autoconf Add a call to AC_CONFIG_COMMANDS to ensure that llvm_src is set properly 2005-02-24 18:31:27 +00:00
docs Fix HTML-4.01 Strict compliance 2005-03-01 17:19:21 +00:00
examples Use LLVMLIBS=JIT to get JIT libraries 2004-11-29 07:17:18 +00:00
include/llvm Add a new method, allow symtab to poke name. 2005-03-06 02:10:40 +00:00
lib This fixes PR531, a crash when running the CBE on a bytecode file. 2005-03-06 02:14:28 +00:00
projects Update to reflect various changes in the autoconf directory. THe 2005-02-24 18:53:47 +00:00
runtime Hrm, who knows what 'uint' is, but it seems to work sometimes? Wierd. 2005-01-28 19:37:35 +00:00
test New testcase for PR533 2005-03-05 18:47:28 +00:00
tools Changes to enable creation of native executables directly from gccld and to 2005-02-28 08:45:35 +00:00
utils Include local time on the web page for start/end times. 2005-02-13 16:08:30 +00:00
win32 Somehow tablegen.exe got moved... fix up tablegen invocations to match. 2005-02-16 05:06:52 +00:00
.cvsignore Ignore the autom4te.cache directoy. 2004-12-24 15:11:23 +00:00
configure Adjust to changes needed to more easily support projects via the new 2005-02-24 19:05:19 +00:00
CREDITS.TXT New entry. 2005-02-19 17:14:24 +00:00
LICENSE.TXT Another year, another copyright update. 2005-01-08 19:10:44 +00:00
llvm.spec Updated for 1.3. 2004-08-16 15:17:40 +00:00
llvm.spec.in Updated for 1.3. 2004-08-16 15:17:40 +00:00
Makefile Remove the check target. Its now in Makefile.rules 2004-12-06 05:35:00 +00:00
Makefile.common Update comments to reflect new variable names. Patch contributed by 2005-02-14 16:02:19 +00:00
Makefile.config.in For PR528: 2005-02-24 03:56:32 +00:00
Makefile.rules Correct a typo in Makefile.rules. 2005-03-01 16:27:06 +00:00
README.txt Make the text of this file a little more useful. 2004-09-02 22:49:27 +00:00

Low Level Virtual Machine (LLVM)
================================

This directory and its subdirectories contain source code for the Low Level 
Virtual Machine, a toolkit for the construction of highly optimized compilers,
optimizers, and runtime environments. 

LLVM is open source software. You may freely distribute it under the terms of
the license agreement found in LICENSE.txt.

Please see the HTML documentation provided in docs/index.html for further
assistance with LLVM.