There are some stability issues in the ROC runtime or drivers when we
run too many tests in quick succession.  I was hoping this patch might
fix it, but no; still good to fix the omissions though.

Committed to mainline.

gcc/ChangeLog:

        * config/gcn/gcn-run.cc (main): Add an hsa_memory_free calls for each
        device_malloc call.
---
 gcc/config/gcn/gcn-run.cc | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/gcc/config/gcn/gcn-run.cc b/gcc/config/gcn/gcn-run.cc
index d45ff3e6c2ba..2f3ed2d41d2f 100644
--- a/gcc/config/gcn/gcn-run.cc
+++ b/gcc/config/gcn/gcn-run.cc
@@ -755,7 +755,13 @@ main (int argc, char *argv[])
 
   /* Clean shut down.  */
   XHSA (hsa_fns.hsa_memory_free_fn (kernargs),
-       "Clean up device memory");
+       "Clean up device kernargs memory");
+  XHSA (hsa_fns.hsa_memory_free_fn (args),
+       "Clean up device args memory");
+  XHSA (hsa_fns.hsa_memory_free_fn (heap),
+       "Clean up device heap memory");
+  XHSA (hsa_fns.hsa_memory_free_fn (stack),
+       "Clean up device stack memory");
   XHSA (hsa_fns.hsa_executable_destroy_fn (executable),
        "Clean up GCN executable");
   XHSA (hsa_fns.hsa_queue_destroy_fn (queue),
-- 
2.41.0

Reply via email to