| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 21427
|
| |
|
|
| |
llvm-svn: 20484
|
| |
|
|
| |
llvm-svn: 20483
|
| |
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
InternallyInconsistent is always false.
llvm-svn: 20477
|
| |
|
|
| |
llvm-svn: 20476
|
| |
|
|
| |
llvm-svn: 20474
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 20460
|
| |
|
|
| |
llvm-svn: 20154
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
| |
- Correct isa<Constant> for GlobalValue subclass
- Fix some tabs and indentation.
llvm-svn: 14932
|
| |
|
|
| |
llvm-svn: 14616
|
| |
|
|
| |
llvm-svn: 14033
|
| |
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 10667
|
| |
|
|
| |
llvm-svn: 10131
|
| |
|
|
| |
llvm-svn: 10075
|
| |
|
|
| |
llvm-svn: 9903
|
| |
|
|
|
|
| |
and wrote it up. Thanks!!
llvm-svn: 9832
|
| |
|
|
|
|
| |
Header files will be on the way.
llvm-svn: 9298
|
| |
|
|
| |
llvm-svn: 9071
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 8388
|
| |
|
|
| |
llvm-svn: 8347
|
| |
|
|
| |
llvm-svn: 8206
|
| |
|
|
| |
llvm-svn: 8202
|
| |
|
|
| |
llvm-svn: 7253
|
| |
|
|
| |
llvm-svn: 6303
|
| |
|
|
| |
llvm-svn: 5039
|
| |
|
|
| |
llvm-svn: 5037
|
| |
|
|
|
|
| |
Function::ParentSymTab. These aren't needed at all.
llvm-svn: 4186
|
| |
|
|
|
|
| |
For details, See: docs/2002-06-25-MegaPatchInfo.txt
llvm-svn: 2779
|
| |
|
|
|
|
| |
un#ifdef it.
llvm-svn: 2606
|
| |
|
|
| |
llvm-svn: 2150
|
| |
|
|
|
|
| |
change references from MethodARgument to FunctionArgument
llvm-svn: 1991
|
| |
|
|
|
|
|
|
|
|
|
| |
* 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
|
| |
|
|
|
|
| |
test/Regression/Assembler/2002-01-24-BadSymbolTableAssert.ll
llvm-svn: 1583
|
| |
|
|
| |
llvm-svn: 1503
|
| |
|
|
|
|
|
| |
Rename ConstPool* -> Constant*
Rename ConstPoolVals.h -> ConstantVals.h
llvm-svn: 1407
|
| |
|
|
|
|
|
|
| |
from "llvm/Support/..." that are not llvm dependant.
Move files and fix #includes
llvm-svn: 1400
|
| |
|
|
| |
llvm-svn: 1346
|
| |
|
|
| |
llvm-svn: 1092
|
| |
|
|
| |
llvm-svn: 964
|
| |
|
|
| |
llvm-svn: 960
|
| |
|
|
| |
llvm-svn: 959
|
| |
|
|
| |
llvm-svn: 955
|
| |
|
|
|
|
|
|
|
|
|
| |
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
|