Namespaces | |
namespace | internal |
Classes | |
class | TeslaConsumer |
class | TeslaAction |
class | TeslaActionFactory |
class | Parser |
A parser for TESLA automata descriptions. More... | |
class | TeslaVisitor |
class | Automaton |
An automata representation of a TESLA assertion. More... | |
class | NFA |
A non-deterministic automaton that represents a TESLA assertion. More... | |
class | DFA |
A DFA description of a TESLA assertion. More... | |
class | Manifest |
A description of TESLA instrumentation to perform. More... | |
class | State |
A state in a TESLA DFA. More... | |
struct | ManifestFile |
A file that describes TESLA automata. More... | |
struct | Usage |
How an automaton is used for instrumentation. More... | |
struct | AutomatonDescription |
An inline assertion describing the temporal behaviour of software. More... | |
struct | Identifier |
Something that uniquely identifies an automaton. More... | |
struct | Location |
An identifier for an automaton based on where it was defined. More... | |
struct | Expression |
A temporal expression. More... | |
struct | BooleanExpr |
A boolean combination of expressions (with equal precedence). More... | |
struct | Sequence |
A sequence of temporal events. More... | |
struct | NowEvent |
Execution has reached the point in the instrumented code where an inline assertion was defined. More... | |
struct | FunctionEvent |
A function has been called or has returned. More... | |
struct | FunctionRef |
A function that can be instrumented. More... | |
struct | FieldAssignment |
Assignment to a field in a structure. More... | |
struct | StructField |
A field within a structure. More... | |
struct | Argument |
An argument to a function. More... | |
class | Transition |
A transition from one TESLA state to another. More... | |
class | NullTransition |
An unconditional (and unrealisable) transition. More... | |
class | NowTransition |
The "now" event transition. More... | |
class | FnTransition |
A function-related transition. More... | |
class | FieldAssignTransition |
A field assignment transition. More... | |
class | SubAutomatonTransition |
A sub-automaton. More... | |
class | PtrAnnotation |
An annotation applied by LLVM to a pointer. More... | |
class | FieldAnnotation |
An annotation applied by Clang/TESLA to a structure field access. More... | |
class | AssertionSiteInstrumenter |
Converts calls to TESLA pseudo-assertions into instrumentation sites. More... | |
class | FnCalleeInstrumenter |
Instruments function calls in the callee context. More... | |
class | CalleeInstr |
Function instrumentation (callee context). More... | |
class | FnCallerInstrumenter |
Instruments function calls in the caller context. More... | |
class | CallerInstrumentation |
Function instrumentation (caller context). More... | |
class | FieldInstrumentation |
Instrumentation for a struct field assignment. More... | |
class | FieldReferenceInstrumenter |
Converts calls to TESLA pseudo-assertions into instrumentation sites. More... | |
class | FnInstrumentation |
Instrumentation for a function event. More... | |
class | InstInstrumentation |
Instrumentation on a single instruction that does not change control flow. More... | |
class | Instrumenter |
Base class for TESLA instrumenters. More... | |
Typedefs | |
typedef std::map< Identifier, const AutomatonDescription * > | AutomataMap |
typedef llvm::ArrayRef< const Argument * > | ReferenceVector |
typedef llvm::MutableArrayRef < const Argument * > | MutableReferenceVector |
typedef llvm::SmallVector < Transition *, 10 > | TransitionVector |
Ungrouped transitions. More... | |
typedef llvm::SmallPtrSet < const Transition *, 4 > | TEquivalenceClass |
A set of TESLA transitions that are considered equivalent. More... | |
typedef std::vector < TEquivalenceClass > | TransitionSets |
Sets of transition equivalence classes. More... | |
typedef llvm::SmallVector < llvm::SmallVector < Transition *, 16 >, 4 > | TransitionVectors |
typedef llvm::SmallVector < State *, 10 > | StateVector |
typedef llvm::SmallVector < llvm::Value *, 3 > | ArgVector |
A container for function arguments, which shouldn't be very numerous. More... | |
typedef llvm::SmallVector < llvm::Type *, 3 > | TypeVector |
A container for a few types (e.g., of function arguments). More... | |
Functions | |
template<class T > | |
void | ReportError (ASTContext &Ctx, StringRef Message, T *Subject) |
llvm::raw_ostream & | debugs (llvm::StringRef DebugModuleName="tesla") |
void | panic (llvm::Twine Message, bool PrintStackTrace=true) |
cl::opt< string > | ManifestName ("tesla-manifest", cl::init(".tesla"), cl::Hidden, cl::desc("Name of TESLA manifest file")) |
std::string | ArgString (const Argument *) |
Convert an Argument into something human-readable. More... | |
std::string | ShortName (const Argument *) |
Convert an Argument into a very short, human-readable name. More... | |
std::string | DotName (const Argument *) |
Convert an Argument into a very short name for GraphViz's dot. More... | |
std::string | ShortName (const Identifier &) |
Convert an Identifier into a short, human-readable name. More... | |
std::string | ShortName (const Location &) |
Convert an Location into a short, human-readable name. More... | |
std::string | InstanceName (const ReferenceVector &, bool PlainAscii) |
Convert the name of an automata instance. More... | |
template<class T > | |
bool | operator!= (const T &x, const T &y) |
bool | operator== (const Location &x, const Location &y) |
bool | operator== (const Identifier &x, const Identifier &y) |
bool | operator== (const Argument &A1, const Argument &A2) |
bool | operator== (const NowEvent &X, const NowEvent &Y) |
bool | operator== (const FunctionRef &X, const FunctionRef &Y) |
bool | operator== (const FunctionEvent &E1, const FunctionEvent &E2) |
bool | operator== (const StructField &X, const StructField &Y) |
bool | operator== (const FieldAssignment &X, const FieldAssignment &Y) |
bool | operator< (const Location &x, const Location &y) |
bool | operator< (const Identifier &x, const Identifier &y) |
llvm::Value * | ConstructKey (llvm::IRBuilder<> &Builder, llvm::Module &M, llvm::Function::ArgumentListType &InstrumentationArgs, FunctionEvent FnEventDescription) |
Map instrumentation arguments into a tesla_key that can be used to look up automata. More... | |
BasicBlock * | MatchPattern (LLVMContext &Ctx, StringRef Name, Function *Fn, BasicBlock *MatchTarget, BasicBlock *NonMatchTarget, Value *Val, const tesla::Argument &Pattern) |
BasicBlock * | FindBlock (StringRef Name, Function &Fn) |
StructType * | KeyType (Module &M) |
Function * | Printf (Module &Mod) |
Find (or create) printf() declaration. More... | |
Function * | TeslaDebugging (Module &Mod) |
Find (or create) tesla_debugging() declaration. More... | |
const char * | Format (Type *T) |
llvm::Type * | IntPtrType (llvm::Module &) |
Extract the register_t type from an llvm::Module. More... | |
llvm::StructType * | TransitionType (llvm::Module &) |
Extract the tesla_transition type from an llvm::Module. More... | |
llvm::StructType * | TransitionSetType (llvm::Module &) |
Extract the tesla_transitions type from an llvm::Module. More... | |
llvm::Constant * | TeslaContext (AutomatonDescription::Context Context, llvm::LLVMContext &Ctx) |
Find the constant for a libtesla context (either TESLA_CONTEXT_THREAD or TESLA_CONTEXT_GLOBAL). More... | |
llvm::BasicBlock * | FindBlock (llvm::StringRef Name, llvm::Function &) |
Find a BasicBlock within a Function. More... | |
llvm::Function * | FindStateUpdateFn (llvm::Module &, llvm::Type *IntType) |
Find the libtesla function tesla_update_state. More... | |
llvm::Value * | Cast (llvm::Value *From, llvm::StringRef Name, llvm::Type *NewType, llvm::IRBuilder<> &) |
Cast an integer-ish Value to another type. More... | |
llvm::BasicBlock * | CreateInstrPreamble (llvm::Module &Mod, llvm::Function *F, const llvm::Twine &Prefix, bool SuppressDebugInstrumentation) |
Initialise the instrumentation function's preamble. More... | |
llvm::Value * | ConstructKey (llvm::IRBuilder<> &, llvm::Module &, llvm::ArrayRef< llvm::Value * > Args) |
Map a set of values into a tesla_key. More... | |
llvm::Constant * | ConstructTransition (llvm::IRBuilder<> &, llvm::Module &, const Transition &) |
Construct a single tesla_transition. More... | |
llvm::Constant * | ConstructTransitions (llvm::IRBuilder<> &, llvm::Module &, const TEquivalenceClass &) |
Construct a tesla_transitions for a TEquivalenceClass. More... | |
llvm::Function * | FunctionInstrumentation (llvm::Module &, const llvm::Function &, FunctionEvent::Direction, FunctionEvent::CallContext, bool SuppressDebugInstr) |
Find (or create) one function-event instrumentation function. More... | |
llvm::Function * | StructInstrumentation (llvm::Module &, llvm::StructType *, llvm::StringRef FieldName, size_t Index, bool Store, bool SuppressDebugInstr) |
Find (or create) one struct-field-event instrumentation function. More... | |
Variables | |
const std::string | LLVM_PTR_ANNOTATION = "llvm.ptr.annotation" |
const std::string | TESLA_BASE = "__tesla_" |
const std::string | AUTOMATON = TESLA_BASE + "automaton_" |
const std::string | AUTOMATON_DESC = AUTOMATON + "description" |
const std::string | AUTOMATON_MAPPING = AUTOMATON + "mapping" |
const std::string | AUTOMATON_USAGE = AUTOMATON + "usage" |
const std::string | AUTOMATON_USES = TESLA_BASE + "struct_uses_automaton" |
const std::string | GLOBAL = TESLA_BASE + "global" |
const std::string | PERTHREAD = TESLA_BASE + "perthread" |
const std::string | ANY = TESLA_BASE + "any" |
const std::string | EVENT = TESLA_BASE + "event" |
const std::string | IGNORE = TESLA_BASE + "ignore" |
const std::string | NOW = TESLA_BASE + "now" |
const std::string | OPTIONAL = TESLA_BASE + "optional" |
const std::string | SEQUENCE = TESLA_BASE + "sequence" |
const std::string | INLINE_ASSERTION = TESLA_BASE + "inline_assertion" |
const std::string | INSTR_BASE = TESLA_BASE + "instrumentation_" |
const std::string | STRUCT_INSTR = INSTR_BASE + "struct_field_" |
const std::string | LOAD = "load_" |
const std::string | STORE = "store_" |
const std::string | CALL = INSTR_BASE + "call" |
const std::string | RETURN = INSTR_BASE + "return" |
const std::string | CALLEE = "callee_" |
const std::string | CALLER = "caller_" |
const std::string | ENTER = "enter_" |
const std::string | EXIT = "return_" |
const std::string | FLAGS = TESLA_BASE + "flags" |
const std::string | MASK = TESLA_BASE + "mask" |
const std::string | ASSERTION_REACHED = INSTR_BASE + "assertion_reached" |
raw_ostream & | debug = debugs("tesla.instrumentation.field_assign") |
struct tesla::ManifestFile |
Class Members | ||
---|---|---|
repeated AutomatonDescription | automaton | All of the automata described by the manifest. |
repeated Usage | root | The automata that are actually used in their own right (as opposed to those that are only included by other automata). |
struct tesla::Usage |
Class Members | ||
---|---|---|
optional Expression | beginning | Where the automaton begins: a bound, a place for initialisation. |
optional Expression | end | Where the automataon ends: a bound, a place for cleanup. |
required Identifier | identifier | The identifier of the automaton in question. |
struct tesla::Identifier |
struct tesla::Location |
struct tesla::Sequence |
struct tesla::NowEvent |
struct tesla::FunctionRef |
struct tesla::StructField |
Class Members | ||
---|---|---|
required Argument | base | Reference to the structure. |
required int32 | index | Index of the field within the struct. |
required string | name | Name of the struct field. |
required string | type | Name of the structure type. |
typedef llvm::SmallVector<llvm::Value*,3> tesla::ArgVector |
A container for function arguments, which shouldn't be very numerous.
Definition at line 91 of file Instrumentation.h.
typedef std::map<Identifier,const AutomatonDescription*> tesla::AutomataMap |
Definition at line 63 of file Automaton.h.
typedef llvm::MutableArrayRef<const Argument*> tesla::MutableReferenceVector |
Definition at line 53 of file Transition.h.
typedef llvm::ArrayRef<const Argument*> tesla::ReferenceVector |
typedef llvm::SmallVector<State*,10> tesla::StateVector |
typedef llvm::SmallPtrSet<const Transition*,4> tesla::TEquivalenceClass |
A set of TESLA transitions that are considered equivalent.
Definition at line 61 of file Transition.h.
typedef std::vector<TEquivalenceClass> tesla::TransitionSets |
Sets of transition equivalence classes.
Definition at line 64 of file Transition.h.
typedef llvm::SmallVector<Transition*,10> tesla::TransitionVector |
Ungrouped transitions.
Definition at line 58 of file Transition.h.
typedef llvm::SmallVector<llvm::SmallVector<Transition*, 16>, 4> tesla::TransitionVectors |
Definition at line 66 of file Transition.h.
typedef llvm::SmallVector<llvm::Type*,3> tesla::TypeVector |
A container for a few types (e.g., of function arguments).
Definition at line 94 of file Instrumentation.h.
std::string tesla::ArgString | ( | const Argument * | A | ) |
Convert an Argument into something human-readable.
Definition at line 43 of file Names.cpp.
References tesla::StructField::base, tesla::Argument::field, tesla::Argument::index, tesla::Argument::indirection, tesla::StructField::name, tesla::Argument::name, ShortName(), and tesla::Argument::type.
llvm::Value* tesla::Cast | ( | llvm::Value * | From, |
llvm::StringRef | Name, | ||
llvm::Type * | NewType, | ||
llvm::IRBuilder<> & | |||
) |
Cast an integer-ish Value to another type.
We use this for casting to register_t, but it's possible that other integer types might work too. Maybe.
Referenced by tesla::FieldReferenceInstrumenter::runOnModule().
llvm::Value* tesla::ConstructKey | ( | llvm::IRBuilder<> & | Builder, |
llvm::Module & | M, | ||
llvm::Function::ArgumentListType & | InstrumentationArgs, | ||
FunctionEvent | FnEventDescription | ||
) |
Map instrumentation arguments into a tesla_key that can be used to look up automata.
Referenced by tesla::FieldInstrumentation::AppendInstrumentation(), and tesla::FnInstrumentation::AppendInstrumentation().
llvm::Value* tesla::ConstructKey | ( | llvm::IRBuilder<> & | , |
llvm::Module & | , | ||
llvm::ArrayRef< llvm::Value * > | Args | ||
) |
Map a set of values into a tesla_key.
llvm::Constant* tesla::ConstructTransition | ( | llvm::IRBuilder<> & | , |
llvm::Module & | , | ||
const Transition & | |||
) |
Construct a single tesla_transition.
llvm::Constant* tesla::ConstructTransitions | ( | llvm::IRBuilder<> & | , |
llvm::Module & | , | ||
const TEquivalenceClass & | |||
) |
Construct a tesla_transitions for a TEquivalenceClass.
Referenced by tesla::FieldInstrumentation::AppendInstrumentation(), and tesla::FnInstrumentation::AppendInstrumentation().
llvm::BasicBlock* tesla::CreateInstrPreamble | ( | llvm::Module & | Mod, |
llvm::Function * | F, | ||
const llvm::Twine & | Prefix, | ||
bool | SuppressDebugInstrumentation | ||
) |
Initialise the instrumentation function's preamble.
For instance, we might like to insert a (conditional) printf that describes the event being interpreted.
llvm::raw_ostream& tesla::debugs | ( | llvm::StringRef | DebugModuleName = "tesla" | ) |
Referenced by tesla::internal::DFABuilder::ConstructDFA(), tesla::Transition::GroupClasses(), tesla::internal::NFAParser::Parse(), and tesla::Transition::Register().
std::string tesla::DotName | ( | const Argument * | A | ) |
Convert an Argument into a very short name for GraphViz's dot.
Definition at line 106 of file Names.cpp.
References tesla::StructField::base, tesla::Argument::field, tesla::Argument::indirection, tesla::StructField::name, tesla::Argument::name, ShortName(), and tesla::Argument::type.
Referenced by tesla::FnTransition::DotLabel(), and InstanceName().
BasicBlock* tesla::FindBlock | ( | StringRef | Name, |
Function & | Fn | ||
) |
Definition at line 65 of file Instrumentation.cpp.
References panic().
Referenced by tesla::FnInstrumentation::AppendInstrumentation().
llvm::BasicBlock* tesla::FindBlock | ( | llvm::StringRef | Name, |
llvm::Function & | |||
) |
Find a BasicBlock within a Function.
llvm::Function* tesla::FindStateUpdateFn | ( | llvm::Module & | , |
llvm::Type * | IntType | ||
) |
Find the libtesla function tesla_update_state.
Referenced by tesla::FieldInstrumentation::AppendInstrumentation(), and tesla::FnInstrumentation::AppendInstrumentation().
const char* tesla::Format | ( | Type * | T | ) |
Definition at line 168 of file Instrumentation.cpp.
llvm::Function* tesla::FunctionInstrumentation | ( | llvm::Module & | , |
const llvm::Function & | , | ||
FunctionEvent::Direction | , | ||
FunctionEvent::CallContext | , | ||
bool | SuppressDebugInstr | ||
) |
Find (or create) one function-event instrumentation function.
Referenced by tesla::CalleeInstr::Build(), and tesla::CallerInstrumentation::Build().
std::string tesla::InstanceName | ( | const ReferenceVector & | Refs, |
bool | PlainAscii | ||
) |
Convert the name of an automata instance.
Definition at line 150 of file Names.cpp.
References DotName(), and ShortName().
Referenced by tesla::State::Dot(), and tesla::State::String().
llvm::Type* tesla::IntPtrType | ( | llvm::Module & | ) |
Extract the register_t type from an llvm::Module.
Referenced by KeyType().
StructType* tesla::KeyType | ( | Module & | M | ) |
Definition at line 127 of file Instrumentation.cpp.
References IntPtrType(), and TESLA_KEY_SIZE.
cl::opt<string> tesla::ManifestName | ( | "tesla-manifest" | , |
cl:: | init".tesla", | ||
cl::Hidden | , | ||
cl:: | desc"Name of TESLA manifest file" | ||
) |
Referenced by tesla::Manifest::defaultLocation(), and main().
BasicBlock * tesla::MatchPattern | ( | LLVMContext & | Ctx, |
StringRef | Name, | ||
Function * | Fn, | ||
BasicBlock * | MatchTarget, | ||
BasicBlock * | NonMatchTarget, | ||
Value * | Val, | ||
const tesla::Argument & | Pattern | ||
) |
Definition at line 416 of file Instrumentation.cpp.
References tesla::Argument::type, and tesla::Argument::value.
Referenced by tesla::FnInstrumentation::AppendInstrumentation().
|
inline |
Definition at line 46 of file Protocol.h.
|
inline |
Definition at line 147 of file Protocol.h.
References tesla::Location::counter, tesla::Location::filename, and tesla::Location::line.
|
inline |
Definition at line 159 of file Protocol.h.
References tesla::Identifier::location, and tesla::Identifier::name.
|
inline |
Definition at line 48 of file Protocol.h.
References tesla::Location::counter, tesla::Location::filename, and tesla::Location::line.
|
inline |
Definition at line 58 of file Protocol.h.
References tesla::Identifier::location, and tesla::Identifier::name.
|
inline |
Definition at line 65 of file Protocol.h.
References tesla::Argument::index, tesla::Argument::name, tesla::Argument::type, and tesla::Argument::value.
|
inline |
Definition at line 90 of file Protocol.h.
References tesla::NowEvent::location.
|
inline |
Definition at line 94 of file Protocol.h.
References tesla::FunctionRef::name.
|
inline |
Definition at line 98 of file Protocol.h.
References tesla::FunctionEvent::argument, tesla::FunctionEvent::context, tesla::FunctionEvent::direction, and tesla::FunctionEvent::function.
|
inline |
Definition at line 128 of file Protocol.h.
References tesla::StructField::base, tesla::StructField::index, tesla::StructField::name, and tesla::StructField::type.
|
inline |
Definition at line 137 of file Protocol.h.
References tesla::FieldAssignment::field, tesla::FieldAssignment::operation, tesla::FieldAssignment::strict, and tesla::FieldAssignment::value.
void tesla::panic | ( | llvm::Twine | Message, |
bool | PrintStackTrace = true |
||
) |
Referenced by tesla::FieldInstrumentation::AppendInstrumentation(), tesla::Manifest::FindAutomaton(), FindBlock(), tesla::TeslaConsumer::HandleTranslationUnit(), main(), tesla::internal::NFAParser::Parse(), and tesla::FieldReferenceInstrumenter::runOnModule().
Function* tesla::Printf | ( | Module & | Mod | ) |
void tesla::ReportError | ( | ASTContext & | Ctx, |
StringRef | Message, | ||
T * | Subject | ||
) |
Definition at line 45 of file Visitor.cpp.
std::string tesla::ShortName | ( | const Argument * | A | ) |
Convert an Argument into a very short, human-readable name.
Definition at line 82 of file Names.cpp.
References tesla::StructField::base, tesla::Argument::field, tesla::Argument::indirection, tesla::StructField::name, tesla::Argument::name, and tesla::Argument::type.
Referenced by ArgString(), tesla::FieldAssignTransition::DotLabel(), tesla::SubAutomatonTransition::DotLabel(), DotName(), tesla::Manifest::FindAutomaton(), InstanceName(), tesla::internal::NFAParser::Parse(), tesla::FnTransition::ShortLabel(), tesla::FieldAssignTransition::ShortLabel(), tesla::SubAutomatonTransition::ShortLabel(), ShortName(), and tesla::Transition::String().
std::string tesla::ShortName | ( | const Identifier & | ID | ) |
Convert an Identifier into a short, human-readable name.
Definition at line 133 of file Names.cpp.
References tesla::Identifier::location, tesla::Identifier::name, and ShortName().
std::string tesla::ShortName | ( | const Location & | Loc | ) |
Convert an Location into a short, human-readable name.
Definition at line 140 of file Names.cpp.
References tesla::Location::counter, tesla::Location::filename, and tesla::Location::line.
llvm::Function* tesla::StructInstrumentation | ( | llvm::Module & | , |
llvm::StructType * | , | ||
llvm::StringRef | FieldName, | ||
size_t | Index, | ||
bool | Store, | ||
bool | SuppressDebugInstr | ||
) |
Find (or create) one struct-field-event instrumentation function.
llvm::Constant* tesla::TeslaContext | ( | AutomatonDescription::Context | Context, |
llvm::LLVMContext & | Ctx | ||
) |
Find the constant for a libtesla context (either TESLA_CONTEXT_THREAD or TESLA_CONTEXT_GLOBAL).
Referenced by tesla::FieldInstrumentation::AppendInstrumentation(), tesla::FnInstrumentation::AppendInstrumentation(), and tesla::Parser::AssertionParser().
Function* tesla::TeslaDebugging | ( | Module & | Mod | ) |
llvm::StructType* tesla::TransitionSetType | ( | llvm::Module & | ) |
Extract the tesla_transitions type from an llvm::Module.
llvm::StructType* tesla::TransitionType | ( | llvm::Module & | ) |
Extract the tesla_transition type from an llvm::Module.
const std::string tesla::ANY = TESLA_BASE + "any" |
const std::string tesla::ASSERTION_REACHED = INSTR_BASE + "assertion_reached" |
const std::string tesla::AUTOMATON = TESLA_BASE + "automaton_" |
const std::string tesla::AUTOMATON_DESC = AUTOMATON + "description" |
Definition at line 55 of file Names.h.
Referenced by tesla::TeslaVisitor::VisitFunctionDecl().
const std::string tesla::AUTOMATON_MAPPING = AUTOMATON + "mapping" |
const std::string tesla::AUTOMATON_USAGE = AUTOMATON + "usage" |
Definition at line 57 of file Names.h.
Referenced by tesla::TeslaVisitor::VisitFunctionDecl().
const std::string tesla::AUTOMATON_USES = TESLA_BASE + "struct_uses_automaton" |
Definition at line 58 of file Names.h.
Referenced by tesla::Parser::MappingParser(), and tesla::TeslaVisitor::VisitFunctionDecl().
const std::string tesla::CALL = INSTR_BASE + "call" |
raw_ostream& tesla::debug = debugs("tesla.instrumentation.field_assign") |
Definition at line 57 of file FieldReference.cpp.
Referenced by tesla::FieldInstrumentation::AppendInstrumentation(), and tesla::FieldReferenceInstrumenter::runOnModule().
const std::string tesla::EVENT = TESLA_BASE + "event" |
const std::string tesla::FLAGS = TESLA_BASE + "flags" |
const std::string tesla::GLOBAL = TESLA_BASE + "global" |
const std::string tesla::IGNORE = TESLA_BASE + "ignore" |
const std::string tesla::INLINE_ASSERTION = TESLA_BASE + "inline_assertion" |
Definition at line 70 of file Names.h.
Referenced by tesla::Parser::AssertionParser(), tesla::AssertionSiteInstrumenter::runOnModule(), and tesla::TeslaVisitor::VisitCallExpr().
const std::string tesla::INSTR_BASE = TESLA_BASE + "instrumentation_" |
const std::string tesla::LLVM_PTR_ANNOTATION = "llvm.ptr.annotation" |
Definition at line 50 of file Names.h.
Referenced by tesla::FieldReferenceInstrumenter::runOnModule().
const std::string tesla::MASK = TESLA_BASE + "mask" |
const std::string tesla::NOW = TESLA_BASE + "now" |
const std::string tesla::OPTIONAL = TESLA_BASE + "optional" |
const std::string tesla::PERTHREAD = TESLA_BASE + "perthread" |
const std::string tesla::RETURN = INSTR_BASE + "return" |
const std::string tesla::SEQUENCE = TESLA_BASE + "sequence" |
const std::string tesla::STRUCT_INSTR = INSTR_BASE + "struct_field_" |
const std::string tesla::TESLA_BASE = "__tesla_" |
Definition at line 52 of file Names.h.
Referenced by tesla::TeslaVisitor::VisitCallExpr().