#
a8c144d5 |
| 20-Nov-2009 |
Dan Gohman <gohman@apple.com> |
Revert the rule that considers comparisons between two pointers in the same object to be a non-capture; Duncan pointed out a way that such a comparison could be a capture.
Make the rule that conside
Revert the rule that considers comparisons between two pointers in the 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
show more ...
|
#
6d919f16 |
| 20-Nov-2009 |
Dan Gohman <gohman@apple.com> |
Simplify this code; it's not necessary to check isIdentifiedObject here because if the results from getUnderlyingObject match, the values must be from the same underlying object, even if we don't kno
Simplify this code; it's not necessary to check isIdentifiedObject here 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
show more ...
|
#
91449224 |
| 20-Nov-2009 |
Dan Gohman <gohman@apple.com> |
Refine the capture tracking rules for comparisons to be more careful about crazy methods of capturing pointers using comparisons. Comparisons of identified objects with null in the default address sp
Refine the capture tracking rules for comparisons to be more 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
show more ...
|
#
01956f5a |
| 20-Nov-2009 |
Dan Gohman <gohman@apple.com> |
Use isVoidTy().
llvm-svn: 89419
|
#
772f922a |
| 19-Nov-2009 |
Dan Gohman <gohman@apple.com> |
Refine this to only apply to null in the default address space.
llvm-svn: 89411
|
#
94e61762 |
| 19-Nov-2009 |
Dan Gohman <gohman@apple.com> |
Extend CaptureTracking to indicate when a value is never stored, even if it is not ultimately captured. Teach BasicAliasAnalysis that a local object address which does not escape and is never stored
Extend CaptureTracking to indicate when a value is never stored, even 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
show more ...
|
#
0a2ba106 |
| 19-Nov-2009 |
Dan Gohman <gohman@apple.com> |
Comparing a pointer with null is not a capture.
llvm-svn: 89389
|
#
e9dccd49 |
| 03-Nov-2009 |
Chris Lattner <sabre@nondot.org> |
remove a check of isFreeCall: the argument to free is already nocapture so the generic call code works fine.
llvm-svn: 85865
|
#
f390e04a |
| 27-Oct-2009 |
Victor Hernandez <vhernandez@apple.com> |
Rename MallocFreeHelper as MemoryBuiltins
llvm-svn: 85286
|
#
762195bd |
| 26-Oct-2009 |
Victor Hernandez <vhernandez@apple.com> |
Rename MallocHelper as MallocFreeHelper, since it now also identifies calls to free()
llvm-svn: 85181
|
#
de5ad42a |
| 26-Oct-2009 |
Victor Hernandez <vhernandez@apple.com> |
Remove FreeInst. Remove LowerAllocations pass. Update some more passes to treate free calls just like they were treating FreeInst.
llvm-svn: 85176
|
Revision tags: llvmorg-2.6.0 |
|
#
55f1c09e |
| 13-Aug-2009 |
Owen Anderson <resistor@mac.com> |
Push LLVMContexts through the IntegerType APIs.
llvm-svn: 78948
|
#
7a8cfafd |
| 07-May-2009 |
Duncan Sands <baldrick@free.fr> |
Revert r70876 and add a testcase (@c7) showing the problem: bits captured, but the pointer marked nocapture. In fact I now recall that this problem is why only readnone functions returning void were
Revert r70876 and add a testcase (@c7) showing the problem: 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
show more ...
|
#
50c70336 |
| 04-May-2009 |
Duncan Sands <baldrick@free.fr> |
Teach capture tracking that readonly functions can only capture their arguments by returning them or throwing an exception or not based on the argument value. Patch essentially by Frits van Bommel.
Teach capture tracking that readonly functions can 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
show more ...
|
Revision tags: llvmorg-2.5.0 |
|
#
e0aa0d67 |
| 18-Jan-2009 |
Duncan Sands <baldrick@free.fr> |
BasicAliasAnalysis and FunctionAttrs were both 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 ver
BasicAliasAnalysis and FunctionAttrs were both 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
show more ...
|