From 1598dc84bd61226b19c3a012ee72498f1df66758 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Nicolai=20H=C3=A4hnle?= Date: Thu, 1 Dec 2022 12:24:01 +0100 Subject: [PATCH] GISel/Combiner: maintain created instructions in a SetVector This is not a correctness fix because the set is only used for debug output. However, it helps avoid noise when looking at diffs between compiler runs. The set is only maintained with debug output enabled, so the added cost should be acceptable. Differential Revision: https://reviews.llvm.org/D139465 --- llvm/lib/CodeGen/GlobalISel/Combiner.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/llvm/lib/CodeGen/GlobalISel/Combiner.cpp b/llvm/lib/CodeGen/GlobalISel/Combiner.cpp index 5b1f20a..748fa27 100644 --- a/llvm/lib/CodeGen/GlobalISel/Combiner.cpp +++ b/llvm/lib/CodeGen/GlobalISel/Combiner.cpp @@ -12,6 +12,7 @@ #include "llvm/CodeGen/GlobalISel/Combiner.h" #include "llvm/ADT/PostOrderIterator.h" +#include "llvm/ADT/SetVector.h" #include "llvm/CodeGen/GlobalISel/CSEInfo.h" #include "llvm/CodeGen/GlobalISel/CSEMIRBuilder.h" #include "llvm/CodeGen/GlobalISel/CombinerInfo.h" @@ -52,7 +53,9 @@ class WorkListMaintainer : public GISelChangeObserver { WorkListTy &WorkList; /// The instructions that have been created but we want to report once they /// have their operands. This is only maintained if debug output is requested. - SmallPtrSet CreatedInstrs; +#ifndef NDEBUG + SetVector CreatedInstrs; +#endif public: WorkListMaintainer(WorkListTy &WorkList) : WorkList(WorkList) {} -- 2.7.4