History log of /llvm-project/llvm/lib/Transforms/Utils/BasicBlockUtils.cpp (Results 276 – 300 of 355)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 7b151e9f 21-Jan-2010 Victor Hernandez <vhernandez@apple.com>

No need to look through bitcasts for DbgInfoIntrinsic

llvm-svn: 94114


# cb99fe98 05-Jan-2010 Dan Gohman <gohman@apple.com>

Make RecursivelyDeleteTriviallyDeadInstructions,
RecursivelyDeleteDeadPHINode, and DeleteDeadPHIs return a flag
indicating whether they made any changes.

llvm-svn: 92732


# ccce8bae 05-Jan-2010 Benjamin Kramer <benny.kra@googlemail.com>

Avoid going through the LLVMContext for type equality where it's safe to dereference the type pointer.

llvm-svn: 92726


# be94f239 05-Jan-2010 Devang Patel <dpatel@apple.com>

Remove dead debug info intrinsics.
Intrinsic::dbg_stoppoint
Intrinsic::dbg_region_start
Intrinsic::dbg_region_end
Intrinsic::dbg_func_start
AutoUpgrade simply ignores these intrinsics now.

llv

Remove dead debug info intrinsics.
Intrinsic::dbg_stoppoint
Intrinsic::dbg_region_start
Intrinsic::dbg_region_end
Intrinsic::dbg_func_start
AutoUpgrade simply ignores these intrinsics now.

llvm-svn: 92557

show more ...


# 8bca014d 08-Dec-2009 Nick Lewycky <nicholas@mxc.ca>

Remove unnecessary #include "llvm/LLVMContext.h".

llvm-svn: 90836


# 00c79382 05-Nov-2009 Dan Gohman <gohman@apple.com>

Add an assertion to catch indirectbr in SplitBlockPredecessors. This
makes several optimization passes abort in cases where they're currently
silently miscompiling code.

Remove the indirectbr assert

Add an assertion to catch indirectbr in SplitBlockPredecessors. This
makes several optimization passes abort in cases where they're currently
silently miscompiling code.

Remove the indirectbr assertion from SplitEdge. Indirectbr is only
a problem for critical edges, and SplitEdge defers to SplitCriticalEdge
to handle those, and SplitCriticalEdge has its own assertion for
indirectbr.

llvm-svn: 86147

show more ...


# a1dc101f 01-Nov-2009 Chris Lattner <sabre@nondot.org>

change llvm::MergeBlockIntoPredecessor to not merge two blocks BB1->BB2
when BB2 has its address taken. Since it ends up doing BB2->rauw(BB1),
this can cause the address of the entry block to be ta

change llvm::MergeBlockIntoPredecessor to not merge two blocks BB1->BB2
when BB2 has its address taken. Since it ends up doing BB2->rauw(BB1),
this can cause the address of the entry block to be taken. Since it is
generally undesirable to nuke blocks whose address is taken, even when
we can, just unconditionally stop this xform.

llvm-svn: 85708

show more ...


# c872b096 31-Oct-2009 Chris Lattner <sabre@nondot.org>

llvm::SplitEdge should refuse to split an edge from an indirectbr.
Fix CodeGenPrepare to not try to split edges from indirectbr.

llvm-svn: 85690


# 2d02ff8c 31-Oct-2009 Dan Gohman <gohman@apple.com>

Revert r85667. LoopUnroll currently can't call utility functions which
auto-update the DominatorTree because it doesn't keep the DominatorTree
current while it works.

llvm-svn: 85670


# 144694bc 31-Oct-2009 Dan Gohman <gohman@apple.com>

Remove redundant code.

llvm-svn: 85668


# 041e2dba 31-Oct-2009 Dan Gohman <gohman@apple.com>

Merge the enhancements from LoopUnroll's FoldBlockIntoPredecessor into
MergeBlockIntoPredecessor. This makes SimplifyCFG slightly more aggressive,
and makes it unnecessary for LoopUnroll to have its

Merge the enhancements from LoopUnroll's FoldBlockIntoPredecessor into
MergeBlockIntoPredecessor. This makes SimplifyCFG slightly more aggressive,
and makes it unnecessary for LoopUnroll to have its own copy of this code.

llvm-svn: 85667

show more ...


# 11cf3f4a 27-Oct-2009 Devang Patel <dpatel@apple.com>

Factor out redundancy from clone() implementations.

llvm-svn: 85327


Revision tags: llvmorg-2.6.0
# 8f986672 19-Oct-2009 Dan Gohman <gohman@apple.com>

Fix SplitBlockPredecessors' LoopInfo updating code to handle the case
where a loop's header is being split and it has predecessors which are not
contained by the most-nested loop which contains the l

Fix SplitBlockPredecessors' LoopInfo updating code to handle the case
where a loop's header is being split and it has predecessors which are not
contained by the most-nested loop which contains the loop.
This fixes PR5235.

llvm-svn: 84505

show more ...


# 42fb7452 27-Sep-2009 Nick Lewycky <nicholas@mxc.ca>

Instruction::clone does not need to take an LLVMContext&. Remove that and
update all the callers.

llvm-svn: 82889


# 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 ...


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

Change PHINode::hasConstantValue to have a DominatorTree argument
instead of a bool argument, and to do the dominator check itself.
This makes it eaiser to use when DominatorTree information is
avail

Change PHINode::hasConstantValue to have a DominatorTree argument
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

show more ...


# c8a27f2a 25-Aug-2009 Dan Gohman <gohman@apple.com>

Rename Instruction::isIdenticalTo to Instruction::isIdenticalToWhenDefined,
and introduce a new Instruction::isIdenticalTo which tests for full
identity, including the SubclassOptionalData flags. Als

Rename Instruction::isIdenticalTo to Instruction::isIdenticalToWhenDefined,
and introduce a new Instruction::isIdenticalTo which tests for full
identity, including the SubclassOptionalData flags. Also, fix the
Instruction::clone implementations to preserve the SubclassOptionalData
flags. Finally, teach several optimizations how to handle
SubclassOptionalData correctly, given these changes.

This fixes the counterintuitive behavior of isIdenticalTo not comparing
the full value, and clone not returning an identical clone, as well as
some subtle bugs that could be caused by these.

Thanks to Nick Lewycky for reporting this, and for an initial patch!

llvm-svn: 80038

show more ...


# 55f1c09e 13-Aug-2009 Owen Anderson <resistor@mac.com>

Push LLVMContexts through the IntegerType APIs.

llvm-svn: 78948


# 5a1acd99 31-Jul-2009 Owen Anderson <resistor@mac.com>

Move a few more APIs back to 2.5 forms. The only remaining ones left to change back are
metadata related, which I'm waiting on to avoid conflicting with Devang.

llvm-svn: 77721


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

Move more code back to 2.5 APIs.

llvm-svn: 77635


# 43d19d61 25-Jul-2009 Dan Gohman <gohman@apple.com>

Make AliasAnalysis and related classes use
getAnalysisIfAvailable<TargetData>().

llvm-svn: 77028


# 85a791ef 24-Jul-2009 Dan Gohman <gohman@apple.com>

AliasAnalysis wants sizes in address-units, not bits.

llvm-svn: 77009


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

Get rid of the Pass+Context magic.

llvm-svn: 76702


1...<<1112131415