1//===----------------------------------------------------------------------===//
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// This file is used as the registry of passes that are part of the Lanai
10// backend.
11//
12//===----------------------------------------------------------------------===//
13
14// NOTE: NO INCLUDE GUARD DESIRED!
15
16#ifndef MODULE_PASS
17#define MODULE_PASS(NAME, CREATE_PASS)
18#endif
19MODULE_PASS("lanai-asm-printer-begin", LanaiAsmPrinterBeginPass())
20MODULE_PASS("lanai-asm-printer-end", LanaiAsmPrinterEndPass())
21#undef MODULE_PASS
22
23#ifndef MACHINE_FUNCTION_PASS
24#define MACHINE_FUNCTION_PASS(NAME, CREATE_PASS)
25#endif
26MACHINE_FUNCTION_PASS("lanai-asm-printer", LanaiAsmPrinterPass())
27MACHINE_FUNCTION_PASS("lanai-delay-slot-fillter", LanaiDelaySlotFillerPass())
28MACHINE_FUNCTION_PASS("lanai-isel", LanaiISelDAGToDAGPass(*this))
29MACHINE_FUNCTION_PASS("lanai-mem-alu-combiner", LanaiMemAluCombinerPass())
30#undef MACHINE_FUNCTION_PASS
31