History log of /llvm-project/llvm/lib/Transforms/Utils/LoopSimplify.cpp (Results 151 – 175 of 283)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: llvmorg-3.1.0, llvmorg-3.1.0-rc3, llvmorg-3.1.0-rc2, llvmorg-3.1.0-rc1
# f7711010 20-Mar-2012 Andrew Trick <atrick@apple.com>

LoopSimplify bug fix. Handle indirect loop back edges.

Do not call SplitBlockPredecessors on a loop preheader when one of the
predecessors is an indirectbr. Otherwise, you will hit this assert:
!isa

LoopSimplify bug fix. Handle indirect loop back edges.

Do not call SplitBlockPredecessors on a loop preheader when one of the
predecessors is an indirectbr. Otherwise, you will hit this assert:
!isa<IndirectBrInst>(Preds[i]->getTerminator()) && "Cannot split an edge from an IndirectBrInst"

llvm-svn: 153134

show more ...


# bb01cbb3 20-Mar-2012 Andrew Trick <atrick@apple.com>

whitespace

llvm-svn: 153133


# 16ad2905 15-Dec-2011 Eli Friedman <eli.friedman@gmail.com>

Make loop preheader insertion in LoopSimplify handle the case where the loop header is a landing pad correctly (by splitting the landingpad out of the loop header). Make some adjustments to the rest

Make loop preheader insertion in LoopSimplify handle the case where the loop header is a landing pad correctly (by splitting the landingpad out of the loop header). Make some adjustments to the rest of LoopSimplify to make it clear that the rest of LoopSimplify isn't making bad assumptions about the presence of landing pads. PR11575.

llvm-svn: 146621

show more ...


# f5b32e52 09-Dec-2011 Jakub Staszak <kubastaszak@gmail.com>

SplitBlockPredecessors uses ArrayRef instead of Data and Size.

llvm-svn: 146277


# c24b86ff 01-Dec-2011 Chad Rosier <mcrosier@apple.com>

Propagate TargetLibraryInfo throughout ConstantFolding.cpp and
InstructionSimplify.cpp. Other fixups as needed.
Part of rdar://10500969

llvm-svn: 145559


Revision tags: llvmorg-3.0.0, llvmorg-3.0.0-rc4, llvmorg-3.0.0-rc3, llvmorg-3.0.0-rc2, llvmorg-3.0.0-rc1
# c61f7659 19-Aug-2011 Bill Wendling <isanbard@gmail.com>

Intelligently split the landing pad block.

We have to be careful when splitting the landing pad block, because the
landingpad instruction is required to remain as the first non-PHI of an invoke's
un

Intelligently split the landing pad block.

We have to be careful when splitting the landing pad block, because the
landingpad instruction is required to remain as the first non-PHI of an invoke's
unwind edge. To retain this, we split the block into two blocks, moving the
predecessors within the loop to one block and the remaining predecessors to the
other. The landingpad instruction is cloned into the new blocks.

llvm-svn: 138015

show more ...


# b15d6eb9 18-Aug-2011 Bill Wendling <isanbard@gmail.com>

Revert r137871. The loop simplify pass should require all exits from a loop that
aren't from an indirect branch need to be dominated by the loop header.

llvm-svn: 137981


# 39257d6b 17-Aug-2011 Bill Wendling <isanbard@gmail.com>

Don't optimize the landing pad exit block.

One way to exit the loop is through an unwind edge. However, that may involve
splitting the critical edge of the landing pad, which is non-trivial. Prevent

Don't optimize the landing pad exit block.

One way to exit the loop is through an unwind edge. However, that may involve
splitting the critical edge of the landing pad, which is non-trivial. Prevent
the transformation from rewriting the landing pad exit loop block.

llvm-svn: 137871

show more ...


# a41634e3 12-Aug-2011 Duncan Sands <baldrick@free.fr>

Silence a bunch (but not all) "variable written but not read" warnings
when building with assertions disabled.

llvm-svn: 137460


# bf69d033 03-Aug-2011 Andrew Trick <atrick@apple.com>

SCEV: Use AssertingVH to catch dangling BasicBlock* when passes forget
to notify SCEV of a change. Add forgetLoop in a couple of those places.

llvm-svn: 136797


# 9d8c2af2 03-Aug-2011 Andrew Trick <atrick@apple.com>

whitespace

llvm-svn: 136795


# 6f7315b0 17-Jun-2011 Devang Patel <dpatel@apple.com>

Set debug loc for new preheader's terminator.

llvm-svn: 133298


# 0ab5e2cd 15-Apr-2011 Chris Lattner <sabre@nondot.org>

Fix a ton of comment typos found by codespell. Patch by
Luis Felipe Strano Moraes!

llvm-svn: 129558


