ARMMacroFusion.h 966 B

12345678910111213141516171819202122232425262728
  1. //===- ARMMacroFusion.h - ARM Macro Fusion ------------------------===//
  2. //
  3. // 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
  6. //
  7. //===----------------------------------------------------------------------===//
  8. //
  9. /// \file This file contains the ARM definition of the DAG scheduling mutation
  10. /// to pair instructions back to back.
  11. //
  12. //===----------------------------------------------------------------------===//
  13. #ifndef LLVM_LIB_TARGET_ARM_ARMMACROFUSION_H
  14. #define LLVM_LIB_TARGET_ARM_ARMMACROFUSION_H
  15. #include "llvm/CodeGen/MachineScheduler.h"
  16. namespace llvm {
  17. /// Note that you have to add:
  18. /// DAG.addMutation(createARMMacroFusionDAGMutation());
  19. /// to ARMPassConfig::createMachineScheduler() to have an effect.
  20. std::unique_ptr<ScheduleDAGMutation> createARMMacroFusionDAGMutation();
  21. } // llvm
  22. #endif