- Mar 03, 2009
-
-
Devang Patel authored
llvm-svn: 65971
-
Devang Patel authored
llvm-svn: 65908
-
- Mar 02, 2009
-
-
Devang Patel authored
This is ugly, but I can't figure out a quick way out of this. llvm-svn: 65889
-
- Feb 18, 2009
-
-
Duncan Sands authored
here. Since we only do the transform if there is one use, strip off any such users in the hope of making the transform fire more often. llvm-svn: 64926
-
Dan Gohman authored
llvm-svn: 64915
-
Duncan Sands authored
crash because the alias would still be using the aliasee when the aliasee was deleted. llvm-svn: 64844
-
- Feb 17, 2009
-
-
Duncan Sands authored
llvm-svn: 64773
-
- Feb 15, 2009
-
-
Duncan Sands authored
one-definition-rule llvm-gcc changes (coming soon to a tree near you!). llvm-svn: 64588
-
Duncan Sands authored
alias can be morphed into the target. Implement this transform, and fix a crash in the existing transform at the same time. llvm-svn: 64583
-
- Jan 28, 2009
-
-
Duncan Sands authored
llvm-svn: 63198
-
- Jan 25, 2009
-
-
Nick Lewycky authored
llvm-svn: 62956
-
- Jan 23, 2009
-
-
Gabor Greif authored
llvm-svn: 62877
-
Gabor Greif authored
There is now a direct way from value-use-iterator to incoming block in PHINode's API. This way we avoid the iterator->index->iterator trip, and especially the costly getOperandNo() invocation. Additionally there is now an assertion that the iterator really refers to one of the PHI's Uses. llvm-svn: 62869
-
- Jan 22, 2009
-
-
Gabor Greif authored
llvm-svn: 62788
-
- Jan 18, 2009
-
-
Duncan Sands authored
doing very similar pointer capture analysis. Factor out the common logic. The new version is from FunctionAttrs since it does a better job than the version in BasicAliasAnalysis llvm-svn: 62461
-
- Jan 15, 2009
-
-
Rafael Espindola authored
llvm-svn: 62279
-
- Jan 14, 2009
-
-
Chris Lattner authored
vector and extraneous loop over it, 2) not delete globals used by phis/selects etc which could actually be useful. This fixes PR3321. Many thanks to Duncan for narrowing this down. llvm-svn: 62201
-
- Jan 13, 2009
-
-
Duncan Sands authored
llvm-svn: 62165
-
- Jan 12, 2009
-
-
Dale Johannesen authored
back to 200; 400 seems to be too high, loses more than it gains. llvm-svn: 62107
-
Duncan Sands authored
suggested by Chris. llvm-svn: 62099
-
Dale Johannesen authored
compensation for turning off gcc's inliner. This gets us closer to the amount of inlining we were getting before. It is not a win on everything, of course, but seems to gain overall. llvm-svn: 62058
-
- Jan 09, 2009
-
-
Misha Brukman authored
llvm-svn: 61991
-
Dale Johannesen authored
llvm-svn: 61969
-
- Jan 07, 2009
-
-
Duncan Sands authored
llvm-svn: 61879
-
Duncan Sands authored
was it not very helpful, it was also wrong! The problem is shown in the testcase: the alloca might be passed to a nocapture callee which dereferences it and returns the original pointer. But because it was a nocapture call we think we don't need to track its uses, but we do. llvm-svn: 61876
-
Duncan Sands authored
llvm-svn: 61873
-
Duncan Sands authored
llvm-svn: 61872
-
Duncan Sands authored
llvm-svn: 61870
-
- Jan 05, 2009
-
-
Duncan Sands authored
global aliases. llvm-svn: 61754
-
Duncan Sands authored
llvm-svn: 61745
-
Duncan Sands authored
llvm-svn: 61744
-
Duncan Sands authored
llvm-svn: 61743
-
Duncan Sands authored
In fact this also deletes those with linkonce linkage, however this is currently dead because for the moment aliases aren't allowed to have this linkage type. llvm-svn: 61742
-
- Jan 03, 2009
-
-
Nick Lewycky authored
nocapture attributes to them. llvm-svn: 61610
-
- Jan 02, 2009
-
-
Duncan Sands authored
not have pointer type. In particular, it may be the condition argument for a select or a GEP index. While I was unable to construct a testcase for which some bits of the original pointer are captured due to one of these, it's very very close to being possible - so play safe and exclude these possibilities. llvm-svn: 61580
-
Duncan Sands authored
the argument to be stored to an alloca by tracking uses of the alloca. This occurs 4 times (out of 7121, 0.05%) in MultiSource/Applications, so may not be worth it. On the other hand, it is easy to do and fairly cheap. The functions it helps are: W_addcom and W_addlit in spiff; process_args (argv) in d (make_dparser); ercPixConcealIMB in JM/ldecod. llvm-svn: 61570
-
Duncan Sands authored
change. llvm-svn: 61569
-
Nick Lewycky authored
functions that don't write can't leak a pointer except through the return value, so a void readonly function is implicitly nocapture. Test these, and add a test that verifies that f1 calling f2 with an otherwise dead pointer gets both of them marked nocapture. llvm-svn: 61552
-
- Jan 01, 2009
-
-
Duncan Sands authored
leading comments. llvm-svn: 61548
-
- Dec 31, 2008
-
-
Duncan Sands authored
calculating nocapture attributes. llvm-svn: 61535
-