- Sep 11, 2006
-
-
Chris Lattner authored
llvm-svn: 30266
-
Nick Lewycky authored
llvm-svn: 30251
-
- Sep 10, 2006
-
-
Chris Lattner authored
bit. This fixes Regression/Transforms/TailDup/MergeTest.ll llvm-svn: 30237
-
Nick Lewycky authored
operations (like findProperties) should be faster, at the expense of unionSets being slower in cases that are rare in practise. Don't erase a dead Instruction. This fixes a memory corruption issue. llvm-svn: 30235
-
Chris Lattner authored
llvm-svn: 30234
-
- Sep 09, 2006
-
-
Chris Lattner authored
llvm-svn: 30231
-
Chris Lattner authored
This implements select.ll::test18. llvm-svn: 30230
-
- Sep 07, 2006
-
-
Chris Lattner authored
For Transforms/TailDup/if-tail-dup.ll, f.e., it produces: _foo: movl 8(%esp), %eax movl 4(%esp), %ecx testl $1, %ecx je LBB1_2 #cond_next LBB1_1: #cond_true movl $1, (%eax) LBB1_2: #cond_next testl $2, %ecx je LBB1_4 #cond_next10 LBB1_3: #cond_true6 movl $1, 4(%eax) LBB1_4: #cond_next10 testl $4, %ecx je LBB1_6 #cond_next18 LBB1_5: #cond_true14 movl $1, 8(%eax) LBB1_6: #cond_next18 testl $8, %ecx je LBB1_8 #return LBB1_7: #cond_true22 movl $1, 12(%eax) ret LBB1_8: #return ret instead of: _foo: movl 4(%esp), %eax testl $2, %eax sete %cl movl 8(%esp), %edx testl $1, %eax je LBB1_2 #cond_next LBB1_1: #cond_true movl $1, (%edx) testb %cl, %cl jne LBB1_4 #cond_next10 jmp LBB1_3 #cond_true6 LBB1_2: #cond_next testb %cl, %cl jne LBB1_4 #cond_next10 LBB1_3: #cond_true6 movl $1, 4(%edx) testl $4, %eax je LBB1_6 #cond_next18 jmp LBB1_5 #cond_true14 LBB1_4: #cond_next10 testl $4, %eax je LBB1_6 #cond_next18 LBB1_5: #cond_true14 movl $1, 8(%edx) testl $8, %eax je LBB1_8 #return jmp LBB1_7 #cond_true22 LBB1_6: #cond_next18 testl $8, %eax je LBB1_8 #return LBB1_7: #cond_true22 movl $1, 12(%edx) ret LBB1_8: #return ret llvm-svn: 30158
-
- Sep 05, 2006
-
-
Chris Lattner authored
lowerinvoke regtests. llvm-svn: 30115
-
- Sep 04, 2006
-
-
Duraid Madina authored
Call these from your backend to enjoy setjmp/longjmp goodness, see lib/Target/IA64/IA64ISelLowering.cpp for an example llvm-svn: 30095
-
- Sep 02, 2006
-
-
Owen Anderson authored
llvm-svn: 30057
-
Nick Lewycky authored
Reorder operations to remove duplicated work. Fix to leave floating-point types out of the optimization. Add tests to predsimplify.ll for SwitchInst and SelectInst handling. llvm-svn: 30055
-
- Sep 01, 2006
-
-
Nick Lewycky authored
corrects missing optimization opportunity removing cases from a switch. llvm-svn: 30009
-
- Aug 31, 2006
-
-
Nick Lewycky authored
another Value) weren't being found by findProperties. This fixes predsimplify.ll test6, a missed optimization opportunity. llvm-svn: 29991
-
- Aug 30, 2006
-
-
Nick Lewycky authored
If a branch's condition has become a ConstantBool, simplify it immediately. Removing the edge saves work and exposes up more optimization opportunities in the pass. Add support for SelectInst. llvm-svn: 29970
-
Devang Patel authored
exit blocks. The output is dependent on addresses of basic block. Add and use Loop::getUniqueExitBlocks. llvm-svn: 29966
-
- Aug 29, 2006
-
-
Owen Anderson authored
llvm-svn: 29950
-
Nick Lewycky authored
and simplifies expressions. This implements the optimization described in PR807. llvm-svn: 29947
-
- Aug 28, 2006
-
-
Owen Anderson authored
gccas on 252.eon llvm-svn: 29936
-
Chris Lattner authored
llvm-svn: 29932
-
Chris Lattner authored
llvm-svn: 29925
-
- Aug 27, 2006
-
-
Chris Lattner authored
llvm-svn: 29911
-
- Aug 26, 2006
-
-
Owen Anderson authored
causing a crash in 175.vpr llvm-svn: 29887
-
Owen Anderson authored
llvm-svn: 29886
-
- Aug 25, 2006
-
-
Owen Anderson authored
llvm-svn: 29874
-
Owen Anderson authored
I'm going to wait to put this in HEAD until tomorrow, so as not to clutter the nightly tester. llvm-svn: 29868
-
Owen Anderson authored
forgot to put in the analysis usage. llvm-svn: 29867
-
- Aug 24, 2006
-
-
Owen Anderson authored
utility of the LoopUnroll pass. Also, add a testcase for multiblock-loop unrolling. llvm-svn: 29859
-
- Aug 18, 2006
-
-
Reid Spencer authored
llvm-svn: 29765
-
- Aug 14, 2006
-
-
Chris Lattner authored
Transforms/CondProp/2006-08-14-SingleEntryPhiCrash.ll llvm-svn: 29673
-
- Aug 12, 2006
-
-
Chris Lattner authored
Not only will this take huge amounts of compile time, the resultant loop nests won't be useful for optimization. This reduces loopsimplify time on Transforms/LoopSimplify/2006-08-11-LoopSimplifyLongTime.ll from ~32s to ~0.4s with a debug build of llvm on a 2.7Ghz G5. llvm-svn: 29647
-
Chris Lattner authored
blocks that target loop blocks. Before, the code was run once per loop, and depended on the number of predecessors each block in the loop had. Unfortunately, scanning preds can be really slow when huge numbers of phis exist or when phis with huge numbers of inputs exist. Now, the code is run once per function and scans successors instead of preds, which is far faster. In addition, the new code is simpler and is goto free, woo. This change speeds up a nasty testcase Duraid provided me from taking hours to taking ~72s with a debug build. The functionality this implements is already tested in the testsuite as Transforms/CodeExtractor/2004-03-13-LoopExtractorCrash.ll. llvm-svn: 29644
-
- Aug 08, 2006
-
-
Reid Spencer authored
SlowOperatingInfo, Statistics). Besides providing an example of how to use these facilities, it also serves to debug problems with runtime linking when dlopening a loadable module. These three support facilities exercise different combinations of Text/Weak Weak/Text and Text/Text linking between the executable and the module. llvm-svn: 29552
-
Reid Spencer authored
1. Change the usage of LOADABLE_MODULE so that it implies all the things necessary to make a loadable module. This reduces the user's burdern to get a loadable module correctly built. 2. Document the usage of LOADABLE_MODULE in the MakefileGuide 3. Adjust the makefile for lib/Transforms/Hello to use the new specification for building loadable modules 4. Adjust the sample project to not attempt to build a shared library for its little library. This was just wasteful and not instructive at all. llvm-svn: 29551
-
- Aug 03, 2006
-
-
Chris Lattner authored
Transforms/SimplifyCFG/2006-08-03-Crash.ll llvm-svn: 29515
-
Chris Lattner authored
Changes: 1. Update an obsolete comment. 2. Make the sorting by base an explicit (though still N^2) step, so that the code is more clear on what it is doing. 3. Partition uses so that uses inside the loop are handled before uses outside the loop. Note that none of these changes currently changes the code inserted by LSR, but they are a stepping stone to getting there. This code is the result of some crazy pair programming with Nate. :) llvm-svn: 29493
-
- Aug 02, 2006
-
-
Chris Lattner authored
up lcssa much in practice. llvm-svn: 29465
-
Chris Lattner authored
down approach, inspired by discussions with Tanya. This approach is significantly faster, because it does not need dominator frontiers and it does not insert extraneous unused PHI nodes. For example, on 252.eon, in a release-asserts build, this speeds up LCSSA (which is the slowest pass in gccas) from 9.14s to 0.74s on my G5. This code is also slightly smaller and significantly simpler than the old code. Amusingly, in a normal Release build (which includes the "assert(L->isLCSSAForm());" assertion), asserting that the result of LCSSA is in LCSSA form is actually slower than the LCSSA transformation pass itself on 252.eon. I will see if Loop::isLCSSAForm can be sped up next. llvm-svn: 29463
-
- Jul 27, 2006
-
-
Chris Lattner authored
llvm-svn: 29324
-
- Jul 20, 2006
-
-
Chris Lattner authored
llvm-svn: 29226
-