LLVM  11.0.0git
Variables
CaptureTracking.cpp File Reference
#include "llvm/Analysis/CaptureTracking.h"
#include "llvm/ADT/SmallSet.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/Analysis/AliasAnalysis.h"
#include "llvm/Analysis/CFG.h"
#include "llvm/Analysis/ValueTracking.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/Dominators.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/IntrinsicInst.h"
#include "llvm/Support/CommandLine.h"
Include dependency graph for CaptureTracking.cpp:

Go to the source code of this file.

Variables

static cl::opt< unsignedDefaultMaxUsesToExplore ("capture-tracking-max-uses-to-explore", cl::Hidden, cl::desc("Maximal number of uses to explore."), cl::init(20))
 The default value for MaxUsesToExplore argument. More...
 

Variable Documentation

◆ DefaultMaxUsesToExplore

cl::opt<unsigned> DefaultMaxUsesToExplore("capture-tracking-max-uses-to-explore", cl::Hidden, cl::desc("Maximal number of uses to explore."), cl::init(20))
static

The default value for MaxUsesToExplore argument.

It's relatively small to keep the cost of analysis reasonable for clients like BasicAliasAnalysis, where the results can't be cached. TODO: we should probably introduce a caching CaptureTracking analysis and use it where possible. The caching version can use much higher limit or don't have this cap at all.

Referenced by llvm::getDefaultMaxUsesToExploreForCaptureTracking(), and llvm::PointerMayBeCaptured().