blob: fca60e98c618f2daf5ae1fac80c8084b824cdd74 [file] [log] [blame]
Diego Novilloa4c44fa2019-04-11 10:56:15 -04001// Copyright 2019 The Clspv Authors. All rights reserved.
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15#ifndef _CLSPV_LIB_PASSES_H
16#define _CLSPV_LIB_PASSES_H
17
18namespace llvm {
19class PassRegistry;
20
21// Individual pass initializers. See the documentation for
22// initializeClspvPasses() in include/clspv/Passes.h.
alan-baker04f3a952020-03-24 10:39:53 -040023void initializeAddFunctionAttributesPassPass(PassRegistry &);
alan-bakerc4579bb2020-04-29 14:15:50 -040024void initializeAutoPodArgsPassPass(PassRegistry &);
Diego Novilloa4c44fa2019-04-11 10:56:15 -040025void initializeAllocateDescriptorsPassPass(PassRegistry &);
26void initializeClusterModuleScopeConstantVarsPass(PassRegistry &);
27void initializeClusterPodKernelArgumentsPassPass(PassRegistry &);
Kévin Petitbbbda972020-03-03 19:16:31 +000028void initializeDeclarePushConstantsPassPass(PassRegistry &);
Diego Novilloa4c44fa2019-04-11 10:56:15 -040029void initializeDefineOpenCLWorkItemBuiltinsPassPass(PassRegistry &);
30void initializeDirectResourceAccessPassPass(PassRegistry &);
alan-baker9580aef2020-01-07 22:31:48 -050031void initializeFixupStructuredCFGPassPass(PassRegistry &);
Diego Novilloa4c44fa2019-04-11 10:56:15 -040032void initializeFunctionInternalizerPassPass(PassRegistry &);
33void initializeHideConstantLoadsPassPass(PassRegistry &);
34void initializeUnhideConstantLoadsPassPass(PassRegistry &);
35void initializeInlineEntryPointsPassPass(PassRegistry &);
36void initializeInlineFuncWithPointerBitCastArgPassPass(PassRegistry &);
37void initializeInlineFuncWithPointerToFunctionArgPassPass(PassRegistry &);
38void initializeInlineFuncWithSingleCallSitePassPass(PassRegistry &);
Marco Antognini535998c2020-09-16 18:48:51 +010039void initializeLongVectorLoweringPassPass(PassRegistry &);
alan-bakerfe6a3df2020-08-27 22:42:44 -040040void initializeMultiVersionUBOFunctionsPassPass(PassRegistry &);
alan-baker869cd682021-03-05 11:21:19 -050041void initializeNativeMathPassPass(PassRegistry &);
Diego Novilloa4c44fa2019-04-11 10:56:15 -040042void initializeOpenCLInlinerPassPass(PassRegistry &);
43void initializeRemoveUnusedArgumentsPass(PassRegistry &);
44void initializeReorderBasicBlocksPassPass(PassRegistry &);
45void initializeReplaceLLVMIntrinsicsPassPass(PassRegistry &);
46void initializeReplaceOpenCLBuiltinPassPass(PassRegistry &);
47void initializeReplacePointerBitcastPassPass(PassRegistry &);
48void initializeRewriteInsertsPassPass(PassRegistry &);
49void initializeScalarizePassPass(PassRegistry &);
50void initializeShareModuleScopeVariablesPassPass(PassRegistry &);
51void initializeSignedCompareFixupPassPass(PassRegistry &);
52void initializeSimplifyPointerBitcastPassPass(PassRegistry &);
alan-baker3f772c02021-06-15 22:18:11 -040053void initializeSPIRVProducerPassPass(PassRegistry &);
Diego Novilloa4c44fa2019-04-11 10:56:15 -040054void initializeSplatArgPassPass(PassRegistry &);
55void initializeSplatSelectConditionPassPass(PassRegistry &);
alan-bakerf67468c2019-11-25 15:51:49 -050056void initializeSpecializeImageTypesPassPass(PassRegistry &);
alan-bakerb5e74d62020-04-07 20:38:05 -040057void initializeStripFreezePassPass(PassRegistry &);
Diego Novilloa4c44fa2019-04-11 10:56:15 -040058void initializeUBOTypeTransformPassPass(PassRegistry &);
59void initializeUndoBoolPassPass(PassRegistry &);
60void initializeUndoByvalPassPass(PassRegistry &);
61void initializeUndoGetElementPtrConstantExprPassPass(PassRegistry &);
alan-baker13568382020-04-02 17:29:27 -040062void initializeUndoInstCombinePassPass(PassRegistry &);
Diego Novilloa4c44fa2019-04-11 10:56:15 -040063void initializeUndoSRetPassPass(PassRegistry &);
64void initializeUndoTranslateSamplerFoldPassPass(PassRegistry &);
alan-bakere711c762020-05-20 17:56:59 -040065void initializeUndoTruncateToOddIntegerPassPass(PassRegistry &);
Diego Novilloa4c44fa2019-04-11 10:56:15 -040066void initializeZeroInitializeAllocasPassPass(PassRegistry &);
67} // namespace llvm
68
69#endif