blob: 6d296b5844f02fb67d4c29c85e29160405538ee2 [file] [edit]
//===----------------------------------------------------------------------===//
//
// 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
//
//===----------------------------------------------------------------------===//
//
// This file is used as the registry of passes that are part of the SystemZ
// backend.
//
//===----------------------------------------------------------------------===//
// NOTE: NO INCLUDE GUARD DESIRED!
#ifndef MODULE_PASS
#define MODULE_PASS(NAME, CREATE_PASS)
#endif
MODULE_PASS("systemz-align-globals", SystemZAlignGlobalsPass())
MODULE_PASS("systemz-asm-printer-begin", SystemZAsmPrinterBeginPass())
MODULE_PASS("systemz-asm-printer-end", SystemZAsmPrinterEndPass())
#undef MODULE_PASS
#ifndef FUNCTION_PASS
#define FUNCTION_PASS(NAME, CREATE_PASS)
#endif
FUNCTION_PASS("systemz-tdc", SystemZTDCPass(*this))
#undef FUNCTION_PASS
#ifndef MACHINE_FUNCTION_PASS
#define MACHINE_FUNCTION_PASS(NAME, CREATE_PASS)
#endif
MACHINE_FUNCTION_PASS("systemz-asm-printer", SystemZAsmPrinterPass())
MACHINE_FUNCTION_PASS("systemz-copy-physregs", SystemZCopyPhysRegsPass())
MACHINE_FUNCTION_PASS("systemz-elim-compare", SystemZElimComparePass())
MACHINE_FUNCTION_PASS("systemz-isel", SystemZISelDAGToDAGPass(*this, getOptLevel()))
MACHINE_FUNCTION_PASS("systemz-ld-cleanup", SystemZLDCleanupPass())
MACHINE_FUNCTION_PASS("systemz-long-branch", SystemZLongBranchPass())
MACHINE_FUNCTION_PASS("systemz-post-rewrite", SystemZPostRewritePass())
MACHINE_FUNCTION_PASS("systemz-shorten-inst", SystemZShortenInstPass())
#undef MACHINE_FUNCTION_PASS