blob: 9c18da9793e7fe33007729ec628975c464d1a443 [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"
Florian Hahn250de732020-11-10 19:44:18 +000026#include "deltas/ReduceSpecialGlobals.h"
Diego Trevino Ferrerddc64eb2019-08-08 22:16:33 +000027
28namespace llvm {
29
Diego Trevino Ferrer0ffe6872019-08-15 22:54:09 +000030// TODO: Add CLI option to run only specified Passes (for unit tests)
Diego Trevino Ferrerddc64eb2019-08-08 22:16:33 +000031inline void runDeltaPasses(TestRunner &Tester) {
Florian Hahn250de732020-11-10 19:44:18 +000032 reduceSpecialGlobalsDeltaPass(Tester);
Florian Hahn23c8da22020-10-28 13:06:42 +000033 reduceAliasesDeltaPass(Tester);
Roman Lebedev136c8f52020-07-25 21:43:36 +030034 reduceFunctionBodiesDeltaPass(Tester);
Diego Trevino Ferrerddc64eb2019-08-08 22:16:33 +000035 reduceFunctionsDeltaPass(Tester);
David Blaikie070598b2019-09-18 21:45:05 +000036 reduceBasicBlocksDeltaPass(Tester);
Diego Trevino Ferrer0ffe6872019-08-15 22:54:09 +000037 reduceGlobalsDeltaPass(Tester);
David Blaikie477c1df2019-09-10 22:09:58 +000038 reduceMetadataDeltaPass(Tester);
David Blaikie5adb3d22019-09-12 01:20:48 +000039 reduceArgumentsDeltaPass(Tester);
David Blaikie798fe472019-09-19 00:59:27 +000040 reduceInstructionsDeltaPass(Tester);
Roman Lebedev05f2b5c2020-07-07 01:16:37 +030041 reduceOperandBundesDeltaPass(Tester);
Roman Lebedev03640ee2020-07-09 23:06:59 +030042 reduceAttributesDeltaPass(Tester);
Diego Trevino Ferrerddc64eb2019-08-08 22:16:33 +000043 // TODO: Implement the remaining Delta Passes
44}
45
46} // namespace llvm