diff options
Diffstat (limited to 'src/mir/optimise.cpp')
-rw-r--r-- | src/mir/optimise.cpp | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/src/mir/optimise.cpp b/src/mir/optimise.cpp index 0ddd8d3d..2cc81258 100644 --- a/src/mir/optimise.cpp +++ b/src/mir/optimise.cpp @@ -589,16 +589,19 @@ bool MIR_OptimiseInline(const StaticTraitResolve& resolve, const ::HIR::ItemPath rv = true; } - MIR_Optimise_BlockSimplify(state, fcn); - MIR_Optimise_UnifyBlocks(state, fcn); + if( rv ) + { + MIR_Optimise_BlockSimplify(state, fcn); + MIR_Optimise_UnifyBlocks(state, fcn); - MIR_Optimise_GarbageCollect(state, fcn); - //MIR_Validate_Full(resolve, path, fcn, args, ret_type); - MIR_SortBlocks(resolve, path, fcn); + MIR_Optimise_GarbageCollect(state, fcn); + //MIR_Validate_Full(resolve, path, fcn, args, ret_type); + MIR_SortBlocks(resolve, path, fcn); #if CHECK_AFTER_DONE > 1 - MIR_Validate(resolve, path, fcn, args, ret_type); + MIR_Validate(resolve, path, fcn, args, ret_type); #endif + } return rv; } @@ -3731,7 +3734,7 @@ void MIR_OptimiseCrate_Inlining(const ::HIR::Crate& crate, TransList& list) for(auto& fcn_ent : list.m_functions) { const auto& path = fcn_ent.first; - const auto& pp = fcn_ent.second->pp; + //const auto& pp = fcn_ent.second->pp; auto& hir_fcn = *const_cast<::HIR::Function*>(fcn_ent.second->ptr); auto& mono_fcn = fcn_ent.second->monomorphised; |