blob: b1a4ee0df4dbe6f12cf33426c5438431eea95b54 [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"
David Blaikie5adb3d22019-09-12 01:20:48 +000016#include "deltas/ReduceArguments.h"
Roman Lebedev03640ee2020-07-09 23:06:59 +030017#include "deltas/ReduceAttributes.h"
David Blaikie070598b2019-09-18 21:45:05 +000018#include "deltas/ReduceBasicBlocks.h"
Diego Trevino Ferrerddc64eb2019-08-08 22:16:33 +000019#include "deltas/ReduceFunctions.h"
Diego Trevino Ferrer0ffe6872019-08-15 22:54:09 +000020#include "deltas/ReduceGlobalVars.h"
Nico Weberb12176d2020-02-05 14:15:11 -050021#include "deltas/ReduceInstructions.h"
Roman Lebedev05f2b5c2020-07-07 01:16:37 +030022#include "deltas/ReduceMetadata.h"
23#include "deltas/ReduceOperandBundles.h"
Diego Trevino Ferrerddc64eb2019-08-08 22:16:33 +000024
25namespace llvm {
26
Diego Trevino Ferrer0ffe6872019-08-15 22:54:09 +000027// TODO: Add CLI option to run only specified Passes (for unit tests)
Diego Trevino Ferrerddc64eb2019-08-08 22:16:33 +000028inline void runDeltaPasses(TestRunner &Tester) {
29 reduceFunctionsDeltaPass(Tester);
David Blaikie070598b2019-09-18 21:45:05 +000030 reduceBasicBlocksDeltaPass(Tester);
Diego Trevino Ferrer0ffe6872019-08-15 22:54:09 +000031 reduceGlobalsDeltaPass(Tester);
David Blaikie477c1df2019-09-10 22:09:58 +000032 reduceMetadataDeltaPass(Tester);
David Blaikie5adb3d22019-09-12 01:20:48 +000033 reduceArgumentsDeltaPass(Tester);
David Blaikie798fe472019-09-19 00:59:27 +000034 reduceInstructionsDeltaPass(Tester);
Roman Lebedev05f2b5c2020-07-07 01:16:37 +030035 reduceOperandBundesDeltaPass(Tester);
Roman Lebedev03640ee2020-07-09 23:06:59 +030036 reduceAttributesDeltaPass(Tester);
Diego Trevino Ferrerddc64eb2019-08-08 22:16:33 +000037 // TODO: Implement the remaining Delta Passes
38}
39
40} // namespace llvm