History log of /llvm-project/llvm/lib/Transforms/Utils/BasicBlockUtils.cpp (Results 251 – 275 of 355)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# a97a2c99 21-Jun-2011 Jay Foad <jay.foad@gmail.com>

Reinstate r133435 and r133449 (reverted in r133499) now that the clang
self-hosted build failure has been fixed (r133512).

llvm-svn: 133513


# 184f3b37 21-Jun-2011 Chad Rosier <mcrosier@apple.com>

Revert r133435 and r133449 to appease buildbots.

llvm-svn: 133499


# e03c05c3 20-Jun-2011 Jay Foad <jay.foad@gmail.com>

Change how PHINodes store their operands.

Change PHINodes to store simple pointers to their incoming basic blocks,
instead of full-blown Uses.

Note that this loses an optimization in SplitCriticalE

Change how PHINodes store their operands.

Change PHINodes to store simple pointers to their incoming basic blocks,
instead of full-blown Uses.

Note that this loses an optimization in SplitCriticalEdge(), because we
can no longer walk the use list of a BasicBlock to find phi nodes. See
the comment I removed starting "However, the foreach loop is slow for
blocks with lots of predecessors".

Extend replaceAllUsesWith() on a BasicBlock to also update any phi
nodes in the block's successors. This mimics what would have happened
when PHINodes were proper Users of their incoming blocks. (Note that
this only works if OldBB->replaceAllUsesWith(NewBB) is called when
OldBB still has a terminator instruction, so it still has some
successors.)

llvm-svn: 133435

show more ...


# bb35e8ba 02-May-2011 Devang Patel <dpatel@apple.com>

Scanning entire basic block may be too expensive in terms of compile time. Instead, just use whatever location info first non-phi instruction has.

llvm-svn: 130729


# a8e7411c 29-Apr-2011 Devang Patel <dpatel@apple.com>

Assing line number info to new PHIs created by SSA updater.

llvm-svn: 130551


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


# e0938d8a 30-Mar-2011 Jay Foad <jay.foad@gmail.com>

(Almost) always call reserveOperandSpace() on newly created PHINodes.

llvm-svn: 128535


Revision tags: llvmorg-2.9.0-rc3, llvmorg-2.9.0-rc2, llvmorg-2.9.0-rc1
# d983eba7 29-Jan-2011 Evan Cheng <evan.cheng@apple.com>

Re-apply r124518 with fix. Watch out for invalidated iterator.

llvm-svn: 124526


# 65b8ccf6 29-Jan-2011 Evan Cheng <evan.cheng@apple.com>

Revert r124518. It broke Linux self-host.

llvm-svn: 124522


# d4eff314 29-Jan-2011 Evan Cheng <evan.cheng@apple.com>

Re-commit r124462 with fixes. Tail recursion elim will now dup ret into unconditional predecessor to enable TCE on demand.

llvm-svn: 124518


# 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


# f2407aa9 11-Jan-2011 Jakob Stoklund Olesen <stoklund@2pi.dk>

Fix a non-deterministic loop in llvm::MergeBlockIntoPredecessor.

DT->changeImmediateDominator() trivially ignores identity updates, so there is
really no need for the uniqueing provided by SmallPtrS

Fix a non-deterministic loop in llvm::MergeBlockIntoPredecessor.

DT->changeImmediateDominator() trivially ignores identity updates, so there is
really no need for the uniqueing provided by SmallPtrSet.

I expect this to fix PR8954.

llvm-svn: 123286

show more ...


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

when MergeBlockIntoPredecessor merges two blocks, update MemDep if it
is floating around in the ether.

llvm-svn: 123223


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

Fix FoldSingleEntryPHINodes to update memdep and AA when it deletes
phi nodes. It is called from MergeBlockIntoPredecessor which is
called from GVN, which claims to preserve these.

I'm skeptical t

Fix FoldSingleEntryPHINodes to update memdep and AA when it deletes
phi nodes. It is called from MergeBlockIntoPredecessor which is
called from GVN, which claims to preserve these.

I'm skeptical that this is the actual problem behind PR8954, but
this is a stab in the right direction.

llvm-svn: 123222

show more ...


# 930b716e 08-Jan-2011 Chris Lattner <sabre@nondot.org>

various code cleanups, enhance MergeBlockIntoPredecessor to preserve
loop info.

llvm-svn: 123074


# 30d95f9f 08-Jan-2011 Chris Lattner <sabre@nondot.org>

reduce nesting.

llvm-svn: 123071


# 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


# afd2a8cf 14-Dec-2010 Chris Lattner <sabre@nondot.org>

remove the dead (and terrible) llvm::RemoveSuccessor function.

llvm-svn: 121753


Revision tags: llvmorg-2.8.0, llvmorg-2.8.0-rc3, llvmorg-2.8.0-rc2
# 2f5f696b 10-Sep-2010 Gabor Greif <ggreif@gmail.com>

typoes

llvm-svn: 113647


Revision tags: llvmorg-2.8.0-rc1, llvmorg-2.8.0-rc0
# f0b5b67b 18-Aug-2010 Chris Lattner <sabre@nondot.org>

fit in 80 cols

llvm-svn: 111348


# 941020ed 17-Aug-2010 Dan Gohman <gohman@apple.com>

Use the getUniquePredecessor() utility function, instead of doing
what it does manually.

llvm-svn: 111248


# 826bdf8c 28-May-2010 Dan Gohman <gohman@apple.com>

Move FindAvailableLoadedValue isSafeToLoadUnconditionally out of
lib/Transforms/Utils and into lib/Analysis so that Analysis passes
can use them.

llvm-svn: 104949


Revision tags: llvmorg-2.7.0
# ba930449 05-Apr-2010 Evan Cheng <evan.cheng@apple.com>

Code clean up.

llvm-svn: 100467


# aff96b21 16-Feb-2010 Bob Wilson <bob.wilson@apple.com>

Rename SuccessorNumber to GetSuccessorNumber.

llvm-svn: 96387


# 3de492ec 16-Feb-2010 Bob Wilson <bob.wilson@apple.com>

Refactor to share code to find the position of a basic block successor in the
terminator's list of successors.

llvm-svn: 96377


1...<<1112131415