36 lines · c
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-exception6//7//===----------------------------------------------------------------------===//8/// \file9/// 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_H14#define LLVM_LIB_TARGET_MIPS_MIPSMACHINELEGALIZER_H15 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(LegalizerHelper &Helper, MachineInstr &MI,29 LostDebugLocObserver &LocObserver) const override;30 31 bool legalizeIntrinsic(LegalizerHelper &Helper,32 MachineInstr &MI) const override;33};34} // end namespace llvm35#endif36