Diego Novillo | a4c44fa | 2019-04-11 10:56:15 -0400 | [diff] [blame] | 1 | // 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 | |
| 18 | namespace llvm { |
| 19 | class PassRegistry; |
| 20 | |
| 21 | // Individual pass initializers. See the documentation for |
| 22 | // initializeClspvPasses() in include/clspv/Passes.h. |
alan-baker | 04f3a95 | 2020-03-24 10:39:53 -0400 | [diff] [blame] | 23 | void initializeAddFunctionAttributesPassPass(PassRegistry &); |
alan-baker | c4579bb | 2020-04-29 14:15:50 -0400 | [diff] [blame] | 24 | void initializeAutoPodArgsPassPass(PassRegistry &); |
Diego Novillo | a4c44fa | 2019-04-11 10:56:15 -0400 | [diff] [blame] | 25 | void initializeAllocateDescriptorsPassPass(PassRegistry &); |
| 26 | void initializeClusterModuleScopeConstantVarsPass(PassRegistry &); |
| 27 | void initializeClusterPodKernelArgumentsPassPass(PassRegistry &); |
Kévin Petit | bbbda97 | 2020-03-03 19:16:31 +0000 | [diff] [blame] | 28 | void initializeDeclarePushConstantsPassPass(PassRegistry &); |
Diego Novillo | a4c44fa | 2019-04-11 10:56:15 -0400 | [diff] [blame] | 29 | void initializeDefineOpenCLWorkItemBuiltinsPassPass(PassRegistry &); |
| 30 | void initializeDirectResourceAccessPassPass(PassRegistry &); |
alan-baker | 9580aef | 2020-01-07 22:31:48 -0500 | [diff] [blame] | 31 | void initializeFixupStructuredCFGPassPass(PassRegistry &); |
Diego Novillo | a4c44fa | 2019-04-11 10:56:15 -0400 | [diff] [blame] | 32 | void initializeFunctionInternalizerPassPass(PassRegistry &); |
| 33 | void initializeHideConstantLoadsPassPass(PassRegistry &); |
| 34 | void initializeUnhideConstantLoadsPassPass(PassRegistry &); |
| 35 | void initializeInlineEntryPointsPassPass(PassRegistry &); |
| 36 | void initializeInlineFuncWithPointerBitCastArgPassPass(PassRegistry &); |
| 37 | void initializeInlineFuncWithPointerToFunctionArgPassPass(PassRegistry &); |
| 38 | void initializeInlineFuncWithSingleCallSitePassPass(PassRegistry &); |
Marco Antognini | 535998c | 2020-09-16 18:48:51 +0100 | [diff] [blame] | 39 | void initializeLongVectorLoweringPassPass(PassRegistry &); |
alan-baker | fe6a3df | 2020-08-27 22:42:44 -0400 | [diff] [blame] | 40 | void initializeMultiVersionUBOFunctionsPassPass(PassRegistry &); |
alan-baker | 869cd68 | 2021-03-05 11:21:19 -0500 | [diff] [blame] | 41 | void initializeNativeMathPassPass(PassRegistry &); |
Diego Novillo | a4c44fa | 2019-04-11 10:56:15 -0400 | [diff] [blame] | 42 | void initializeOpenCLInlinerPassPass(PassRegistry &); |
| 43 | void initializeRemoveUnusedArgumentsPass(PassRegistry &); |
| 44 | void initializeReorderBasicBlocksPassPass(PassRegistry &); |
| 45 | void initializeReplaceLLVMIntrinsicsPassPass(PassRegistry &); |
| 46 | void initializeReplaceOpenCLBuiltinPassPass(PassRegistry &); |
| 47 | void initializeReplacePointerBitcastPassPass(PassRegistry &); |
| 48 | void initializeRewriteInsertsPassPass(PassRegistry &); |
| 49 | void initializeScalarizePassPass(PassRegistry &); |
| 50 | void initializeShareModuleScopeVariablesPassPass(PassRegistry &); |
| 51 | void initializeSignedCompareFixupPassPass(PassRegistry &); |
| 52 | void initializeSimplifyPointerBitcastPassPass(PassRegistry &); |
alan-baker | 3f772c0 | 2021-06-15 22:18:11 -0400 | [diff] [blame] | 53 | void initializeSPIRVProducerPassPass(PassRegistry &); |
Diego Novillo | a4c44fa | 2019-04-11 10:56:15 -0400 | [diff] [blame] | 54 | void initializeSplatArgPassPass(PassRegistry &); |
| 55 | void initializeSplatSelectConditionPassPass(PassRegistry &); |
alan-baker | f67468c | 2019-11-25 15:51:49 -0500 | [diff] [blame] | 56 | void initializeSpecializeImageTypesPassPass(PassRegistry &); |
alan-baker | b5e74d6 | 2020-04-07 20:38:05 -0400 | [diff] [blame] | 57 | void initializeStripFreezePassPass(PassRegistry &); |
Diego Novillo | a4c44fa | 2019-04-11 10:56:15 -0400 | [diff] [blame] | 58 | void initializeUBOTypeTransformPassPass(PassRegistry &); |
| 59 | void initializeUndoBoolPassPass(PassRegistry &); |
| 60 | void initializeUndoByvalPassPass(PassRegistry &); |
| 61 | void initializeUndoGetElementPtrConstantExprPassPass(PassRegistry &); |
alan-baker | 1356838 | 2020-04-02 17:29:27 -0400 | [diff] [blame] | 62 | void initializeUndoInstCombinePassPass(PassRegistry &); |
Diego Novillo | a4c44fa | 2019-04-11 10:56:15 -0400 | [diff] [blame] | 63 | void initializeUndoSRetPassPass(PassRegistry &); |
| 64 | void initializeUndoTranslateSamplerFoldPassPass(PassRegistry &); |
alan-baker | e711c76 | 2020-05-20 17:56:59 -0400 | [diff] [blame] | 65 | void initializeUndoTruncateToOddIntegerPassPass(PassRegistry &); |
Diego Novillo | a4c44fa | 2019-04-11 10:56:15 -0400 | [diff] [blame] | 66 | void initializeZeroInitializeAllocasPassPass(PassRegistry &); |
| 67 | } // namespace llvm |
| 68 | |
| 69 | #endif |