1//===- NVPTXPassRegistry.def - Registry of NVPTX passes ---------*- C++ -*-===// 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 10// NVPTX 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("generic-to-nvvm", GenericToNVVMPass()) 20MODULE_PASS("nvptx-lower-ctor-dtor", NVPTXCtorDtorLoweringPass()) 21#undef MODULE_PASS 22 23#ifndef FUNCTION_ANALYSIS 24#define FUNCTION_ANALYSIS(NAME, CREATE_PASS) 25#endif 26 27#ifndef FUNCTION_ALIAS_ANALYSIS 28#define FUNCTION_ALIAS_ANALYSIS(NAME, CREATE_PASS) \ 29 FUNCTION_ANALYSIS(NAME, CREATE_PASS) 30#endif 31FUNCTION_ALIAS_ANALYSIS("nvptx-aa", NVPTXAA()) 32#undef FUNCTION_ALIAS_ANALYSIS 33#undef FUNCTION_ANALYSIS 34 35#ifndef FUNCTION_PASS 36#define FUNCTION_PASS(NAME, CREATE_PASS) 37#endif 38FUNCTION_PASS("nvvm-intr-range", NVVMIntrRangePass()) 39FUNCTION_PASS("nvvm-reflect", NVVMReflectPass()) 40#undef FUNCTION_PASS 41