]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/llvm/lib/Target/X86/X86MacroFusion.h
Merge clang trunk r300422 and resolve conflicts.
[FreeBSD/FreeBSD.git] / contrib / llvm / lib / Target / X86 / X86MacroFusion.h
1 //===- X86MacroFusion.h - X86 Macro Fusion --------------------------------===//
2 //
3 //                     The LLVM Compiler Infrastructure
4 //
5 // \file This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9 //
10 // This file contains the X86 definition of the DAG scheduling mutation to pair
11 // instructions back to back.
12 //
13 //===----------------------------------------------------------------------===//
14
15 #include "X86InstrInfo.h"
16 #include "llvm/CodeGen/MachineScheduler.h"
17
18 //===----------------------------------------------------------------------===//
19 // X86MacroFusion - DAG post-processing to encourage fusion of macro ops.
20 //===----------------------------------------------------------------------===//
21
22 namespace llvm {
23
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();
29
30 } // end namespace llvm