[turbofan] add flag for register allocation verification
BUG= Review URL: https://codereview.chromium.org/798873008 Cr-Commit-Position: refs/heads/master@{#26074}
This commit is contained in:
parent
3706a50457
commit
63cde592e0
@ -247,15 +247,6 @@ class PipelineData {
|
||||
};
|
||||
|
||||
|
||||
static inline bool VerifyGraphs() {
|
||||
#ifdef DEBUG
|
||||
return true;
|
||||
#else
|
||||
return FLAG_turbo_verify;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
struct TurboCfgFile : public std::ofstream {
|
||||
explicit TurboCfgFile(Isolate* isolate)
|
||||
: std::ofstream(isolate->GetTurboCfgFileName().c_str(),
|
||||
@ -534,7 +525,7 @@ struct ComputeSchedulePhase {
|
||||
void Run(PipelineData* data, Zone* temp_zone) {
|
||||
Schedule* schedule = Scheduler::ComputeSchedule(temp_zone, data->graph());
|
||||
TraceSchedule(schedule);
|
||||
if (VerifyGraphs()) ScheduleVerifier::Run(schedule);
|
||||
if (FLAG_turbo_verify) ScheduleVerifier::Run(schedule);
|
||||
data->set_schedule(schedule);
|
||||
}
|
||||
};
|
||||
@ -753,7 +744,7 @@ void Pipeline::RunPrintAndVerify(const char* phase, bool untyped) {
|
||||
if (FLAG_trace_turbo) {
|
||||
Run<PrintGraphPhase>(phase);
|
||||
}
|
||||
if (VerifyGraphs()) {
|
||||
if (FLAG_turbo_verify) {
|
||||
Run<VerifyGraphPhase>(untyped);
|
||||
}
|
||||
}
|
||||
@ -990,10 +981,7 @@ void Pipeline::GenerateCode(Linkage* linkage) {
|
||||
|
||||
BeginPhaseKind("register allocation");
|
||||
|
||||
bool run_verifier = false;
|
||||
#ifdef DEBUG
|
||||
run_verifier = true;
|
||||
#endif
|
||||
bool run_verifier = FLAG_turbo_verify_allocation;
|
||||
// Allocate registers.
|
||||
AllocateRegisters(RegisterConfiguration::ArchDefault(), run_verifier);
|
||||
if (data->compilation_failed()) {
|
||||
|
@ -114,6 +114,11 @@ struct MaybeBoolFlag {
|
||||
};
|
||||
#endif
|
||||
|
||||
#ifdef DEBUG
|
||||
#define DEBUG_BOOL true
|
||||
#else
|
||||
#define DEBUG_BOOL false
|
||||
#endif
|
||||
#if (defined CAN_USE_VFP3_INSTRUCTIONS) || !(defined ARM_TEST_NO_FEATURE_PROBE)
|
||||
#define ENABLE_VFP3_DEFAULT true
|
||||
#else
|
||||
@ -384,7 +389,7 @@ DEFINE_BOOL(trace_turbo_scheduler, false, "trace TurboFan's scheduler")
|
||||
DEFINE_BOOL(trace_turbo_reduction, false, "trace TurboFan's various reducers")
|
||||
DEFINE_BOOL(trace_turbo_jt, false, "trace TurboFan's jump threading")
|
||||
DEFINE_BOOL(turbo_asm, true, "enable TurboFan for asm.js code")
|
||||
DEFINE_BOOL(turbo_verify, false, "verify TurboFan graphs at each phase")
|
||||
DEFINE_BOOL(turbo_verify, DEBUG_BOOL, "verify TurboFan graphs at each phase")
|
||||
DEFINE_BOOL(turbo_stats, false, "print TurboFan statistics")
|
||||
DEFINE_BOOL(turbo_types, true, "use typed lowering in TurboFan")
|
||||
DEFINE_BOOL(turbo_source_positions, false,
|
||||
@ -403,7 +408,8 @@ DEFINE_BOOL(turbo_profiling, false, "enable profiling in TurboFan")
|
||||
// TODO(dcarney): this is just for experimentation, remove when default.
|
||||
DEFINE_BOOL(turbo_delay_ssa_decon, false,
|
||||
"delay ssa deconstruction in TurboFan register allocator")
|
||||
// TODO(dcarney): this is just for debugging, remove eventually.
|
||||
DEFINE_BOOL(turbo_verify_allocation, DEBUG_BOOL,
|
||||
"verify register allocation in TurboFan")
|
||||
DEFINE_BOOL(turbo_move_optimization, true, "optimize gap moves in TurboFan")
|
||||
DEFINE_BOOL(turbo_jt, true, "enable jump threading in TurboFan")
|
||||
DEFINE_BOOL(turbo_osr, false, "enable OSR in TurboFan")
|
||||
|
Loading…
Reference in New Issue
Block a user