MipsLegalizerInfo.h revision 360784
1//===- MipsLegalizerInfo ----------------------------------------*- C++ -*-===// 2// 3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4// See https://llvm.org/LICENSE.txt for license information. 5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6// 7//===----------------------------------------------------------------------===// 8/// \file 9/// This file declares the targeting of the Machinelegalizer class for Mips. 10/// \todo This should be generated by TableGen. 11//===----------------------------------------------------------------------===// 12 13#ifndef LLVM_LIB_TARGET_MIPS_MIPSMACHINELEGALIZER_H 14#define LLVM_LIB_TARGET_MIPS_MIPSMACHINELEGALIZER_H 15 16#include "llvm/CodeGen/GlobalISel/GISelChangeObserver.h" 17#include "llvm/CodeGen/GlobalISel/LegalizerInfo.h" 18 19namespace llvm { 20 21class MipsSubtarget; 22 23/// This class provides legalization strategies. 24class MipsLegalizerInfo : public LegalizerInfo { 25public: 26 MipsLegalizerInfo(const MipsSubtarget &ST); 27 28 bool legalizeCustom(MachineInstr &MI, MachineRegisterInfo &MRI, 29 MachineIRBuilder &MIRBuilder, 30 GISelChangeObserver &Observer) const override; 31 32 bool legalizeIntrinsic(MachineInstr &MI, MachineRegisterInfo &MRI, 33 MachineIRBuilder &MIRBuilder) const override; 34}; 35} // end namespace llvm 36#endif 37