History log of /llvm-project/llvm/lib/Transforms/Utils/LCSSA.cpp (Results 126 – 150 of 210)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 4247949c 09-Jul-2010 Gabor Greif <ggreif@gmail.com>

cache result of operator*

llvm-svn: 107968


Revision tags: llvmorg-2.7.0
# 2734ebd3 10-Mar-2010 Dan Gohman <gohman@apple.com>

Add a DominatorTree argument to isLCSSA so that it doesn't have to
compute a set of reachable blocks for itself each time it is called, which
is fairly frequently.

llvm-svn: 98179


# f324dd65 09-Nov-2009 Dan Gohman <gohman@apple.com>

Fix a comment in a typo that Duncan noticed.

llvm-svn: 86575


# c146c780 09-Nov-2009 Dan Gohman <gohman@apple.com>

Generalize LCSSA to handle loops with exits with predecessors outside
the loop. This is needed because with indirectbr it may not be possible
for LoopSimplify to guarantee that all loop exit predeces

Generalize LCSSA to handle loops with exits with predecessors outside
the loop. This is needed because with indirectbr it may not be possible
for LoopSimplify to guarantee that all loop exit predecessors are
inside the loop. This fixes PR5437.

LCCSA no longer actually requires LoopSimplify form, but for now it
must still have the dependency because the PassManager doesn't know
how to schedule LoopSimplify otherwise.

llvm-svn: 86569

show more ...


# 885c46e3 05-Nov-2009 Dan Gohman <gohman@apple.com>

Delete an unused member variable.

llvm-svn: 86160


Revision tags: llvmorg-2.6.0
# 71d353dd 11-Oct-2009 Chris Lattner <sabre@nondot.org>

rewrite LCSSA to use SSAUpdate, to only return true if it modifies
the IR, and to implement the FIXME'd optimization.

llvm-svn: 83748


# 101dde30 11-Oct-2009 Chris Lattner <sabre@nondot.org>

clean up and simplify some code. Don't use setvector when things will be
inserted only once, just use vector. Don't compute ExitBlocks unless we
need it, change std::sort to array_pod_sort.

llvm-s

clean up and simplify some code. Don't use setvector when things will be
inserted only once, just use vector. Don't compute ExitBlocks unless we
need it, change std::sort to array_pod_sort.

llvm-svn: 83747

show more ...


# f30a2b0c 10-Oct-2009 Chris Lattner <sabre@nondot.org>

random tidying

llvm-svn: 83701


# 7d3b0be0 28-Sep-2009 Dan Gohman <gohman@apple.com>

Remove a redundant #ifndef and add an assertion string.

llvm-svn: 82991


# 3ddbc242 08-Sep-2009 Dan Gohman <gohman@apple.com>

Re-apply r80926, with fixes: keep the domtree informed of new blocks
that get created during loop unswitching, and fix SplitBlockPredecessors'
LCSSA updating code to create new PHIs instead of trying

Re-apply r80926, with fixes: keep the domtree informed of new blocks
that get created during loop unswitching, and fix SplitBlockPredecessors'
LCSSA updating code to create new PHIs instead of trying to just move
existing ones.

Also, optimize Loop::verifyLoop, since it gets called a lot. Use
searches on a sorted list of blocks instead of calling the "contains"
function, as is done in other places in the Loop class, since "contains"
does a linear search. Also, don't call verifyLoop from LoopSimplify or
LCSSA, as the PassManager is already calling verifyLoop as part of
LoopInfo's verifyAnalysis.

llvm-svn: 81221

show more ...


# 90419954 06-Sep-2009 Evan Cheng <evan.cheng@apple.com>

Revert r80926. It causes loop unswitch assertion and slow down some JIT tests significantly.

llvm-svn: 81101


# 4c1bdcf5 03-Sep-2009 Dan Gohman <gohman@apple.com>

Add a verifyAnalysis to LoopInfo, LoopSimplify, and LCSSA form that verify
that these passes are properly preserved.

Fix several transformation passes that claimed to preserve LoopSimplify
form but

Add a verifyAnalysis to LoopInfo, LoopSimplify, and LCSSA form that verify
that these passes are properly preserved.

Fix several transformation passes that claimed to preserve LoopSimplify
form but weren't.

llvm-svn: 80926

show more ...


