//===- GISelWorkList.h - Worklist for GISel passes ----*- C++ -*-===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// #ifndef LLVM_CODEGEN_GLOBALISEL_GISELWORKLIST_H #define LLVM_CODEGEN_GLOBALISEL_GISELWORKLIST_H #include "llvm/ADT/DenseMap.h" #include "llvm/ADT/SmallVector.h" namespace llvm { class MachineInstr; // Worklist which mostly works similar to InstCombineWorkList, but on // MachineInstrs. The main difference with something like a SetVector is that // erasing an element doesn't move all elements over one place - instead just // nulls out the element of the vector. // // FIXME: Does it make sense to factor out common code with the // instcombinerWorkList? template<unsigned N> class GISelWorkList { … }; } // end namespace llvm. #endif