xref: /llvm-project/llvm/utils/TableGen/Common/GlobalISel/CombinerUtils.cpp (revision 4f9aab2b500d3df0cc5d54f2d29c8199507af66c)
1*4f9aab2bSPierre van Houtryve //===- CombinerUtils.cpp --------------------------------------------------===//
2*4f9aab2bSPierre van Houtryve //
3*4f9aab2bSPierre van Houtryve // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4*4f9aab2bSPierre van Houtryve // See https://llvm.org/LICENSE.txt for license information.
5*4f9aab2bSPierre van Houtryve // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6*4f9aab2bSPierre van Houtryve //
7*4f9aab2bSPierre van Houtryve //===----------------------------------------------------------------------===//
8*4f9aab2bSPierre van Houtryve 
9*4f9aab2bSPierre van Houtryve #include "CombinerUtils.h"
10*4f9aab2bSPierre van Houtryve #include "llvm/ADT/StringSet.h"
11*4f9aab2bSPierre van Houtryve 
12*4f9aab2bSPierre van Houtryve namespace llvm {
13*4f9aab2bSPierre van Houtryve 
insertStrRef(StringRef S)14*4f9aab2bSPierre van Houtryve StringRef insertStrRef(StringRef S) {
15*4f9aab2bSPierre van Houtryve   if (S.empty())
16*4f9aab2bSPierre van Houtryve     return {};
17*4f9aab2bSPierre van Houtryve 
18*4f9aab2bSPierre van Houtryve   static StringSet<> Pool;
19*4f9aab2bSPierre van Houtryve   auto [It, Inserted] = Pool.insert(S);
20*4f9aab2bSPierre van Houtryve   return It->getKey();
21*4f9aab2bSPierre van Houtryve }
22*4f9aab2bSPierre van Houtryve 
23*4f9aab2bSPierre van Houtryve } // namespace llvm
24