From eaa7f157e486d9ab6a986b726d34e7e81451efb8 Mon Sep 17 00:00:00 2001 From: Jonathan Worthington Date: Wed, 15 May 2019 14:33:11 +0200 Subject: [PATCH] Extra DU chain check after PEA phase To help understand if that's where the problems came from. --- src/spesh/optimize.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/spesh/optimize.c b/src/spesh/optimize.c index e2b27a93ed..058c1ba75a 100644 --- a/src/spesh/optimize.c +++ b/src/spesh/optimize.c @@ -3339,8 +3339,12 @@ void MVM_spesh_optimize(MVMThreadContext *tc, MVMSpeshGraph *g, MVMSpeshPlanned /* Perform partial escape analysis at this point, which may make more * information available, or give more `set` instructions for the `set` * elimination in the post-inline pass to get rid of. */ - if (tc->instance->spesh_pea_enabled) + if (tc->instance->spesh_pea_enabled) { MVM_spesh_pea(tc, g); +#if MVM_SPESH_CHECK_DU + MVM_spesh_usages_check(tc, g); +#endif + } /* Make a post-inline pass through the graph doing things that are better * done after inlinings have taken place. Note that these things must not