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