ScheduleDAGMutation.h revision 321369
1321369Sdim//===- ScheduleDAGMutation.h - MachineInstr Scheduling ----------*- C++ -*-===// 2303231Sdim// 3303231Sdim// The LLVM Compiler Infrastructure 4303231Sdim// 5303231Sdim// This file is distributed under the University of Illinois Open Source 6303231Sdim// License. See LICENSE.TXT for details. 7303231Sdim// 8303231Sdim//===----------------------------------------------------------------------===// 9303231Sdim// 10303231Sdim// This file implements the ScheduleDAGMutation class, which represents 11303231Sdim// a target-specific mutation of the dependency graph for scheduling. 12303231Sdim// 13303231Sdim//===----------------------------------------------------------------------===// 14303231Sdim 15303231Sdim#ifndef LLVM_CODEGEN_SCHEDULEDAGMUTATION_H 16303231Sdim#define LLVM_CODEGEN_SCHEDULEDAGMUTATION_H 17303231Sdim 18303231Sdimnamespace llvm { 19303231Sdim 20321369Sdimclass ScheduleDAGInstrs; 21303231Sdim 22321369Sdim/// Mutate the DAG as a postpass after normal DAG building. 23321369Sdimclass ScheduleDAGMutation { 24321369Sdim virtual void anchor(); 25303231Sdim 26321369Sdimpublic: 27321369Sdim virtual ~ScheduleDAGMutation() = default; 28321369Sdim 29321369Sdim virtual void apply(ScheduleDAGInstrs *DAG) = 0; 30321369Sdim}; 31321369Sdim 32321369Sdim} // end namespace llvm 33321369Sdim 34321369Sdim#endif // LLVM_CODEGEN_SCHEDULEDAGMUTATION_H 35