| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
pointer bitcasts and GEP's", and centralize the
logic in Value::getUnderlyingObject. The
difference with stripPointerCasts is that
stripPointerCasts only strips GEPs if all
indices are zero, while getUnderlyingObject
strips GEPs no matter what the indices are.
llvm-svn: 56922
|
|
|
|
| |
llvm-svn: 56625
|
|
|
|
| |
llvm-svn: 56349
|
|
|
|
|
|
| |
untested, Use::swap() is definitely not done yet
llvm-svn: 56348
|
|
|
|
|
|
| |
compilation warnings with -Wshadow.
llvm-svn: 53970
|
|
|
|
| |
llvm-svn: 52587
|
|
|
|
|
|
| |
predecessor BB if any of its operands are defined but not used in BB. The transformation will prevent the operand from being sunk into the use block.
llvm-svn: 52244
|
|
|
|
|
|
|
| |
operator new() referring to the static initTags function, which has to be in the
same linkage unit as any file including User.h.
llvm-svn: 51136
|
|
|
|
| |
llvm-svn: 50836
|
|
|
|
|
|
| |
instead?)
llvm-svn: 50775
|
|
|
|
| |
llvm-svn: 50483
|
|
|
|
| |
llvm-svn: 50465
|
|
|
|
| |
llvm-svn: 47796
|
|
|
|
| |
llvm-svn: 47425
|
|
|
|
|
|
| |
Now, we have very first multiple return value testcase!
llvm-svn: 47424
|
|
|
|
|
|
| |
annoying warnings.
llvm-svn: 47367
|
|
|
|
| |
llvm-svn: 45418
|
|
|
|
|
|
|
| |
_sabre_: it has a major problem: by the time ~Value is run, all of the "parts" of the derived classes have been destroyed
_sabre_: the vtable lives to fight another day
llvm-svn: 44760
|
|
|
|
| |
llvm-svn: 44756
|
|
|
|
|
|
| |
2007-11-19-InlineAsm.ll
llvm-svn: 44755
|
|
|
|
| |
llvm-svn: 44747
|
|
|
|
|
|
| |
of comparing begin() and end().
llvm-svn: 42585
|
|
|
|
| |
llvm-svn: 42444
|
|
|
|
| |
llvm-svn: 41205
|
|
|
|
| |
llvm-svn: 40989
|
|
|
|
| |
llvm-svn: 35195
|
|
|
|
| |
llvm-svn: 34917
|
|
|
|
|
|
|
| |
causes it to require no allocations and no symtab lookups in the common
case. This speeds up instcombine 9.2% on 447.dealII.
llvm-svn: 34324
|
|
|
|
| |
llvm-svn: 34310
|
|
|
|
|
|
| |
used to avoid std::string allocations in common cases.
llvm-svn: 34232
|
|
|
|
| |
llvm-svn: 34197
|
|
|
|
|
|
|
|
|
| |
std::map<std::string, Value*>
as its main datastructure. There are many improvements yet to be made, but
this speeds up opt --std-compile-opts on 447.dealII by 7.3%.
llvm-svn: 34193
|
|
|
|
| |
llvm-svn: 34182
|
|
|
|
| |
llvm-svn: 34174
|
|
|
|
| |
llvm-svn: 34171
|
|
|
|
|
|
|
|
| |
remove+insert.
Make insert/remove assert if used incorrectly instead of returning a bool.
llvm-svn: 33988
|
|
|
|
|
|
|
|
|
|
| |
This patch replaces the SymbolTable class with ValueSymbolTable which does
not support types planes. This means that all symbol names in LLVM must now
be unique. The patch addresses the necessary changes to deal with this and
removes code no longer needed as a result. This completes the bulk of the
changes for this PR. Some cleanup patches will follow.
llvm-svn: 33918
|
|
|
|
|
|
|
|
|
| |
Take an incremental step towards type plane elimination. This change
separates types from values in the symbol tables by finally making use
of the TypeSymbolTable class. This yields more natural interfaces for
dealing with types and unclutters the SymbolTable class.
llvm-svn: 32956
|
|
|
|
| |
llvm-svn: 31814
|
|
|
|
|
|
|
| |
true dynamically. Finally, pass the Use* that replaceAllUsesWith has into
the method for future use.
llvm-svn: 23626
|
|
|
|
| |
llvm-svn: 21427
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Value::setName, which is no longer virtual.
llvm-svn: 20464
|
|
|
|
| |
llvm-svn: 20288
|
|
|
|
| |
llvm-svn: 20044
|
|
|
|
| |
llvm-svn: 19961
|
|
|
|
| |
llvm-svn: 17022
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
string.
llvm-svn: 15191
|
|
|
|
| |
llvm-svn: 15190
|