2017-06-22 17:39:36 +08:00
|
|
|
//===- ARMMacroFusion.h - ARM Macro Fusion ------------------------===//
|
|
|
|
//
|
2019-01-19 16:50:56 +08:00
|
|
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
|
|
// See https://llvm.org/LICENSE.txt for license information.
|
|
|
|
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
2017-06-22 17:39:36 +08:00
|
|
|
//
|
|
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
//
|
|
|
|
/// \file This file contains the ARM definition of the DAG scheduling mutation
|
|
|
|
/// to pair instructions back to back.
|
|
|
|
//
|
|
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
|
2018-09-04 00:22:05 +08:00
|
|
|
#ifndef LLVM_LIB_TARGET_ARM_ARMMACROFUSION_H
|
|
|
|
#define LLVM_LIB_TARGET_ARM_ARMMACROFUSION_H
|
|
|
|
|
2017-06-22 17:39:36 +08:00
|
|
|
#include "llvm/CodeGen/MachineScheduler.h"
|
|
|
|
|
|
|
|
namespace llvm {
|
|
|
|
|
|
|
|
/// Note that you have to add:
|
|
|
|
/// DAG.addMutation(createARMMacroFusionDAGMutation());
|
|
|
|
/// to ARMPassConfig::createMachineScheduler() to have an effect.
|
|
|
|
std::unique_ptr<ScheduleDAGMutation> createARMMacroFusionDAGMutation();
|
|
|
|
|
|
|
|
} // llvm
|
2018-09-04 00:22:05 +08:00
|
|
|
|
|
|
|
#endif
|