- Sep 30, 2011
-
-
Dan Gohman authored
handle the case where the retain is in a different basic block. rdar://10210274. llvm-svn: 140815
-
Dan Gohman authored
objc_retainBlock call is potentially responsible for copying the block to the heap to extend its lifetime. rdar://10209613. llvm-svn: 140814
-
- Sep 29, 2011
-
-
Eli Friedman authored
Clean up uses of switch instructions so they are not dependent on the operand ordering. Patch by Stepan Dyatkovskiy. llvm-svn: 140803
-
Andrew Trick authored
llvm-svn: 140769
-
Andrew Trick authored
Rewriting the entire loop nest now requires -enable-lsr-nested. See PR11035 for some performance data. A few unit tests specifically test nested LSR, and are now under a flag. llvm-svn: 140762
-
- Sep 28, 2011
-
-
Andrew Trick authored
llvm-svn: 140670
-
- Sep 27, 2011
-
-
Benjamin Kramer authored
Stop emitting instructions with the name "tmp" they eat up memory and have to be uniqued, without any benefit. If someone prefers %tmp42 to %42, run instnamer. llvm-svn: 140634
-
Bill Wendling authored
split landingpad instructions into a PHI node. PR11016 llvm-svn: 140592
-
Andrew Trick authored
Disabling aggressive LSR saves compilation time, and with the new indvars behavior usually improves performance. llvm-svn: 140590
-
Andrew Trick authored
llvm-svn: 140583
-
Andrew Trick authored
The minor bug heuristic was noticed by inspection. I added the isLoser/isValid helpers because they will become more important with subsequent checkins. llvm-svn: 140580
-
- Sep 24, 2011
-
-
Andrew Trick authored
No test case. Noticed by inspection and I doubt it ever affects the outcome of the overall heuristic, let alone final codegen. llvm-svn: 140431
-
- Sep 22, 2011
-
-
Eli Friedman authored
llvm-svn: 140327
-
- Sep 21, 2011
-
-
Eli Friedman authored
Make sure IPSCCP never marks a tracked call as overdefined in SCCPSolver::ResolvedUndefsIn. If we do, we can end up in a situation where a function is resolved to return a constant, but the caller is marked overdefined, which confuses the code later. <rdar://problem/9956541> (again). llvm-svn: 140210
-
Bill Wendling authored
Some passes require breaking critical edges before they're called. Don't segfault because of that. llvm-svn: 140196
-
Bill Wendling authored
Place the check for an exit landing pad where it will be run on both code paths through the if-then-else. llvm-svn: 140195
-
Bill Wendling authored
The landing pad must accompany the invoke when it's extracted. However, if it does, then the loop isn't properly extracted. I.e., the resulting extraction has a loop in it. The extracted function is then extracted, etc. resulting in an infinite loop. llvm-svn: 140193
-
- Sep 20, 2011
-
-
Bill Wendling authored
llvm-svn: 140176
-
Bill Wendling authored
extract its associated landing pad block as well. However, that landing pad block may have more than one predecessor. So split the landing pad block so that individual landing pads have only one predecessor. This type of transformation may produce a false positive with bugpoint. llvm-svn: 140173
-
Bill Wendling authored
llvm-svn: 140172
-
Devang Patel authored
llvm-svn: 140169
-
Bill Wendling authored
llvm-svn: 140168
-
Devang Patel authored
llvm-svn: 140167
-
Bill Wendling authored
llvm-svn: 140164
-
Devang Patel authored
llvm-svn: 140156
-
Devang Patel authored
llvm-svn: 140154
-
Devang Patel authored
GCOVLines is always accessed through a StringMap where the key is FileName. llvm-svn: 140151
-
Devang Patel authored
There is no need to write a local utility routine to find subprogram info if the utility routine is already available in DebugInfo. llvm-svn: 140145
-
Bill Wendling authored
llvm-svn: 140094
-
Bill Wendling authored
extract the landing pad block. Otherwise, there will be a situation where the invoke's unwind edge lands on a non-landing pad. We also forbid the user from extracting the landing pad block by itself. Again, this is not a valid transformation. llvm-svn: 140083
-
- Sep 19, 2011
-
-
Eli Friedman authored
Fix an infinite loop where a transform in InstCombiner::visitAnd claims a construct is changed when it is not. (See included testcase.) Patch by Xiaoyi Guo. llvm-svn: 140072
-
Andrew Trick authored
llvm-svn: 140026
-
- Sep 15, 2011
-
-
Andrew Trick authored
llvm-svn: 139842
-
Eli Friedman authored
llvm-svn: 139768
-
- Sep 14, 2011
-
-
Dan Gohman authored
which could theoretically throw. llvm-svn: 139710
-
Dan Gohman authored
in memory relevant to the optimizer. rdar://10050579. llvm-svn: 139708
-
- Sep 13, 2011
-
-
Andrew Trick authored
llvm-svn: 139583
-
Andrew Trick authored
llvm-svn: 139579
-
Andrew Trick authored
llvm-svn: 139574
-
Eli Friedman authored
llvm-svn: 139571
-