| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 99564
|
|
|
|
|
|
|
| |
and T->isPointerTy(). Convert most instances of the first form to the second form.
Requested by Chris.
llvm-svn: 96344
|
|
|
|
|
|
| |
currently somewhat convenient for them to have the same value.
llvm-svn: 90980
|
|
|
|
|
|
| |
that Chris noticed.
llvm-svn: 90910
|
|
|
|
|
|
|
|
|
|
|
|
| |
examines; fall back to a conservative answer if there are
more. This works around some several compile time problems
resulting from BasicAliasAnalysis calling PointerMayBeCaptured.
The value has been chosen arbitrarily.
This fixes rdar://7438917 and may partially address PR5708.
llvm-svn: 90905
|
|
|
|
| |
llvm-svn: 89472
|
|
|
|
|
|
|
|
|
|
|
|
| |
same object to be a non-capture; Duncan pointed out a way that such
a comparison could be a capture.
Make the rule that considers a comparison against null more specific,
and only consider noalias return values compared against null. This
still supports test/Transforms/GVN/nonescaping-malloc.ll, and is not
susceptible to the problem Duncan pointed out with noalias arguments.
llvm-svn: 89468
|
|
|
|
|
|
|
|
| |
because if the results from getUnderlyingObject match, the values must
be from the same underlying object, even if we don't know what that
object is.
llvm-svn: 89434
|
|
|
|
|
|
|
|
|
| |
careful about crazy methods of capturing pointers using comparisons.
Comparisons of identified objects with null in the default address
space are not captures. And, comparisons of two pointers within the
same identified object are not captures.
llvm-svn: 89421
|
|
|
|
| |
llvm-svn: 89419
|
|
|
|
| |
llvm-svn: 89411
|
|
|
|
|
|
|
|
| |
if it is not ultimately captured. Teach BasicAliasAnalysis that a
local object address which does not escape and is never stored does
not alias with a value resulting from a load.
llvm-svn: 89398
|
|
|
|
| |
llvm-svn: 89389
|
|
|
|
|
|
| |
the generic call code works fine.
llvm-svn: 85865
|
|
|
|
| |
llvm-svn: 85286
|
|
|
|
|
|
| |
to free()
llvm-svn: 85181
|
|
|
|
|
|
|
| |
Remove LowerAllocations pass.
Update some more passes to treate free calls just like they were treating FreeInst.
llvm-svn: 85176
|
|
|
|
| |
llvm-svn: 78948
|
|
|
|
|
|
|
|
|
|
|
| |
bits captured, but the pointer marked nocapture. In fact
I now recall that this problem is why only readnone functions
returning void were considered before! However keep a small
fix that was also in r70876: a readnone function returning
void can result in bits being captured if it unwinds, so
test for this.
llvm-svn: 71168
|
|
|
|
|
|
|
|
| |
only capture their arguments by returning them or
throwing an exception or not based on the argument
value. Patch essentially by Frits van Bommel.
llvm-svn: 70876
|
|
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
|