LLVM API Documentation
00001 //===----- llvm/Analysis/CaptureTracking.h - Pointer capture ----*- C++ -*-===// 00002 // 00003 // The LLVM Compiler Infrastructure 00004 // 00005 // This file is distributed under the University of Illinois Open Source 00006 // License. See LICENSE.TXT for details. 00007 // 00008 //===----------------------------------------------------------------------===// 00009 // 00010 // This file contains routines that help determine which pointers are captured. 00011 // 00012 //===----------------------------------------------------------------------===// 00013 00014 #ifndef LLVM_ANALYSIS_CAPTURETRACKING_H 00015 #define LLVM_ANALYSIS_CAPTURETRACKING_H 00016 00017 namespace llvm { 00018 class Value; 00019 00020 /// PointerMayBeCaptured - Return true if this pointer value may be captured 00021 /// by the enclosing function (which is required to exist). This routine can 00022 /// be expensive, so consider caching the results. The boolean ReturnCaptures 00023 /// specifies whether returning the value (or part of it) from the function 00024 /// counts as capturing it or not. 00025 bool PointerMayBeCaptured(const Value *V, bool ReturnCaptures); 00026 00027 } // end namespace llvm 00028 00029 #endif