blob: d4ae54f657a5bf56dfd2d87de625e79f4e59d902 [file] [log] [blame]
Evandro Menezes94edf022017-02-01 02:54:34 +00001//===- X86MacroFusion.h - X86 Macro Fusion --------------------------------===//
2//
Chandler Carruth2946cd72019-01-19 08:50:56 +00003// 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
Evandro Menezes94edf022017-02-01 02:54:34 +00006//
7//===----------------------------------------------------------------------===//
8//
Florian Hahn5f746c82017-06-19 12:53:31 +00009/// \file This file contains the X86 definition of the DAG scheduling mutation
10/// to pair instructions back to back.
Evandro Menezes94edf022017-02-01 02:54:34 +000011//
12//===----------------------------------------------------------------------===//
13
Argyrios Kyrtzidisc30340b2018-09-03 16:22:05 +000014#ifndef LLVM_LIB_TARGET_X86_X86MACROFUSION_H
15#define LLVM_LIB_TARGET_X86_X86MACROFUSION_H
16
Evandro Menezes94edf022017-02-01 02:54:34 +000017#include "llvm/CodeGen/MachineScheduler.h"
18
Evandro Menezes94edf022017-02-01 02:54:34 +000019namespace llvm {
20
21/// Note that you have to add:
22/// DAG.addMutation(createX86MacroFusionDAGMutation());
23/// to X86PassConfig::createMachineScheduler() to have an effect.
24std::unique_ptr<ScheduleDAGMutation>
25createX86MacroFusionDAGMutation();
26
27} // end namespace llvm
Argyrios Kyrtzidisc30340b2018-09-03 16:22:05 +000028
29#endif