1 //===- X86MacroFusion.h - X86 Macro Fusion --------------------------------===//
3 // The LLVM Compiler Infrastructure
5 // \file This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 // This file contains the X86 definition of the DAG scheduling mutation to pair
11 // instructions back to back.
13 //===----------------------------------------------------------------------===//
15 #include "X86InstrInfo.h"
16 #include "llvm/CodeGen/MachineScheduler.h"
18 //===----------------------------------------------------------------------===//
19 // X86MacroFusion - DAG post-processing to encourage fusion of macro ops.
20 //===----------------------------------------------------------------------===//
24 /// Note that you have to add:
25 /// DAG.addMutation(createX86MacroFusionDAGMutation());
26 /// to X86PassConfig::createMachineScheduler() to have an effect.
27 std::unique_ptr<ScheduleDAGMutation>
28 createX86MacroFusionDAGMutation();
30 } // end namespace llvm