- 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
-
Eli Friedman authored
llvm-svn: 139565
-
- Sep 12, 2011
-
-
Eli Friedman authored
No tests; these changes aren't really interesting in the sense that the logic is the same for volatile and atomic. I believe this completes all of the changes necessary for the optimizer to handle loads and stores correctly. I'm going to try and come up with some additional testing, though. llvm-svn: 139533
-
Andrew Trick authored
llvm-svn: 139517
-
- Sep 10, 2011
-
-
Andrew Trick authored
better. Don't immediately give up when an add operation can't be trivially sign/zero-extended within a loop. If it has NSW/NUW flags, generate a new expression with sign extended (non-recurrent) operand. As before, if SCEV says that all sign extends are loop invariant, then we can widen the operation. llvm-svn: 139453
-
- Sep 09, 2011
-
-
Andrew Trick authored
llvm-svn: 139375
-