# b292b8ce 30-Jul-2009 Owen Anderson <resistor@mac.com>

Move more code back to 2.5 APIs.

llvm-svn: 77635


# 47db941f 22-Jul-2009 Owen Anderson <resistor@mac.com>

Get rid of the Pass+Context magic.

llvm-svn: 76702


# e70b6370 05-Jul-2009 Owen Anderson <resistor@mac.com>

More LLVMContext-ification.

llvm-svn: 74807


# 7eaf50ec 26-Jun-2009 Dan Gohman <gohman@apple.com>

Fix LCSSA to avoid emitting a PHI node for the unwind destination of
an invoke instruction, since the value isn't really live across that
edge.

llvm-svn: 74242


# 6cbf5bb9 22-Apr-2009 Owen Anderson <resistor@mac.com>

Real fix for PR3549, by using caching for predecessor counts in addition to the predecessors themselves. This halves the time
to optimize the testcase, beyond what my previous patch did.

llvm-svn:

Real fix for PR3549, by using caching for predecessor counts in addition to the predecessors themselves. This halves the time
to optimize the testcase, beyond what my previous patch did.

llvm-svn: 69792

show more ...


# bb754826 22-Apr-2009 Owen Anderson <resistor@mac.com>

Use PredIteratorCache in LCSSA, which gives a 37% overall speedup on the testcase from PR3549. More improvements to come.

llvm-svn: 69788


Revision tags: llvmorg-2.5.0
# eb61fcf2 23-Jan-2009 Gabor Greif <ggreif@gmail.com>

Simplify the logic of getting hold of a PHI predecessor block.
There is now a direct way from value-use-iterator to incoming block in PHINode's API.
This way we avoid the iterator->index->iterator tr

Simplify the logic of getting hold of a PHI predecessor block.
There is now a direct way from value-use-iterator to incoming block in PHINode's API.
This way we avoid the iterator->index->iterator trip, and especially the costly
getOperandNo() invocation. Additionally there is now an assertion that the iterator
really refers to one of the PHI's Uses.

llvm-svn: 62869

show more ...


Revision tags: llvmorg-2.4.0
# 7f39e2d8 22-Oct-2008 Daniel Dunbar <daniel@zuster.org>

Change create*Pass factory functions to return Pass* instead of
LoopPass*.
- Although less precise, this means they can be used in clients
without RTTI (who would otherwise need to include LoopPa

Change create*Pass factory functions to return Pass* instead of
LoopPass*.
- Although less precise, this means they can be used in clients
without RTTI (who would otherwise need to include LoopPass.h, which
eventually includes things using dynamic_cast). This was the
simplest solution that presented itself, but I am happy to use a
better one if available.

llvm-svn: 58010

show more ...


# a79db30d 04-Sep-2008 Dan Gohman <gohman@apple.com>

Tidy up several unbeseeming casts from pointer to intptr_t.

llvm-svn: 55779


# fa1211f6 23-Jul-2008 Dan Gohman <gohman@apple.com>

Enable first-class aggregates support.

Remove the GetResultInst instruction. It is still accepted in LLVM assembly
and bitcode, where it is now auto-upgraded to ExtractValueInst. Also, remove
suppor

Enable first-class aggregates support.

Remove the GetResultInst instruction. It is still accepted in LLVM assembly
and bitcode, where it is now auto-upgraded to ExtractValueInst. Also, remove
support for return instructions with multiple values. These are auto-upgraded
to use InsertValueInst instructions.

The IRBuilder still accepts multiple-value returns, and auto-upgrades them
to InsertValueInst instructions.

llvm-svn: 53941

show more ...


Revision tags: llvmorg-2.3.0
# 2ad7e734 03-Jun-2008 Dan Gohman <gohman@apple.com>

Fix whitespace in whitespace-significant pseudocode in a comment.

llvm-svn: 51890


# 1f59d993 30-May-2008 Owen Anderson <resistor@mac.com>

Since LCSSA switched over to DenseMap, we have to be more careful to avoid iterator invalidation. Fixes PR2385.

llvm-svn: 51777


# d3f21d16 26-May-2008 Owen Anderson <resistor@mac.com>

Use a DenseMap instead of an std::map, speeding up the testcase in PR2368 by about a third.

llvm-svn: 51565


123456789