LLVM  10.0.0svn
MipsLegalizerInfo.h
Go to the documentation of this file.
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 
18 
19 namespace llvm {
20 
21 class MipsSubtarget;
22 
23 /// This class provides legalization strategies.
25 public:
27 
29  MachineIRBuilder &MIRBuilder,
30  GISelChangeObserver &Observer) const override;
31 
33  MachineIRBuilder &MIRBuilder) const override;
34 };
35 } // end namespace llvm
36 #endif
This class represents lattice values for constants.
Definition: AllocatorList.h:23
MipsLegalizerInfo(const MipsSubtarget &ST)
bool legalizeIntrinsic(MachineInstr &MI, MachineRegisterInfo &MRI, MachineIRBuilder &MIRBuilder) const override
Return true if MI is either legal or has been legalized and false if not legal.
This class provides legalization strategies.
Abstract class that contains various methods for clients to notify about changes. ...
unsigned const MachineRegisterInfo * MRI
Helper class to build MachineInstr.
MachineRegisterInfo - Keep track of information for virtual and physical registers, including vreg register classes, use/def chains for registers, etc.
Representation of each machine instruction.
Definition: MachineInstr.h:64
bool legalizeCustom(MachineInstr &MI, MachineRegisterInfo &MRI, MachineIRBuilder &MIRBuilder, GISelChangeObserver &Observer) const override
IRTranslator LLVM IR MI