Class AutomaticIRMetadataGuard

class AutomaticIRMetadataGuard

Public Functions

AutomaticIRMetadataGuard(CgenState *cgen_state, const std::string &ppfile, const size_t ppline, const std::string &ppfunc)
~AutomaticIRMetadataGuard()
void done()
void rememberPreexistingInstructions()
void rememberOurInstructions()
void markInstructions()

Private Types

using OurInstructions = std::unordered_map<llvm::Instruction *, InstructionInfo>

Private Functions

std::string makeBaseFilename()
std::string makeQueryEngineFilename()
std::string replacePunctuation(std::string text)

Private Members

CgenState *cgen_state_
const std::string ppfile_
const size_t ppline_
const std::string ppfunc_
std::unordered_set<llvm::Instruction *> preexisting_instructions_
OurInstructions *our_instructions_
bool done_
bool this_is_root_
bool enabled_

Private Static Attributes

std::unordered_map<CgenState *, OurInstructions> instructions_
const std::string detailed_footnote_prefix_ = {"Omnisci Debugging Info: "}
std::mutex instructions_mutex_
struct InstructionInfo

Public Members

std::string main_filename_
std::string detailed_footnote_