Revision tags: llvmorg-2.9.0
# 52131344 30-Mar-2011 Jay Foad <jay.foad@gmail.com>

Remove PHINode::reserveOperandSpace(). Instead, add a parameter to
PHINode::Create() giving the (known or expected) number of operands.

llvm-svn: 128537


Revision tags: llvmorg-2.9.0-rc3, llvmorg-2.9.0-rc2, llvmorg-2.9.0-rc1
# d8e66038 10-Feb-2011 Cameron Zwarich <zwarich@apple.com>

Rename 'loopsimplify' to 'loop-simplify'.

llvm-svn: 125317


# b703654e 18-Jan-2011 Cameron Zwarich <zwarich@apple.com>

Remove code for updating dominance frontiers and some outdated references to
dominance and post-dominance frontiers.

llvm-svn: 123725


# d41db8f9 11-Jan-2011 Chris Lattner <sabre@nondot.org>

this pass claims to preserve scev, make sure to tell it about deletions.

llvm-svn: 123247


# bf0aa927 02-Jan-2011 Chris Lattner <sabre@nondot.org>

split dom frontier handling stuff out to its own DominanceFrontier header,
so that Dominators.h is *just* domtree. Also prune #includes a bit.

llvm-svn: 122714


# 64f1c0dc 02-Jan-2011 Duncan Sands <baldrick@free.fr>

Fix PR8702 by not having LoopSimplify claim to preserve LCSSA form. As described
in the PR, the pass could break LCSSA form when inserting preheaders. It probably
would be easy enough to fix this,

Fix PR8702 by not having LoopSimplify claim to preserve LCSSA form. As described
in the PR, the pass could break LCSSA form when inserting preheaders. It probably
would be easy enough to fix this, but since currently we always go into LCSSA form
after running this pass, doing so is not urgent.

llvm-svn: 122695

show more ...


# aef146b8 18-Nov-2010 Duncan Sands <baldrick@free.fr>

Factor code for testing whether replacing one value with another
preserves LCSSA form out of ScalarEvolution and into the LoopInfo
class. Use it to check that SimplifyInstruction simplifications
are

Factor code for testing whether replacing one value with another
preserves LCSSA form out of ScalarEvolution and into the LoopInfo
class. Use it to check that SimplifyInstruction simplifications
are not breaking LCSSA form. Fixes PR8622.

llvm-svn: 119727

show more ...


# 63704951 16-Nov-2010 Duncan Sands <baldrick@free.fr>

Have a few places that want to simplify phi nodes use SimplifyInstruction
rather than calling hasConstantValue. No intended functionality change.

llvm-svn: 119352


# 6c18d1aa 19-Oct-2010 Owen Anderson <resistor@mac.com>

Get rid of static constructors for pass registration. Instead, every pass exposes an initializeMyPassFunction(), which
must be called in the pass's constructor. This function uses static dependency

Get rid of static constructors for pass registration. Instead, every pass exposes an initializeMyPassFunction(), which
must be called in the pass's constructor. This function uses static dependency declarations to recursively initialize
the pass's dependencies.

Clients that only create passes through the createFooPass() APIs will require no changes. Clients that want to use the
CommandLine options for passes will need to manually call the appropriate initialization functions in PassInitialization.h
before parsing commandline arguments.

I have tested this with all standard configurations of clang and llvm-gcc on Darwin. It is possible that there are problems
with the static dependencies that will only be visible with non-standard options. If you encounter any crash in pass
registration/creation, please send the testcase to me directly.

llvm-svn: 116820

show more ...


# 8ac477ff 12-Oct-2010 Owen Anderson <resistor@mac.com>

Begin adding static dependence information to passes, which will allow us to
perform initialization without static constructors AND without explicit initialization
by the client. For the moment, pas

Begin adding static dependence information to passes, which will allow us to
perform initialization without static constructors AND without explicit initialization
by the client. For the moment, passes are required to initialize both their
(potential) dependencies and any passes they preserve. I hope to be able to relax
the latter requirement in the future.

llvm-svn: 116334

show more ...


# df7a4f25 07-Oct-2010 Owen Anderson <resistor@mac.com>

Now with fewer extraneous semicolons!

llvm-svn: 115996


Revision tags: llvmorg-2.8.0, llvmorg-2.8.0-rc3, llvmorg-2.8.0-rc2, llvmorg-2.8.0-rc1, llvmorg-2.8.0-rc0
# 487e2501 04-Sep-2010 Dan Gohman <gohman@apple.com>

Fix LoopSimplify to notify ScalarEvolution when splitting a loop backedge
into an inner loop, as the new loop iteration may differ substantially.
This fixes PR8078.

llvm-svn: 113057


12345678910>>...12