#
18fa5686 |
| 18-Dec-2009 |
Dan Gohman <gohman@apple.com> |
Add Loop contains utility methods for testing whether a loop contains another loop, or an instruction. The loop form is substantially more efficient on large loops than the typical code it replaces.
Add Loop contains utility methods for testing whether a loop contains another loop, or an instruction. The loop form is substantially more efficient on large loops than the typical code it replaces.
llvm-svn: 91654
show more ...
|
#
249f96e3 |
| 01-Nov-2009 |
Chris Lattner <sabre@nondot.org> |
improve comment.
llvm-svn: 85725
|
#
ba364b0a |
| 31-Oct-2009 |
Chris Lattner <sabre@nondot.org> |
update the comment above llvm::SplitCriticalEdge, and make it abort on IndirectBrInst as describe in the comment.
llvm-svn: 85688
|
#
974e12b2 |
| 25-Oct-2009 |
Nick Lewycky <nicholas@mxc.ca> |
Remove includes of Support/Compiler.h that are no longer needed after the VISIBILITY_HIDDEN removal.
llvm-svn: 85043
|
#
02d5f77d |
| 25-Oct-2009 |
Nick Lewycky <nicholas@mxc.ca> |
Remove VISIBILITY_HIDDEN from class/struct found inside anonymous namespaces. Chris claims we should never have visibility_hidden inside any .cpp file but that's still not true even after this commit
Remove VISIBILITY_HIDDEN from class/struct found inside anonymous namespaces. Chris claims we should never have visibility_hidden inside any .cpp file but that's still not true even after this commit.
llvm-svn: 85042
show more ...
|
Revision tags: llvmorg-2.6.0 |
|
#
ec4557f3 |
| 09-Sep-2009 |
Dan Gohman <gohman@apple.com> |
Fix SplitCriticalEdge to properly update LCSSA form when splitting a loop exit edge -- new PHIs may be needed not only for the additional splits that are made to preserve LoopSimplify form, but also
Fix SplitCriticalEdge to properly update LCSSA form when splitting a loop exit edge -- new PHIs may be needed not only for the additional splits that are made to preserve LoopSimplify form, but also for the original split. Factor out the code that inserts new PHIs so that it can be used for both. Remove LoopRotation.cpp's code for manually updating LCSSA form, as it is now redundant. This fixes PR4934.
llvm-svn: 81363
show more ...
|
#
4c0b2847 |
| 09-Sep-2009 |
Andreas Neustifter <astifter-llvm@gmx.at> |
Preserve ProfileInfo.
llvm-svn: 81360
|
#
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 ...
|
#
55f1c09e |
| 13-Aug-2009 |
Owen Anderson <resistor@mac.com> |
Push LLVMContexts through the IntegerType APIs.
llvm-svn: 78948
|
#
fbcc663c |
| 14-Jul-2009 |
Torok Edwin <edwintorok@gmail.com> |
llvm_unreachable->llvm_unreachable(0), LLVM_UNREACHABLE->llvm_unreachable. This adds location info for all llvm_unreachable calls (which is a macro now) in !NDEBUG builds. In NDEBUG builds location i
llvm_unreachable->llvm_unreachable(0), LLVM_UNREACHABLE->llvm_unreachable. This adds location info for all llvm_unreachable calls (which is a macro now) in !NDEBUG builds. In NDEBUG builds location info and the message is off (it only prints "UREACHABLE executed").
llvm-svn: 75640
show more ...
|
#
56d06597 |
| 11-Jul-2009 |
Torok Edwin <edwintorok@gmail.com> |
assert(0) -> LLVM_UNREACHABLE. Make llvm_unreachable take an optional string, thus moving the cerr<< out of line. LLVM_UNREACHABLE is now a simple wrapper that makes the message go away for NDEBUG bu
assert(0) -> LLVM_UNREACHABLE. Make llvm_unreachable take an optional string, thus moving the cerr<< out of line. LLVM_UNREACHABLE is now a simple wrapper that makes the message go away for NDEBUG builds.
llvm-svn: 75379
show more ...
|
Revision tags: llvmorg-2.5.0 |
|
#
5a913d61 |
| 28-Jan-2009 |
Duncan Sands <baldrick@free.fr> |
Rename getAnalysisToUpdate to getAnalysisIfAvailable.
llvm-svn: 63198
|
Revision tags: llvmorg-2.4.0 |
|
#
a79db30d |
| 04-Sep-2008 |
Dan Gohman <gohman@apple.com> |
Tidy up several unbeseeming casts from pointer to intptr_t.
llvm-svn: 55779
|
Revision tags: llvmorg-2.3.0 |
|
#
2df82e7c |
| 03-Jun-2008 |
Owen Anderson <resistor@mac.com> |
LoopIndexSplit can sometimes result in cases where a block in its own domfrontier. Don't crash when we encounter one of these.
llvm-svn: 51915
|
#
0479aa5c |
| 13-May-2008 |
Dan Gohman <gohman@apple.com> |
Change class' public PassInfo variables to by initialized with the address of the PassInfo directly instead of calling getPassInfo. This eliminates a bunch of dynamic initializations of static data.
Change class' public PassInfo variables to by initialized with the address of the PassInfo directly instead of calling getPassInfo. This eliminates a bunch of dynamic initializations of static data.
Also, fold RegisterPassBase into PassInfo, make a bunch of its data members const, and rearrange some code to initialize data members in constructors instead of using setter member functions.
llvm-svn: 51022
show more ...
|
#
d78c400b |
| 13-May-2008 |
Dan Gohman <gohman@apple.com> |
Clean up the use of static and anonymous namespaces. This turned up several things that were neither in an anonymous namespace nor static but not intended to be global.
llvm-svn: 51017
|
#
38806c3e |
| 21-Apr-2008 |
Chris Lattner <sabre@nondot.org> |
fit in 80 cols
llvm-svn: 50014
|
#
376acf4a |
| 17-Apr-2008 |
Scott Michel <scottm@aero.org> |
Remove unused variable
llvm-svn: 49838
|
#
f66cb369 |
| 16-Apr-2008 |
Scott Michel <scottm@aero.org> |
Workaround for PR2207, in which pred_iterator assert gets triggered due to a wee problem in Xcode 2.[45]/gcc 4.0.1.
llvm-svn: 49831
|
#
e9ecc68d |
| 06-Apr-2008 |
Gabor Greif <ggreif@gmail.com> |
API changes for class Use size reduction, wave 1. Specifically, introduction of XXX::Create methods for Users that have a potentially variable number of Uses.
llvm-svn: 49277
|
Revision tags: llvmorg-2.2.0 |
|
#
f3ebc3f3 |
| 29-Dec-2007 |
Chris Lattner <sabre@nondot.org> |
Remove attribution from file headers, per discussion on llvmdev.
llvm-svn: 45418
|
#
b0dd27ee |
| 27-Nov-2007 |
Owen Anderson <resistor@mac.com> |
Make LoopInfoBase more generic, in preparation for having MachineLoopInfo. This involves a small interface change.
llvm-svn: 44348
|
Revision tags: llvmorg-2.1.0 |
|
#
da48cf40 |
| 13-Aug-2007 |
Devang Patel <dpatel@apple.com> |
If NewBB dominates DestBB then DestBB is not part of NewBB's dominance frontier.
llvm-svn: 41051
|