LLVM  9.0.0svn
AMDGPULegalizerInfo.h
Go to the documentation of this file.
1 //===- AMDGPULegalizerInfo ---------------------------------------*- 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
10 /// AMDGPU.
11 /// \todo This should be generated by TableGen.
12 //===----------------------------------------------------------------------===//
13 
14 #ifndef LLVM_LIB_TARGET_AMDGPU_AMDGPUMACHINELEGALIZER_H
15 #define LLVM_LIB_TARGET_AMDGPU_AMDGPUMACHINELEGALIZER_H
16 
18 
19 namespace llvm {
20 
21 class GCNTargetMachine;
22 class LLVMContext;
23 class GCNSubtarget;
24 
25 /// This class provides the information for the target register banks.
27 public:
29  const GCNTargetMachine &TM);
30 
32  MachineIRBuilder &MIRBuilder,
33  GISelChangeObserver &Observer) const override;
34 
35  unsigned getSegmentAperture(unsigned AddrSpace,
37  MachineIRBuilder &MIRBuilder) const;
38 
40  MachineIRBuilder &MIRBuilder) const;
41 };
42 } // End llvm namespace.
43 #endif
This class represents lattice values for constants.
Definition: AllocatorList.h:23
unsigned getSegmentAperture(unsigned AddrSpace, MachineRegisterInfo &MRI, MachineIRBuilder &MIRBuilder) const
Abstract class that contains various methods for clients to notify about changes. ...
unsigned const MachineRegisterInfo * MRI
Helper class to build MachineInstr.
AMDGPULegalizerInfo(const GCNSubtarget &ST, const GCNTargetMachine &TM)
bool legalizeAddrSpaceCast(MachineInstr &MI, MachineRegisterInfo &MRI, MachineIRBuilder &MIRBuilder) const
This class provides the information for the target register banks.
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:63
bool legalizeCustom(MachineInstr &MI, MachineRegisterInfo &MRI, MachineIRBuilder &MIRBuilder, GISelChangeObserver &Observer) const override
IRTranslator LLVM IR MI