- Sep 09, 2009
-
-
Dan Gohman authored
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
-
Andreas Neustifter authored
llvm-svn: 81360
-
- Sep 08, 2009
-
-
Dan Gohman authored
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
-
- Sep 07, 2009
-
-
Eric Christopher authored
llvm-svn: 81138
-
- Sep 06, 2009
-
-
Evan Cheng authored
llvm-svn: 81101
-
- Sep 03, 2009
-
-
Dan Gohman authored
that these passes are properly preserved. Fix several transformation passes that claimed to preserve LoopSimplify form but weren't. llvm-svn: 80926
-
Dan Gohman authored
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
-
Gabor Greif authored
llvm-svn: 80871
-
Gabor Greif authored
re-commit r66920 (which has been backed out in r66953) I may have more luck this time. I'll back out if needed... llvm-svn: 80858
-
- Sep 01, 2009
-
-
Chris Lattner authored
callgraph. This is now dead because RAUW does the job. llvm-svn: 80703
-
Chris Lattner authored
for sanity. This didn't turn up any bugs. Change CallGraphNode to maintain its "callsite" information in the call edges list as a WeakVH instead of as an instruction*. This fixes a broad class of dangling pointer bugs, and makes CallGraph have a number of useful invariants again. This fixes the class of problem indicated by PR4029 and PR3601. llvm-svn: 80663
-
- Aug 29, 2009
-
-
Devang Patel authored
Use MDNodes to encode debug info in llvm IR. llvm-svn: 80406
-
- Aug 27, 2009
-
-
Chris Lattner authored
llvm-svn: 80205
-
Chris Lattner authored
a the list of static allocas that it inlined. llvm-svn: 80203
-
Chris Lattner authored
llvm-svn: 80202
-
Chris Lattner authored
llvm-svn: 80201
-
Chris Lattner authored
and other code cleanups. No functionality change. llvm-svn: 80199
-
- Aug 26, 2009
-
-
Devang Patel authored
llvm-svn: 80073
-
Dan Gohman authored
constructors. llvm-svn: 80049
-
Dan Gohman authored
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
-
- Aug 25, 2009
-
-
Owen Anderson authored
llvm-svn: 80009
-
Owen Anderson authored
llvm-svn: 80007
-
Owen Anderson authored
llvm-svn: 80006
-
Devang Patel authored
Update DebugInfo interface to use metadata, instead of special named llvm.dbg.... global variables, to encode debugging information in llvm IR. This is mostly a mechanical change that tests metadata support very well. This change speeds up llvm-gcc by more then 6% at "-O0 -g" (measured by compiling InstructionCombining.cpp!) llvm-svn: 79977
-
Owen Anderson authored
of an extracted block contains a PHI using a value defined in the extracted region. With this patch, the partial inliner now passes MultiSource/Applications. llvm-svn: 79963
-
Owen Anderson authored
When extracting SEME regions of code, the extractor needs to update the dominator tree for split return blocks. llvm-svn: 79957
-
- Aug 23, 2009
-
-
Daniel Dunbar authored
llvm-svn: 79849
-
Chris Lattner authored
update all code that this affects. llvm-svn: 79830
-
Chris Lattner authored
This required converting a bunch of stuff off DOUT and other cleanups. llvm-svn: 79819
-
- Aug 19, 2009
-
-
Nick Lewycky authored
delete a newed pointer, and improve readability a little bit. llvm-svn: 79411
-
Nick Lewycky authored
llvm-svn: 79407
-
- Aug 17, 2009
-
-
Dan Gohman authored
llvm-svn: 79263
-
Nick Lewycky authored
llvm-svn: 79252
-
- Aug 16, 2009
-
-
Eli Friedman authored
unfoldable references to a PHI node in the block being folded, and disable the transformation in that case. The correct transformation of such PHI nodes depends on whether BB dominates Succ, and dominance is expensive to compute here. (Alternatively, it's possible to check whether any uses are live, but that's also essentially a dominance calculation. Another alternative is to use reg2mem, but it probably isn't a good idea to use that in simplifycfg.) Also, remove some incorrect code from CanPropagatePredecessorsForPHIs which is made unnecessary with this patch: it didn't consider the case where a PHI node in BB has multiple uses. llvm-svn: 79174
-
- Aug 15, 2009
-
-
Nick Lewycky authored
blocks. llvm-svn: 79132
-
- Aug 14, 2009
-
-
Owen Anderson authored
llvm-svn: 78955
-
- Aug 13, 2009
-
-
Owen Anderson authored
llvm-svn: 78948
-
- Aug 12, 2009
-
-
Dan Gohman authored
llvm-svn: 78809
-
- Aug 11, 2009
-
-
Dan Gohman authored
llvm-svn: 78664
-
- Aug 07, 2009
-
-
Dan Gohman authored
llvm-svn: 78363
-