//===- llvm/MC/MCSubtargetInfo.h - Subtarget Information --------*- 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 // //===----------------------------------------------------------------------===// // // This file describes the subtarget options of a Target machine. // //===----------------------------------------------------------------------===// #ifndef LLVM_MC_MCSUBTARGETINFO_H #define LLVM_MC_MCSUBTARGETINFO_H #include "llvm/ADT/ArrayRef.h" #include "llvm/ADT/STLExtras.h" #include "llvm/ADT/StringRef.h" #include "llvm/MC/MCInstrItineraries.h" #include "llvm/MC/MCSchedule.h" #include "llvm/TargetParser/SubtargetFeature.h" #include "llvm/TargetParser/Triple.h" #include <cassert> #include <cstdint> #include <optional> #include <string> namespace llvm { class MCInst; //===----------------------------------------------------------------------===// /// Used to provide key value pairs for feature and CPU bit flags. struct SubtargetFeatureKV { … }; //===----------------------------------------------------------------------===// /// Used to provide key value pairs for feature and CPU bit flags. struct SubtargetSubTypeKV { … }; //===----------------------------------------------------------------------===// /// /// Generic base class for all target subtargets. /// class MCSubtargetInfo { … }; } // end namespace llvm #endif // LLVM_MC_MCSUBTARGETINFO_H