blob: e5efedd9fbfd9a5ec67b69deadffcaa93b0621c9 [file] [log] [blame]
Evandro Menezes94edf022017-02-01 02:54:34 +00001//===- AArch64MacroFusion.h - AArch64 Macro Fusion ------------------------===//
2//
3// The LLVM Compiler Infrastructure
4//
5// \fileThis 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 AArch64 definition of the DAG scheduling mutation
11// to pair instructions back to back.
12//
13//===----------------------------------------------------------------------===//
14
15#include "AArch64InstrInfo.h"
16#include "llvm/CodeGen/MachineScheduler.h"
17
18//===----------------------------------------------------------------------===//
19// AArch64MacroFusion - DAG post-processing to encourage fusion of macro ops.
20//===----------------------------------------------------------------------===//
21
22namespace llvm {
23
24/// Note that you have to add:
25/// DAG.addMutation(createAArch64MacroFusionDAGMutation());
26/// to AArch64PassConfig::createMachineScheduler() to have an effect.
27std::unique_ptr<ScheduleDAGMutation> createAArch64MacroFusionDAGMutation();
28
29} // llvm