LLVM API Documentation
#include "llvm/Analysis/Passes.h"
#include "llvm/Analysis/AliasAnalysis.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/LLVMContext.h"
#include "llvm/IR/Metadata.h"
#include "llvm/IR/Module.h"
#include "llvm/Pass.h"
#include "llvm/Support/CommandLine.h"
Go to the source code of this file.
Functions | |
INITIALIZE_AG_PASS (TypeBasedAliasAnalysis, AliasAnalysis,"tbaa","Type-Based Alias Analysis", false, true, false) ImmutablePass *llvm | |
static bool | isStructPathTBAA (const MDNode *MD) |
Variables | |
static cl::opt< bool > | EnableTBAA ("enable-tbaa", cl::init(true)) |
INITIALIZE_AG_PASS | ( | TypeBasedAliasAnalysis | , |
AliasAnalysis | , | ||
"tbaa" | , | ||
"Type-Based Alias Analysis" | , | ||
false | , | ||
true | , | ||
false | |||
) |
Definition at line 315 of file TypeBasedAliasAnalysis.cpp.
static bool isStructPathTBAA | ( | const MDNode * | MD | ) | [static] |
Check the first operand of the tbaa tag node, if it is a MDNode, we treat it as struct-path aware TBAA format, otherwise, we treat it as scalar TBAA format.
Definition at line 331 of file TypeBasedAliasAnalysis.cpp.
References llvm::MDNode::getNumOperands(), and llvm::MDNode::getOperand().
Referenced by llvm::MDNode::getMostGenericTBAA(), and llvm::MDNode::isTBAAVtableAccess().
cl::opt<bool> EnableTBAA("enable-tbaa", cl::init(true)) [static] |