xref: /llvm-project/llvm/lib/Target/Hexagon/HexagonPassRegistry.def (revision ef57977f2aa32661a09fa6538f47ddee0a004d11)
1*ef57977fSpaperchalice//===- HexagonPassRegistry.def - Registry of Hexagon passes -----*- C++--*-===//
2*ef57977fSpaperchalice//
3*ef57977fSpaperchalice// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4*ef57977fSpaperchalice// See https://llvm.org/LICENSE.txt for license information.
5*ef57977fSpaperchalice// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6*ef57977fSpaperchalice//
7*ef57977fSpaperchalice//===----------------------------------------------------------------------===//
8*ef57977fSpaperchalice//
9*ef57977fSpaperchalice// This file is used as the registry of passes that are part of the
10*ef57977fSpaperchalice// Hexagon backend.
11*ef57977fSpaperchalice//
12*ef57977fSpaperchalice//===----------------------------------------------------------------------===//
13*ef57977fSpaperchalice
14*ef57977fSpaperchalice// NOTE: NO INCLUDE GUARD DESIRED!
15*ef57977fSpaperchalice
16*ef57977fSpaperchalice#ifndef LOOP_PASS
17*ef57977fSpaperchalice#define LOOP_PASS(NAME, CREATE_PASS)
18*ef57977fSpaperchalice#endif
19*ef57977fSpaperchaliceLOOP_PASS("hexagon-loop-idiom", HexagonLoopIdiomRecognitionPass())
20*ef57977fSpaperchaliceLOOP_PASS("hexagon-vlcr", HexagonVectorLoopCarriedReusePass())
21*ef57977fSpaperchalice#undef LOOP_PASS
22