LLVM
15.0.0git
include
llvm
CodeGen
ScheduleDAGMutation.h
Go to the documentation of this file.
1
//===- ScheduleDAGMutation.h - MachineInstr Scheduling ----------*- 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
//
9
// This file implements the ScheduleDAGMutation class, which represents
10
// a target-specific mutation of the dependency graph for scheduling.
11
//
12
//===----------------------------------------------------------------------===//
13
14
#ifndef LLVM_CODEGEN_SCHEDULEDAGMUTATION_H
15
#define LLVM_CODEGEN_SCHEDULEDAGMUTATION_H
16
17
namespace
llvm
{
18
19
class
ScheduleDAGInstrs;
20
21
/// Mutate the DAG as a postpass after normal DAG building.
22
class
ScheduleDAGMutation
{
23
virtual
void
anchor();
24
25
public
:
26
virtual
~ScheduleDAGMutation
() =
default
;
27
28
virtual
void
apply
(
ScheduleDAGInstrs
*DAG) = 0;
29
};
30
31
}
// end namespace llvm
32
33
#endif // LLVM_CODEGEN_SCHEDULEDAGMUTATION_H
llvm
This is an optimization pass for GlobalISel generic memory operations.
Definition:
AddressRanges.h:17
llvm::ScheduleDAGMutation::~ScheduleDAGMutation
virtual ~ScheduleDAGMutation()=default
llvm::ScheduleDAGMutation
Mutate the DAG as a postpass after normal DAG building.
Definition:
ScheduleDAGMutation.h:22
llvm::ScheduleDAGInstrs
A ScheduleDAG for scheduling lists of MachineInstr.
Definition:
ScheduleDAGInstrs.h:119
llvm::ScheduleDAGMutation::apply
virtual void apply(ScheduleDAGInstrs *DAG)=0
Generated on Sat Jun 25 2022 12:53:53 for LLVM by
1.8.17