//===- llvm/CodeGen/GlobalISel/Types.h - Types used by GISel ----*- 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 // //===----------------------------------------------------------------------===// /// /// \file /// This file describes high level types that are used by several passes or /// APIs involved in the GlobalISel pipeline. //===----------------------------------------------------------------------===// #ifndef LLVM_CODEGEN_GLOBALISEL_TYPES_H #define LLVM_CODEGEN_GLOBALISEL_TYPES_H #include "llvm/ADT/DenseMap.h" namespace llvm { class Value; /// Map a value to a virtual register. /// For now, we chose to map aggregate types to on single virtual /// register. This might be revisited if it turns out to be inefficient. /// PR26161 tracks that. /// Note: We need to expose this type to the target hooks for thing like /// ABI lowering that would be used during IRTranslation. using ValueToVReg = DenseMap; } // end namespace llvm #endif // LLVM_CODEGEN_GLOBALISEL_TYPES_H