diff options
author | John Hodge <tpg@mutabah.net> | 2016-11-04 11:35:05 +0800 |
---|---|---|
committer | John Hodge <tpg@mutabah.net> | 2016-11-04 11:35:05 +0800 |
commit | d45ed7dacfb36edc80127ff90b1bdc0ca2279a2a (patch) | |
tree | 13be3f98551b368e4544f1c67db4aa4af64bebdf /src/mir/mir_builder.cpp | |
parent | 59ae3040b5805d2a68773cbac897d3f96fb73921 (diff) | |
download | mrust-d45ed7dacfb36edc80127ff90b1bdc0ca2279a2a.tar.gz |
MIR Gen - (minor) Split a large TU_MATCH to improve compiler debug
Diffstat (limited to 'src/mir/mir_builder.cpp')
-rw-r--r-- | src/mir/mir_builder.cpp | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/mir/mir_builder.cpp b/src/mir/mir_builder.cpp index f0cb8f27..c2667025 100644 --- a/src/mir/mir_builder.cpp +++ b/src/mir/mir_builder.cpp @@ -505,6 +505,7 @@ void MirBuilder::end_split_arm_early(const Span& sp) void MirBuilder::complete_scope(ScopeDef& sd) { sd.complete = true; + TU_MATCHA( (sd.data), (e), (Temporaries, DEBUG("Temporaries " << e.temporaries); @@ -516,8 +517,16 @@ void MirBuilder::complete_scope(ScopeDef& sd) DEBUG("Loop"); ), (Split, + ) + ) + + // No macro for better debug output. + if( sd.data.is_Split() ) + { + auto& e = sd.data.as_Split(); + assert( e.arms.size() > 1 ); - DEBUG("Split - " << (e.arms.size() - 1) << " arms"); + TRACE_FUNCTION_F("Split - " << (e.arms.size() - 1) << " arms"); e.arms.pop_back(); // Merge all arms and apply upwards @@ -643,8 +652,7 @@ void MirBuilder::complete_scope(ScopeDef& sd) //} } } - ) - ) + } } void MirBuilder::with_val_type(const Span& sp, const ::MIR::LValue& val, ::std::function<void(const ::HIR::TypeRef&)> cb) |