| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
PHINode::Create() giving the (known or expected) number of operands.
llvm-svn: 128537
|
|
|
|
|
|
| |
code.
llvm-svn: 124100
|
|
|
|
|
|
| |
to use it.
llvm-svn: 123501
|
|
|
|
|
|
|
| |
"promote a bunch of load and stores" logic, allowing the code to
be shared and reused.
llvm-svn: 123456
|
|
|
|
|
|
| |
rather than calling hasConstantValue. No intended functionality change.
llvm-svn: 119352
|
|
|
|
|
|
|
|
|
| |
I'm sure it is harmless. Original commit message:
If PrototypeValue is erased in the middle of using the SSAUpdator
then the SSAUpdator may access freed memory. Instead, simply pass
in the type and name explicitly, which is all that was used anyway.
llvm-svn: 112810
|
|
|
|
|
|
| |
self host errors on clang-x86-64.
llvm-svn: 112719
|
|
|
|
|
|
|
| |
then the SSAUpdator may access freed memory. Instead, simply pass
in the type and name explicitly, which is all that was used anyway.
llvm-svn: 112699
|
|
|
|
| |
llvm-svn: 112409
|
|
|
|
|
|
| |
MachineSSAUpdater to avoid duplicating all the code.
llvm-svn: 103060
|
|
|
|
|
|
| |
GCCAS time for MultiSource/Benchmarks/ASCI_Purple/SMG2000.
llvm-svn: 102009
|
|
|
|
|
|
|
|
|
|
|
| |
to determine where to place PHIs by iteratively comparing reaching definitions
at each block. That was just plain wrong. This version now computes the
dominator tree within the subset of the CFG where PHIs may need to be placed,
and then places the PHIs in the iterated dominance frontier of each definition.
The rest of the patch is mostly the same, with a few more performance
improvements added in.
llvm-svn: 101612
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(what was I thinking?) and there's also a problem with LCSSA. I'll try again
later with fixes.
--- Reverse-merging r100263 into '.':
U lib/Transforms/Utils/SSAUpdater.cpp
--- Reverse-merging r100177 into '.':
G lib/Transforms/Utils/SSAUpdater.cpp
--- Reverse-merging r100148 into '.':
G lib/Transforms/Utils/SSAUpdater.cpp
--- Reverse-merging r100147 into '.':
U include/llvm/Transforms/Utils/SSAUpdater.h
G lib/Transforms/Utils/SSAUpdater.cpp
--- Reverse-merging r100131 into '.':
G include/llvm/Transforms/Utils/SSAUpdater.h
G lib/Transforms/Utils/SSAUpdater.cpp
--- Reverse-merging r100130 into '.':
G lib/Transforms/Utils/SSAUpdater.cpp
--- Reverse-merging r100126 into '.':
G include/llvm/Transforms/Utils/SSAUpdater.h
G lib/Transforms/Utils/SSAUpdater.cpp
--- Reverse-merging r100050 into '.':
D test/Transforms/GVN/2010-03-31-RedundantPHIs.ll
--- Reverse-merging r100047 into '.':
G include/llvm/Transforms/Utils/SSAUpdater.h
G lib/Transforms/Utils/SSAUpdater.cpp
llvm-svn: 100264
|
|
|
|
| |
llvm-svn: 100263
|
|
|
|
| |
llvm-svn: 100177
|
|
|
|
| |
llvm-svn: 100164
|
|
|
|
|
|
| |
This is more efficient than adding them to the worklist and then ignoring them.
llvm-svn: 100158
|
|
|
|
| |
llvm-svn: 100148
|
|
|
|
| |
llvm-svn: 100147
|
|
|
|
| |
llvm-svn: 100131
|
|
|
|
|
|
| |
one place. This removes the template function added in svn 94690.
llvm-svn: 100130
|
|
|
|
|
|
| |
blow out the stack for really big functions. Start by fixing an easy case.
llvm-svn: 100126
|
|
|
|
|
|
|
|
| |
PHIs. The previous algorithm was unable to reliably detect when existing
PHIs in a cycle can be reused. I'm still working on reducing a testcase.
Radar 7711900.
llvm-svn: 100047
|
|
|
|
|
|
|
| |
This was already being done in SSAUpdater::GetValueAtEndOfBlock so I've
just changed SSAUpdater to check for existing PHIs in both places.
llvm-svn: 94690
|
|
|
|
| |
llvm-svn: 92603
|
|
|
|
|
|
| |
no functionality change.
llvm-svn: 91848
|
|
|
|
|
|
|
|
|
|
| |
'GetValueInMiddleOfBlock' case, instead of inserting
duplicates.
A similar fix is almost certainly needed by the machine-level
SSAUpdate implementation.
llvm-svn: 91820
|
|
|
|
|
|
| |
a compile time perf optimization to avoid a load.
llvm-svn: 90507
|
|
|
|
| |
llvm-svn: 84667
|
|
|
|
|
|
|
| |
When an incoming value for a PHI is updated, we must also updated all other
incoming values for the same BB to match, otherwise we create invalid PHIs.
llvm-svn: 84638
|
|
|
|
| |
llvm-svn: 84256
|
|
|
|
| |
llvm-svn: 83745
|
|
|
|
|
|
| |
PHI nodes inserted.
llvm-svn: 83744
|
|
|
|
|
|
|
| |
not just at the end. Add a big comment explaining when this could
be useful (which never happens for jump threading).
llvm-svn: 83741
|
|
|
|
|
|
| |
what it does.
llvm-svn: 83740
|
|
|
|
| |
llvm-svn: 83707
|
|
works on unstructured CFGs. This implements PR217, our oldest open PR.
llvm-svn: 83705
|