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 |
Collaboration diagram for 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 |
Collaboration diagram for 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 |
Collaboration diagram for tesla::FunctionRef:| struct tesla::StructField |
Collaboration diagram for 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.
Here is the call graph for this function:| 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().
Here is the caller graph for this function:| 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().
Here is the caller graph for this function:| 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().
Here is the caller graph for this function:| 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().
Here is the caller graph for this function:| 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().
Here is the call graph for this function:
Here is the caller graph for this function:| BasicBlock* tesla::FindBlock | ( | StringRef | Name, |
| Function & | Fn | ||
| ) |
Definition at line 65 of file Instrumentation.cpp.
References panic().
Referenced by tesla::FnInstrumentation::AppendInstrumentation().
Here is the call graph for this function:
Here is the caller graph for this function:| 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().
Here is the caller graph for this function:| 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().
Here is the caller graph for this function:| 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().
Here is the call graph for this function:
Here is the caller graph for this function:| llvm::Type* tesla::IntPtrType | ( | llvm::Module & | ) |
Extract the register_t type from an llvm::Module.
Referenced by KeyType().
Here is the caller graph for this function:| StructType* tesla::KeyType | ( | Module & | M | ) |
Definition at line 127 of file Instrumentation.cpp.
References IntPtrType(), and TESLA_KEY_SIZE.
Here is the call graph for this function:| 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().
Here is the caller graph for this function:| 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().
Here is the caller graph for this function:
|
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().
Here is the caller graph for this function:| 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().
Here is the caller graph for this function:| 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().
Here is the call graph for this function:| 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().
Here is the caller graph for this function:| 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().