blob: 8c9ccca693090f87b9b17396b57e0cfa7458ccdd [file] [log] [blame]
Diego Trevino Ferrerddc64eb2019-08-08 22:16:33 +00001//===- DeltaManager.h - Runs Delta Passes to reduce Input -----------------===//
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 calls each specialized Delta pass in order to reduce the input IR
10// file.
11//
12//===----------------------------------------------------------------------===//
13
14#include "TestRunner.h"
15#include "deltas/Delta.h"
Florian Hahn23c8da22020-10-28 13:06:42 +000016#include "deltas/ReduceAliases.h"
David Blaikie5adb3d22019-09-12 01:20:48 +000017#include "deltas/ReduceArguments.h"
Roman Lebedev03640ee2020-07-09 23:06:59 +030018#include "deltas/ReduceAttributes.h"
David Blaikie070598b2019-09-18 21:45:05 +000019#include "deltas/ReduceBasicBlocks.h"
Roman Lebedev136c8f52020-07-25 21:43:36 +030020#include "deltas/ReduceFunctionBodies.h"
Diego Trevino Ferrerddc64eb2019-08-08 22:16:33 +000021#include "deltas/ReduceFunctions.h"
Diego Trevino Ferrer0ffe6872019-08-15 22:54:09 +000022#include "deltas/ReduceGlobalVars.h"
Nico Weberb12176d2020-02-05 14:15:11 -050023#include "deltas/ReduceInstructions.h"
Roman Lebedev05f2b5c2020-07-07 01:16:37 +030024#include "deltas/ReduceMetadata.h"
25#include "deltas/ReduceOperandBundles.h"
Diego Trevino Ferrerddc64eb2019-08-08 22:16:33 +000026
27namespace llvm {
28
Diego Trevino Ferrer0ffe6872019-08-15 22:54:09 +000029// TODO: Add CLI option to run only specified Passes (for unit tests)
Diego Trevino Ferrerddc64eb2019-08-08 22:16:33 +000030inline void runDeltaPasses(TestRunner &Tester) {
Florian Hahn23c8da22020-10-28 13:06:42 +000031 reduceAliasesDeltaPass(Tester);
Roman Lebedev136c8f52020-07-25 21:43:36 +030032 reduceFunctionBodiesDeltaPass(Tester);
Diego Trevino Ferrerddc64eb2019-08-08 22:16:33 +000033 reduceFunctionsDeltaPass(Tester);
David Blaikie070598b2019-09-18 21:45:05 +000034 reduceBasicBlocksDeltaPass(Tester);
Diego Trevino Ferrer0ffe6872019-08-15 22:54:09 +000035 reduceGlobalsDeltaPass(Tester);
David Blaikie477c1df2019-09-10 22:09:58 +000036 reduceMetadataDeltaPass(Tester);
David Blaikie5adb3d22019-09-12 01:20:48 +000037 reduceArgumentsDeltaPass(Tester);
David Blaikie798fe472019-09-19 00:59:27 +000038 reduceInstructionsDeltaPass(Tester);
Roman Lebedev05f2b5c2020-07-07 01:16:37 +030039 reduceOperandBundesDeltaPass(Tester);
Roman Lebedev03640ee2020-07-09 23:06:59 +030040 reduceAttributesDeltaPass(Tester);
Diego Trevino Ferrerddc64eb2019-08-08 22:16:33 +000041 // TODO: Implement the remaining Delta Passes
42}
43
44} // namespace llvm