| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
llvm-svn: 99564
|
|
|
|
|
|
|
| |
and T->isPointerTy(). Convert most instances of the first form to the second form.
Requested by Chris.
llvm-svn: 96344
|
|
|
|
| |
llvm-svn: 94763
|
|
|
|
| |
llvm-svn: 94649
|
|
|
|
| |
llvm-svn: 94648
|
|
|
|
|
|
| |
metadata to dbg.value
llvm-svn: 94634
|
|
|
|
| |
llvm-svn: 94567
|
|
|
|
|
|
| |
associated llvm.dbg.declare instrinsic, insert an llvm.dbg.var intrinsic before each store.
llvm-svn: 94493
|
|
|
|
| |
llvm-svn: 94432
|
|
|
|
|
|
| |
associated llvm.dbg.declare instrinsic, insert an llvm.dbg.var intrinsic before each store
llvm-svn: 94260
|
|
|
|
| |
llvm-svn: 94194
|
|
|
|
| |
llvm-svn: 94113
|
|
|
|
|
|
| |
non-zero trip count. Use SmallVector's pop_back_val().
llvm-svn: 92734
|
|
|
|
|
|
|
|
| |
isPodLike type trait. This is a generally useful type trait for
more than just DenseMap, and we really care about whether something
acts like a pod, not whether it really is a pod.
llvm-svn: 91421
|
|
|
|
|
|
| |
about the potential use of these uninitialized members under certain conditions.
llvm-svn: 91239
|
|
|
|
| |
llvm-svn: 89645
|
|
|
|
| |
llvm-svn: 85786
|
|
|
|
|
|
| |
VISIBILITY_HIDDEN removal.
llvm-svn: 85043
|
|
|
|
|
|
|
| |
Chris claims we should never have visibility_hidden inside any .cpp file but
that's still not true even after this commit.
llvm-svn: 85042
|
|
|
|
| |
llvm-svn: 82488
|
|
|
|
|
|
|
|
| |
instead of a bool argument, and to do the dominator check itself.
This makes it eaiser to use when DominatorTree information is
available.
llvm-svn: 80920
|
|
|
|
| |
llvm-svn: 78363
|
|
|
|
| |
llvm-svn: 77635
|
|
|
|
| |
llvm-svn: 77605
|
|
|
|
|
|
|
|
|
| |
a Twine, e.g., for names).
- I am a little ambivalent about this; we don't want the string conversion of
utostr, but using overload '+' mixed with string and integer arguments is
sketchy. On the other hand, this particular usage is something of an idiom.
llvm-svn: 77579
|
|
|
|
| |
llvm-svn: 76702
|
|
|
|
| |
llvm-svn: 74878
|
|
|
|
| |
llvm-svn: 74807
|
|
|
|
|
|
| |
separate back() and pop_back() calls.
llvm-svn: 71089
|
|
|
|
|
|
| |
incoming edges for a block with many predecessors.
llvm-svn: 69312
|
|
|
|
|
|
| |
debug intrinsics correctly.
llvm-svn: 66225
|
|
|
|
| |
llvm-svn: 59454
|
|
|
|
|
|
|
|
| |
promotion.
- Eliminate uses after free and simplify tests.
Devang: Please check that this is still doing what you intended.
llvm-svn: 58887
|
|
|
|
| |
llvm-svn: 58830
|
|
|
|
| |
llvm-svn: 58826
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
LargeBlockInfo, we can now dramatically simplify their implementation
and speed them up at the same time. Now the code has time proportional
to the number of uses of the alloca, not the size of the block.
This also eliminates code that tried to batch up different allocas which
are used in the same blocks, and eliminates the 'retry list' logic which
was baroque and no unneccesary. In addition to being a speedup for crazy
cases, this is also a nice cleanup:
PromoteMemoryToRegister.cpp | 270 +++++++++++++++-----------------------------
1 file changed, 96 insertions(+), 174 deletions(-)
llvm-svn: 58229
|
|
|
|
|
|
|
|
|
| |
a trivial dense map. Use this in RewriteSingleStoreAlloca to
avoid aggressively rescanning blocks over and over again. This
fixes PR2925, speeding up mem2reg on the testcase in that bug
from 4.56s to 0.02s in a debug build on my machine.
llvm-svn: 58227
|
|
|
|
|
|
|
|
| |
Specifically, introduction of XXX::Create methods
for Users that have a potentially variable number of
Uses.
llvm-svn: 49277
|
|
|
|
|
|
| |
successors. This makes it support nounwind.
llvm-svn: 48320
|
|
|
|
|
|
|
|
| |
check more intelligent. This speeds up mem2reg from 5.29s to
0.79s on a synthetic testcase with tons of predecessors and
phi nodes.
llvm-svn: 46767
|
|
|
|
| |
llvm-svn: 45418
|
|
|
|
|
|
| |
Also cleaned up some comments in source files.
llvm-svn: 43674
|
|
|
|
|
|
|
| |
Add a new DenseMapInfo::isEqual method to allow clients to redefine
the equality predicate used when probing the hash table.
llvm-svn: 42042
|
|
|
|
|
|
|
|
| |
setjmp/longjmp properly.
This fixes PR1520.
llvm-svn: 41461
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In the old way, we computed and inserted phi nodes for the whole IDF of
the definitions of the alloca, then computed which ones were dead and
removed them.
In the new method, we first compute the region where the value is live,
and use that information to only insert phi nodes that are live. This
eliminates the need to compute liveness later, and stops the algorithm
from inserting a bunch of phis which it then later removes.
This speeds up the testcase in PR1432 from 2.00s to 0.15s (14x) in a
release build and 6.84s->0.50s (14x) in a debug build.
llvm-svn: 40825
|
|
|
|
| |
llvm-svn: 40824
|
|
|
|
|
|
| |
measurable speedup.
llvm-svn: 40823
|
|
|
|
|
|
|
| |
to the worklist, and handling the last one with a 'tail call'. This speeds
up PR1432 from 2.0578s to 2.0012s (2.8%)
llvm-svn: 40822
|
|
|
|
|
|
| |
mem2reg from 2.0742->2.0522s on PR1432.
llvm-svn: 40821
|
|
|
|
| |
llvm-svn: 40820
|