- Sep 02, 2011
-
-
Jakub Staszak authored
will be valid. This fixes PR10820. llvm-svn: 139005
-
- Sep 01, 2011
-
-
Bill Wendling authored
Duncan noticed this! llvm-svn: 138967
-
Eli Friedman authored
Fix an issue with the IR sink pass found by inspection. (I'm not sure anyone is actually using this, but might as well fix it since I found the issue.) llvm-svn: 138965
-
- Aug 31, 2011
-
-
Bill Wendling authored
The landingpad instruction is required in the landing pad block. Because we're not deleting terminating instructions, the invoke may still jump to here (see Transforms/SCCP/2004-11-16-DeadInvoke.ll). Remove all uses of the landingpad instruction, but keep it around until code-gen can remove the basic block. llvm-svn: 138890
-
Rafael Espindola authored
ssa, so it has to be run really early in the pipeline. Any replacement should probably use the SSAUpdater. llvm-svn: 138841
-
- Aug 30, 2011
-
-
Owen Anderson authored
llvm-svn: 138829
-
Owen Anderson authored
When walking backwards to eliminate final stores to allocas at the end of a function, encountering an unrelated store should not cause us to give up like encountering a load does. llvm-svn: 138809
-
- Aug 26, 2011
-
-
Bill Wendling authored
llvm-svn: 138651
-
- Aug 25, 2011
-
-
Bill Wendling authored
proper function to do it. llvm-svn: 138550
-
Bill Wendling authored
getFirstNonPHI so that it will skip over the landingpad instructions as well. llvm-svn: 138537
-
- Aug 24, 2011
-
-
Bill Wendling authored
llvm-svn: 138481
-
Bill Wendling authored
insertion place. llvm-svn: 138473
-
- Aug 22, 2011
-
-
Dan Gohman authored
llvm-svn: 138243
-
Dan Gohman authored
llvm-svn: 138242
-
- Aug 19, 2011
-
-
Bill Wendling authored
llvm-svn: 138102
-
Benjamin Kramer authored
llvm-svn: 138025
-
Dan Gohman authored
known-incremented level, because the two concepts can be used to prove the saftey of a retain+release removal in different ways. llvm-svn: 138016
-
Bill Wendling authored
llvm-svn: 138008
-
- Aug 18, 2011
-
-
Dan Gohman authored
llvm-svn: 137985
-
Devang Patel authored
Dramatically speedup codegen prepare by a) avoiding use of dominator tree and b) doing a separate pass over dbg.value instructions. llvm-svn: 137908
-
Eli Friedman authored
llvm-svn: 137888
-
- Aug 17, 2011
-
-
Bill Wendling authored
PRE needs the landing pads to have their critical edges split. Doing this for a landing pad is non-trivial. Abandon the attempt to perform PRE when we come across a landing pad. (Reviewed by Owen!) llvm-svn: 137876
-
Eli Friedman authored
Silly mistake from r137777; restore significant isStructTy() checks. While here, be a bit more defensive with unknown instructions. Fixes PR10687. llvm-svn: 137836
-
Eli Friedman authored
making random bad assumptions about instructions which are not explicitly listed. Includes fix for rdar://9956541, a version of "undef ^ undef should return 0 because it's easier than arguing with users". llvm-svn: 137777
-
- Aug 16, 2011
-
-
Eli Friedman authored
Minor bug in SCCP found by inspection. (I don't think it's possible to hit this with a normal pass pipeline, but fixing for completeness.) llvm-svn: 137755
-
Bill Wendling authored
check for a LandingPadInst. llvm-svn: 137745
-
Bill Wendling authored
llvm-svn: 137679
-
- Aug 15, 2011
-
-
Eli Friedman authored
llvm-svn: 137648
-
Bill Wendling authored
llvm-svn: 137626
-
- Aug 12, 2011
-
-
Bill Wendling authored
This implements the 'landingpad' instruction. It's used to indicate that a basic block is a landing pad. There are several restrictions on its use (see LangRef.html for more detail). These restrictions allow the exception handling code to gather the information it needs in a much more sane way. This patch has the definition, implementation, C interface, parsing, and bitcode support in it. llvm-svn: 137501
-
Duncan Sands authored
when building with assertions disabled. llvm-svn: 137460
-
Dan Gohman authored
is returned through a bitcast. llvm-svn: 137402
-
Dan Gohman authored
the retains and releases all use the same SSA pointer value. Also, don't let CFG hazards disrupt nested retain+release pair optimizations. llvm-svn: 137399
-
Dan Gohman authored
rather than plain postorder, so that CFG constructs like single-exit loops are reliably visited in a sensible order. llvm-svn: 137398
-
Andrew Trick authored
SCEV unrolling can unroll loops with arbitrary induction variables. It is a prerequisite for -disable-iv-rewrite performance. It is also easily handles loops of arbitrary structure including multiple exits and is generally more robust. This is under a temporary option to avoid affecting default behavior for the next couple of weeks. It is needed so that I can checkin unit tests for updateUnloop. llvm-svn: 137384
-
- Aug 11, 2011
-
-
Dan Gohman authored
llvm-svn: 137352
-
- Aug 10, 2011
-
-
Andrew Trick authored
llvm-svn: 137203
-
Andrew Trick authored
SimplifyIndVar utility since it is required. llvm-svn: 137202
-
Andrew Trick authored
based on ScalarEvolution without changing the induction variable phis. This utility is the main tool of IndVarSimplifyPass, but the pass also restructures induction variables in strange ways that are sensitive to pass ordering. This provides a way for other loop passes to simplify new uses of induction variables created during transformation. The utility may be used by any pass that preserves ScalarEvolution. Soon LoopUnroll will use it. The net effect in this checkin is to cleanup the IndVarSimplify pass by factoring out the SimplifyIndVar algorithm into a standalone utility. llvm-svn: 137197
-
Eli Friedman authored
llvm-svn: 137170
-