| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
phi node itself if it occurs in an unreachable basic block. Protect
against this. Hopefully this will fix some more buildbots.
llvm-svn: 119493
|
| |
|
|
|
|
| |
beginning of a block.
llvm-svn: 100230
|
| |
|
|
| |
llvm-svn: 91736
|
| |
|
|
|
|
| |
Patch by Howard Hinnant!
llvm-svn: 90365
|
| |
|
|
|
|
|
| |
indirectbr, thus we don't need "blockaddr(@func, null)". Eliminate it
for simplicity.
llvm-svn: 85699
|
| |
|
|
|
|
|
|
|
|
|
|
| |
block with a blockaddress still referring to it' replace the invalid
blockaddress with a new blockaddress(@func, null) instead of a
inttoptr(1).
This changes the bitcode encoding format, and still needs codegen
support (this should produce a non-zero value, referring to the entry
block of the function would also be quite reasonable).
llvm-svn: 85678
|
| |
|
|
|
|
|
| |
around, then zap them. This is analogous to dangling constantexprs hanging
off functions.
llvm-svn: 85627
|
| |
|
|
|
|
| |
data.
llvm-svn: 85625
|
| |
|
|
| |
llvm-svn: 85449
|
| |
|
|
| |
llvm-svn: 78948
|
| |
|
|
| |
llvm-svn: 78677
|
| |
|
|
| |
llvm-svn: 77635
|
| |
|
|
|
|
|
| |
- The only meat here is in Value.{h,cpp} the rest is essential 'const
std::string &' -> 'const Twine &'.
llvm-svn: 77048
|
| |
|
|
| |
llvm-svn: 76702
|
| |
|
|
| |
llvm-svn: 74973
|
| |
|
|
| |
llvm-svn: 74878
|
| |
|
|
| |
llvm-svn: 74807
|
| |
|
|
| |
llvm-svn: 66336
|
| |
|
|
| |
llvm-svn: 66333
|
| |
|
|
|
|
|
|
|
| |
by superposition.
This looks dangerous, but isn't because the sentinel is accessed in special way only,
namely the Next and Prev fields of it, and these are guaranteed to exist.
llvm-svn: 65626
|
| |
|
|
| |
llvm-svn: 60875
|
| |
|
|
| |
llvm-svn: 60872
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
a new ilist_node class, and remove them. Unlike alist_node,
ilist_node doesn't attempt to manage storage itself, so it avoids
the associated problems, including being opaque in gdb.
Adjust the Recycler class so that it doesn't depend on alist_node.
Also, change it to use explicit Size and Align parameters, allowing
it to work when the largest-sized node doesn't have the greatest
alignment requirement.
Change MachineInstr's MachineMemOperand list from a pool-backed
alist to a std::list for now.
llvm-svn: 54146
|
| |
|
|
|
|
| |
corresponding header first, even if redundant.
llvm-svn: 51598
|
| |
|
|
| |
llvm-svn: 51590
|
| |
|
|
|
|
| |
use it instead of duplicating its functionality.
llvm-svn: 51499
|
| |
|
|
|
|
| |
r48047 r48084 r48085 r48086 r48088 r48096 r48099 r48109 and r48123.
llvm-svn: 50265
|
| |
|
|
|
|
|
|
| |
Specifically, introduction of XXX::Create methods
for Users that have a potentially variable number of
Uses.
llvm-svn: 49277
|
| |
|
|
|
|
|
| |
Add the ability to remove just one instance of a BB from a phi node. This fixes
the compile error in the tree now.
llvm-svn: 48085
|
| |
|
|
|
|
| |
This is the first checkin for PR1269, the new EH infrastructure.
llvm-svn: 47802
|
| |
|
|
| |
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: 44747
|
| |
|
|
| |
llvm-svn: 44240
|
| |
|
|
| |
llvm-svn: 40530
|
| |
|
|
|
|
|
|
|
| |
object is always constant. As such, evaluate it at compile time instead of storing
it as an ivar in SymbolTableListTraits. This shrinks every SymbolTableListTraits
ilist by a word, shrinking BasicBlock from 44->40 bytes, Function from 96->88 bytes,
and Module from 60->52 bytes.
llvm-svn: 36189
|
| |
|
|
|
|
|
|
| |
of two. This shrinkifies Function by 8 bytes (104->96) and Module by 8
bytes (68->60). On a testcase of mine, this reduces the memory used to
read a module header from 565680b to 561024, a little over 4K.
llvm-svn: 36188
|
| |
|
|
|
|
|
|
|
| |
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: 30584
|
| |
|
|
| |
llvm-svn: 29911
|
| |
|
|
| |
llvm-svn: 28974
|
| |
|
|
|
|
| |
redundant they are.
llvm-svn: 28777
|
| |
|
|
| |
llvm-svn: 28725
|
| |
|
|
| |
llvm-svn: 28724
|
| |
|
|
| |
llvm-svn: 22768
|
| |
|
|
| |
llvm-svn: 22675
|
| |
|
|
|
|
|
| |
dominate the PHI node, this code can go away. This also makes passes more
aggressive, e.g. implementing Transforms/CondProp/phisimplify2.ll
llvm-svn: 22670
|
| |
|
|
|
|
|
|
| |
BasicBlock's removePredecessor routine. This requires shuffling around
the definition and implementation of hasContantValue from Utils.h,cpp into
Instructions.h,cpp
llvm-svn: 22664
|
| |
|
|
| |
llvm-svn: 21480
|
| |
|
|
| |
llvm-svn: 21427
|