mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-09-24 23:28:41 +00:00
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
This commit is contained in:
@@ -21,8 +21,12 @@ namespace llvm {
|
||||
/// by the enclosing function (which is required to exist). This routine can
|
||||
/// be expensive, so consider caching the results. The boolean ReturnCaptures
|
||||
/// specifies whether returning the value (or part of it) from the function
|
||||
/// counts as capturing it or not. The boolean StoreCaptures specified whether
|
||||
/// storing the value (or part of it) into memory anywhere automatically
|
||||
/// counts as capturing it or not.
|
||||
bool PointerMayBeCaptured(const Value *V, bool ReturnCaptures);
|
||||
bool PointerMayBeCaptured(const Value *V,
|
||||
bool ReturnCaptures,
|
||||
bool StoreCaptures);
|
||||
|
||||
} // end namespace llvm
|
||||
|
||||
|
Reference in New Issue
Block a user