LLVM  8.0.1
InstructionSelect.h
Go to the documentation of this file.
1 //== llvm/CodeGen/GlobalISel/InstructionSelect.h -----------------*- C++ -*-==//
2 //
3 // The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9 /// \file This file describes the interface of the MachineFunctionPass
10 /// responsible for selecting (possibly generic) machine instructions to
11 /// target-specific instructions.
12 //===----------------------------------------------------------------------===//
13 
14 #ifndef LLVM_CODEGEN_GLOBALISEL_INSTRUCTIONSELECT_H
15 #define LLVM_CODEGEN_GLOBALISEL_INSTRUCTIONSELECT_H
16 
19 
20 namespace llvm {
21 /// This pass is responsible for selecting generic machine instructions to
22 /// target-specific instructions. It relies on the InstructionSelector provided
23 /// by the target.
24 /// Selection is done by examining blocks in post-order, and instructions in
25 /// reverse order.
26 ///
27 /// \post for all inst in MF: not isPreISelGenericOpcode(inst.opcode)
29 public:
30  static char ID;
31  StringRef getPassName() const override { return "InstructionSelect"; }
32 
33  void getAnalysisUsage(AnalysisUsage &AU) const override;
34 
40  }
41 
45  }
46 
48 
49  bool runOnMachineFunction(MachineFunction &MF) override;
50 };
51 } // End namespace llvm.
52 
53 #endif
This class represents lattice values for constants.
Definition: AllocatorList.h:24
MachineFunctionProperties getSetProperties() const override
MachineFunctionPass - This class adapts the FunctionPass interface to allow convenient creation of pa...
StringRef getPassName() const override
getPassName - Return a nice clean name for a pass.
void getAnalysisUsage(AnalysisUsage &AU) const override
getAnalysisUsage - This function should be overriden by passes that need analysis information to do t...
MachineFunctionProperties getRequiredProperties() const override
Represent the analysis usage information of a pass.
bool runOnMachineFunction(MachineFunction &MF) override
runOnMachineFunction - This method must be overloaded to perform the desired machine code transformat...
This pass is responsible for selecting generic machine instructions to target-specific instructions...
MachineFunctionProperties & set(Property P)
StringRef - Represent a constant reference to a string, i.e.
Definition: StringRef.h:49
Properties which a MachineFunction may have at a given point in time.