de2d8694e25a814696358e95141f4b1aa4d8847e |
|
20-Sep-2016 |
Pirama Arumuga Nainar <pirama@google.com> |
Update aosp/master LLVM for rebase to r275480 Bug: http://b/31320715 This merges commit 7dcf7f03e005379ef2f06db96aa93f06186b66d5 from aosp/dev. Test: Build AOSP and run RenderScript tests (host tests for slang and libbcc, RsTest, CTS) Change-Id: Iaf3738f74312d875e69f61d604ac058f381a2a1a
/external/llvm/lib/Analysis/CaptureTracking.cpp
|
f3ef5332fa3f4d5ec72c178a2b19dac363a19383 |
|
04-Mar-2016 |
Pirama Arumuga Nainar <pirama@google.com> |
Update aosp/master LLVM for rebase to r256229 http://b/26987366 Change-Id: I1f29c4676a8abe633ab5707dded58d846c973d50
/external/llvm/lib/Analysis/CaptureTracking.cpp
|
ebe69fe11e48d322045d5949c83283927a0d790b |
|
23-Mar-2015 |
Stephen Hines <srhines@google.com> |
Update aosp/master LLVM for rebase to r230699. Change-Id: I2b5be30509658cb8266be782de0ab24f9099f9b9
/external/llvm/lib/Analysis/CaptureTracking.cpp
|
37ed9c199ca639565f6ce88105f9e39e898d82d0 |
|
01-Dec-2014 |
Stephen Hines <srhines@google.com> |
Update aosp/master LLVM for rebase to r222494. Change-Id: Ic787f5e0124df789bd26f3f24680f45e678eef2d
/external/llvm/lib/Analysis/CaptureTracking.cpp
|
36b56886974eae4f9c5ebc96befd3e7bfe5de338 |
|
24-Apr-2014 |
Stephen Hines <srhines@google.com> |
Update to LLVM 3.5a. Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
/external/llvm/lib/Analysis/CaptureTracking.cpp
|
4d63c8daec1759e60f85a49b7a91f88edf0c0a4d |
|
03-Oct-2013 |
Benjamin Kramer <benny.kra@googlemail.com> |
CaptureTracking: Plug a loophole in the "too many uses" heuristic. The heuristic was added to avoid spending too much compile time A specially crafted test case (PR17461, PR16474) with many uses on a select or bitcast instruction can still trigger the slow case. Add a check for that case. This only affects compile time, don't have a good way to test it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191896 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/CaptureTracking.cpp
|
dc89737bcdbb8f69d8ae7578bdfa904cabcfc5ed |
|
06-Jul-2013 |
Nick Lewycky <nicholas@mxc.ca> |
Extend 'readonly' and 'readnone' to work on function arguments as well as functions. Make the function attributes pass add it to known library functions and when it can deduce it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185735 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/CaptureTracking.cpp
|
ec3bb4b660fc2f8353c510ebfc15277bcf28df8b |
|
10-Mar-2013 |
Jakub Staszak <kubastaszak@gmail.com> |
Remove unneeded #includes. Use forward declarations instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176783 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/CaptureTracking.cpp
|
c92b8aa79f4a2cd16f7b674189e425c2c367e886 |
|
09-Oct-2012 |
Nick Lewycky <nicholas@mxc.ca> |
Give CaptureTracker::shouldExplore a base implementation. Most users want to do the same thing. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165435 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/CaptureTracking.cpp
|
620ee81fa0bef312d711688c86b73aa16f088509 |
|
11-May-2012 |
Chad Rosier <mcrosier@apple.com> |
Fix intendation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156589 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/CaptureTracking.cpp
|
bda43e95a03c19868106e8111d7a5bf1c924ec63 |
|
17-Jan-2012 |
Jakub Staszak <kubastaszak@gmail.com> |
Move includes to the .cpp file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148342 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/CaptureTracking.cpp
|
b48a18903a5769f0ecb295db069252576b1388b0 |
|
29-Dec-2011 |
Nick Lewycky <nicholas@mxc.ca> |
Change CaptureTracking to pass a Use* instead of a Value* when a value is captured. This allows the tracker to look at the specific use, which may be especially interesting for function calls. Use this to fix 'nocapture' deduction in FunctionAttrs. The existing one does not iterate until a fixpoint and does not guarantee that it produces the same result regardless of iteration order. The new implementation builds up a graph of how arguments are passed from function to function, and uses a bottom-up walk on the argument-SCCs to assign nocapture. This gets us nocapture more often, and does so rather efficiently and independent of iteration order. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147327 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/CaptureTracking.cpp
|
9f47fb66370e5513bb9f737923e8cb476088acec |
|
21-Nov-2011 |
Nick Lewycky <nicholas@mxc.ca> |
Fix crasher in GVN due to my recent capture tracking changes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145047 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/CaptureTracking.cpp
|
6935b78e6f3b7dca7786041c56c9a795d2247659 |
|
21-Nov-2011 |
Nick Lewycky <nicholas@mxc.ca> |
Add virtual destructor. Whoops! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145044 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/CaptureTracking.cpp
|
7912ef97ffde3ab3334143ddfb4cafdf04e2ebfc |
|
20-Nov-2011 |
Nick Lewycky <nicholas@mxc.ca> |
Less template, more virtual! Refactoring suggested by Chris in code review. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145014 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/CaptureTracking.cpp
|
88990248d3bfb2f265fcf27f8a032ac0eb14d09f |
|
14-Nov-2011 |
Nick Lewycky <nicholas@mxc.ca> |
Refactor capture tracking (which already had a couple flags for whether returns and stores capture) to permit the caller to see each capture point and decide whether to continue looking. Use this inside memdep to do an analysis that basicaa won't do. This lets us solve another devirtualization case, fixing PR8908! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144580 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/CaptureTracking.cpp
|
562b84b3aea359d1f918184e355da82bf05eb290 |
|
11-Apr-2011 |
Jay Foad <jay.foad@gmail.com> |
Don't include Operator.h from InstrTypes.h. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129271 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/CaptureTracking.cpp
|
1cdaa3e5b1128bd9e62ad9b5084db8a44b897e88 |
|
09-Nov-2010 |
Dan Gohman <gohman@apple.com> |
VAArg doesn't capture its operand. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118623 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/CaptureTracking.cpp
|
30ae792f0682ace2f794c6db3f3cb6ab657670a6 |
|
28-Jul-2010 |
Gabor Greif <ggreif@gmail.com> |
simplify git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109578 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/CaptureTracking.cpp
|
60ad781c61815ca5b8dc2a45a102e1c8af65992f |
|
26-Mar-2010 |
Gabor Greif <ggreif@gmail.com> |
rename use_const_iterator to const_use_iterator for consistency's sake git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99564 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/CaptureTracking.cpp
|
1df9859c40492511b8aa4321eb76496005d3b75b |
|
16-Feb-2010 |
Duncan Sands <baldrick@free.fr> |
There are two ways of checking for a given type, for example isa<PointerType>(T) and T->isPointerTy(). Convert most instances of the first form to the second form. Requested by Chris. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96344 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/CaptureTracking.cpp
|
89452f7386540ca83e8991e74f1d74bbe7271922 |
|
09-Dec-2009 |
Dan Gohman <gohman@apple.com> |
Reuse the Threshold value to size these containers because it's currently somewhat convenient for them to have the same value. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90980 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/CaptureTracking.cpp
|
686abbb1ebd31da0231bd69d72ee3900e414348d |
|
09-Dec-2009 |
Dan Gohman <gohman@apple.com> |
Fix a typo in a comment, and adjust SmallSet and SmallVector sizes, that Chris noticed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90910 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/CaptureTracking.cpp
|
8456d60becd2b502e3d6ebf124ea324ec5d1c108 |
|
09-Dec-2009 |
Dan Gohman <gohman@apple.com> |
Put a threshold on the number of users PointerMayBeCaptured 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90905 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/CaptureTracking.cpp
|
5bd698e65c6858c7d2a715e29b57f63a60295923 |
|
20-Nov-2009 |
Dan Gohman <gohman@apple.com> |
Use stripPointerCasts(). Thanks Duncan! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89472 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/CaptureTracking.cpp
|
837be07979723fb05ef47c828da014ce9ed1ba34 |
|
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 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89468 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/CaptureTracking.cpp
|
ae079c250ff7bacf872b339ee08b65c7b7823e39 |
|
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 know what that object is. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89434 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/CaptureTracking.cpp
|
76c638a14c1e2927e5e20040b347bc3d7ae8fb82 |
|
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 space are not captures. And, comparisons of two pointers within the same identified object are not captures. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89421 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/CaptureTracking.cpp
|
452ae47db65cbae908853b11ca73b1e791235ff1 |
|
20-Nov-2009 |
Dan Gohman <gohman@apple.com> |
Use isVoidTy(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89419 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/CaptureTracking.cpp
|
6d903092c95703b17f90ba9e3f3f2032f364ee4e |
|
20-Nov-2009 |
Dan Gohman <gohman@apple.com> |
Refine this to only apply to null in the default address space. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89411 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/CaptureTracking.cpp
|
f94b5edc452c32d9ae258e7de30c33391fda6cc9 |
|
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 does not alias with a value resulting from a load. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89398 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/CaptureTracking.cpp
|
2a0fab118f15c01b165bebb73e6c89db48a35b9c |
|
19-Nov-2009 |
Dan Gohman <gohman@apple.com> |
Comparing a pointer with null is not a capture. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89389 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/CaptureTracking.cpp
|
b8d264aa6b76b9f69da1f1a772dadd9b6fb949c3 |
|
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85865 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/CaptureTracking.cpp
|
f006b183e2d2bebcf6968d1dd7350397c95b0325 |
|
27-Oct-2009 |
Victor Hernandez <vhernandez@apple.com> |
Rename MallocFreeHelper as MemoryBuiltins git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85286 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/CaptureTracking.cpp
|
f2becca90b832cc02345fba063b9b439b2be33ad |
|
27-Oct-2009 |
Victor Hernandez <vhernandez@apple.com> |
Rename MallocHelper as MallocFreeHelper, since it now also identifies calls to free() git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85181 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/CaptureTracking.cpp
|
046e78ce55a7c3d82b7b6758d2d77f2d99f970bf |
|
27-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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85176 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/CaptureTracking.cpp
|
1d0be15f89cb5056e20e2d24faa8d6afb1573bca |
|
13-Aug-2009 |
Owen Anderson <resistor@mac.com> |
Push LLVMContexts through the IntegerType APIs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78948 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/CaptureTracking.cpp
|
1978426a94e3d3b53f488ffc56516e6e87906a0b |
|
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 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71168 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/CaptureTracking.cpp
|
fe095f39e7009c51d1c86769792ccbcad8cdd2ec |
|
04-May-2009 |
Mike Stump <mrs@apple.com> |
Restore minor deletion. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70892 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/CaptureTracking.cpp
|
8556d2a7f155c7edfaf454a3acda8ce28863c5e4 |
|
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 version in BasicAliasAnalysis git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62461 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/CaptureTracking.cpp
|