1 //===- DeltaManager.h - Runs Delta Passes to reduce Input -----------------===//
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
7 //===----------------------------------------------------------------------===//
9 // This file calls each specialized Delta pass in order to reduce the input IR
12 //===----------------------------------------------------------------------===//
14 #include "TestRunner.h"
15 #include "deltas/Delta.h"
16 #include "deltas/ReduceArguments.h"
17 #include "deltas/ReduceBasicBlocks.h"
18 #include "deltas/ReduceFunctions.h"
19 #include "deltas/ReduceGlobalVars.h"
20 #include "deltas/ReduceMetadata.h"
21 #include "deltas/ReduceInstructions.h"
25 // TODO: Add CLI option to run only specified Passes (for unit tests)
26 inline void runDeltaPasses(TestRunner
&Tester
) {
27 reduceFunctionsDeltaPass(Tester
);
28 reduceBasicBlocksDeltaPass(Tester
);
29 reduceGlobalsDeltaPass(Tester
);
30 reduceMetadataDeltaPass(Tester
);
31 reduceArgumentsDeltaPass(Tester
);
32 reduceInstructionsDeltaPass(Tester
);
33 // TODO: Implement the remaining Delta Passes