1//===--- DeltaPasses.def - Delta Pass Definitions --------------*- 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
10#ifndef DELTA_PASS_IR
11#define DELTA_PASS_IR(NAME, FUNC, DESC)
12#endif
13DELTA_PASS_IR("strip-debug-info", stripDebugInfoDeltaPass, "Stripping Debug Info")
14DELTA_PASS_IR("functions", reduceFunctionsDeltaPass, "Reducing Functions")
15DELTA_PASS_IR("function-bodies", reduceFunctionBodiesDeltaPass, "Reducing Function Bodies")
16DELTA_PASS_IR("special-globals", reduceSpecialGlobalsDeltaPass, "Reducing Special Globals")
17DELTA_PASS_IR("aliases", reduceAliasesDeltaPass, "Reducing Aliases")
18DELTA_PASS_IR("ifuncs", reduceIFuncsDeltaPass, "Reducing Ifuncs")
19DELTA_PASS_IR("simplify-conditionals-true", reduceConditionalsTrueDeltaPass, "Reducing conditional branches to true")
20DELTA_PASS_IR("simplify-conditionals-false",
21 reduceConditionalsFalseDeltaPass, "Reducing conditional branches to false")
22DELTA_PASS_IR("invokes", reduceInvokesDeltaPass, "Reducing Invokes")
23DELTA_PASS_IR("unreachable-basic-blocks",
24 reduceUnreachableBasicBlocksDeltaPass, "Removing Unreachable Basic Blocks")
25DELTA_PASS_IR("basic-blocks", reduceBasicBlocksDeltaPass, "Reducing Basic Blocks")
26DELTA_PASS_IR("simplify-cfg", reduceUsingSimplifyCFGDeltaPass, "Reducing using SimplifyCFG")
27DELTA_PASS_IR("function-data", reduceFunctionDataDeltaPass, "Reducing Function Data")
28DELTA_PASS_IR("global-values", reduceGlobalValuesDeltaPass, "Reducing GlobalValues")
29DELTA_PASS_IR("global-objects", reduceGlobalObjectsDeltaPass, "Reducing GlobalObjects")
30DELTA_PASS_IR("global-initializers", reduceGlobalsInitializersDeltaPass, "Reducing GV Initializers")
31DELTA_PASS_IR("global-variables", reduceGlobalsDeltaPass, "Reducing GlobalVariables")
32DELTA_PASS_IR("di-metadata", reduceDIMetadataDeltaPass, "Reducing DIMetadata")
33DELTA_PASS_IR("dbg-records", reduceDbgRecordDeltaPass, "Reducing DbgRecords")
34DELTA_PASS_IR("distinct-metadata", reduceDistinctMetadataDeltaPass, "Reducing Distinct Metadata")
35DELTA_PASS_IR("metadata", reduceMetadataDeltaPass,"Reducing Metadata")
36DELTA_PASS_IR("named-metadata", reduceNamedMetadataDeltaPass, "Reducing Named Metadata")
37DELTA_PASS_IR("arguments", reduceArgumentsDeltaPass, "Reducing Arguments")
38DELTA_PASS_IR("instructions", reduceInstructionsDeltaPass, "Reducing Instructions")
39DELTA_PASS_IR("simplify-instructions", simplifyInstructionsDeltaPass, "Simplifying Instructions")
40DELTA_PASS_IR("ir-passes", runIRPassesDeltaPass, "Running passes")
41DELTA_PASS_IR("operands-zero", reduceOperandsZeroDeltaPass, "Reducing Operands to zero")
42DELTA_PASS_IR("operands-one", reduceOperandsOneDeltaPass, "Reducing Operands to one")
43DELTA_PASS_IR("operands-nan", reduceOperandsNaNDeltaPass, "Reducing Operands to NaN")
44DELTA_PASS_IR("operands-poison", reduceOperandsPoisonDeltaPass, "Reducing Operands to poison")
45DELTA_PASS_IR("operands-to-args", reduceOperandsToArgsDeltaPass, "Converting operands to function arguments")
46DELTA_PASS_IR("operands-skip", reduceOperandsSkipDeltaPass, "Reducing operands by skipping over instructions")
47DELTA_PASS_IR("operand-bundles", reduceOperandBundesDeltaPass, "Reducing Operand Bundles")
48DELTA_PASS_IR("attributes", reduceAttributesDeltaPass, "Reducing Attributes")
49DELTA_PASS_IR("target-features-attr", reduceTargetFeaturesAttrDeltaPass, "Reducing target-features")
50DELTA_PASS_IR("module-data", reduceModuleDataDeltaPass, "Reducing Module Data")
51DELTA_PASS_IR("opcodes", reduceOpcodesDeltaPass, "Reducing Opcodes")
52
53DELTA_PASS_IR("arguments-to-return", reduceArgumentsToReturnDeltaPass,
54 "Converting arguments to function return value")
55DELTA_PASS_IR("instructions-to-return", reduceInstructionsToReturnDeltaPass,
56 "Early return of instructions")
57DELTA_PASS_IR("volatile", reduceVolatileInstructionsDeltaPass, "Reducing Volatile Instructions")
58DELTA_PASS_IR("atomic-ordering", reduceAtomicOrderingDeltaPass, "Reducing Atomic Ordering")
59DELTA_PASS_IR("syncscopes", reduceAtomicSyncScopesDeltaPass, "Reducing Atomic Sync Scopes")
60DELTA_PASS_IR("instruction-flags", reduceInstructionFlagsDeltaPass, "Reducing Instruction Flags")
61
62
63#ifndef DELTA_PASS_MIR
64#define DELTA_PASS_MIR(NAME, FUNC, DESC)
65#endif
66DELTA_PASS_MIR("instructions", reduceInstructionsMIRDeltaPass, "Reducing Instructions")
67DELTA_PASS_MIR("ir-instruction-references",
68 reduceIRInstructionReferencesDeltaPass, "Reducing IR references from instructions")
69DELTA_PASS_MIR("ir-block-references", reduceIRBlockReferencesDeltaPass, "Reducing IR references from blocks")
70DELTA_PASS_MIR("ir-function-references", reduceIRFunctionReferencesDeltaPass, "Reducing IR references from functions")
71DELTA_PASS_MIR("instruction-flags", reduceInstructionFlagsMIRDeltaPass, "Reducing Instruction Flags")
72DELTA_PASS_MIR("register-uses", reduceRegisterUsesMIRDeltaPass, "Reducing register uses")
73DELTA_PASS_MIR("register-defs", reduceRegisterDefsMIRDeltaPass, "Reducing register defs")
74DELTA_PASS_MIR("register-hints", reduceVirtualRegisterHintsDeltaPass, "Reducing virtual register hints from functions")
75DELTA_PASS_MIR("register-masks", reduceRegisterMasksMIRDeltaPass, "Reducing register masks")
76