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 HoutryveStringRef 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