Skip to content
Snippets Groups Projects
Commit 0b899273 authored by Clark Coleman's avatar Clark Coleman
Browse files

Short circuiting analyses not needed for DEADREGS annotations.

parent 0578a732
No related branches found
No related tags found
1 merge request!25Faster deadregs
Pipeline #17793 passed
......@@ -93,6 +93,7 @@ class STARS_Program_t
void SetLoopAnalysesFlag(bool FlagValue) { STARS_PerformDeepLoopAnalyses = FlagValue; };
void SetConstantPropagationFlag(bool FlagValue) { STARS_PerformConstantPropagation = FlagValue; };
void SetSPARKFlag(bool FlagValue) { STARS_TranslateToSPARKAda = FlagValue; };
void SetFastDeadRegsFlag(bool FlagValue) { STARS_FastDeadRegs = FlagValue; };
void SetRootFileName(std::string NewName) { RootFileName = NewName; AnnotFileName = NewName + ".annot"; InfoAnnotFileName = NewName + ".infoannot"; };
void IncrementOptCount(std::size_t OptCategory) { ++OptCount[OptCategory]; }; // increment optimizing annotation count
void IncrementAnnotationCount(std::size_t OptCategory) { ++AnnotationCount[OptCategory]; }; // increment total annotation count
......@@ -112,6 +113,7 @@ class STARS_Program_t
bool ShouldSTARSPerformDeepLoopAnalyses(void) const { return STARS_PerformDeepLoopAnalyses; };
bool ShouldSTARSPerformConstantPropagation(void) const { return STARS_PerformConstantPropagation; };
bool ShouldSTARSTranslateToSPARKAda(void) const { return STARS_TranslateToSPARKAda; };
bool ShouldSTARSDoFastDeadRegs(void) const { return STARS_FastDeadRegs; };
bool IsIDAProDriverMode(void) const { return IDAProDriver; };
bool IsSharedObject(void) const { return SharedObjectFlag; };
bool IsLocationWhitelisted(ZST_SysCallType CallType, std::string LocationName) const;
......@@ -225,6 +227,7 @@ class STARS_Program_t
bool STARS_PerformDeepLoopAnalyses; // analyze loop induction vars, iteration counts, memory ranges
bool STARS_PerformConstantPropagation; // perform constant propagation; results available to loop, CFG, and shadowing
bool STARS_TranslateToSPARKAda; // emit translation of code to SPARK Ada with proof contracts
bool STARS_FastDeadRegs; // After analysis for DEADREGS annotation completes, skip remaining analyses.
// Total code size for the program in bytes.
unsigned long long STARS_TotalCodeSize;
......
This diff is collapsed.
......@@ -358,6 +358,7 @@ void STARS_Program_t::InitData(void) {
this->STARS_PerformDeepLoopAnalyses = false;
this->STARS_PerformConstantPropagation = false;
this->STARS_TranslateToSPARKAda = false;
this->STARS_FastDeadRegs = false;
this->DataReferentID = 1;
this->ShadowID = 1;
this->ExprSerialNumber = 0;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment