xref: /llvm-project/llvm/tools/llvm-reduce/deltas/ReduceIRReferences.h (revision 3939e99aae68ca8965f0c3b74b88aa94cee4c6fd)
1*3939e99aSMatt Arsenault //===- ReduceIRReferences.h  - Specialized Delta Pass -----------*- c++ -*-===//
2*3939e99aSMatt Arsenault //
3*3939e99aSMatt Arsenault // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4*3939e99aSMatt Arsenault // See https://llvm.org/LICENSE.txt for license information.
5*3939e99aSMatt Arsenault // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6*3939e99aSMatt Arsenault //
7*3939e99aSMatt Arsenault //===----------------------------------------------------------------------===//
8*3939e99aSMatt Arsenault //
9*3939e99aSMatt Arsenault // This file implements a function which calls the Generic Delta pass in order
10*3939e99aSMatt Arsenault // to reduce uninteresting IR references from the MachineFunction.
11*3939e99aSMatt Arsenault //
12*3939e99aSMatt Arsenault //===----------------------------------------------------------------------===//
13*3939e99aSMatt Arsenault 
14*3939e99aSMatt Arsenault #ifndef LLVM_TOOLS_LLVM_REDUCE_DELTAS_REDUCEIRREFERENCES_MIR_H
15*3939e99aSMatt Arsenault #define LLVM_TOOLS_LLVM_REDUCE_DELTAS_REDUCEIRREFERENCES_MIR_H
16*3939e99aSMatt Arsenault 
17*3939e99aSMatt Arsenault namespace llvm {
18*3939e99aSMatt Arsenault class TestRunner;
19*3939e99aSMatt Arsenault 
20*3939e99aSMatt Arsenault /// Remove IR references from instructions (i.e. from memory operands)
21*3939e99aSMatt Arsenault void reduceIRInstructionReferencesDeltaPass(TestRunner &Test);
22*3939e99aSMatt Arsenault 
23*3939e99aSMatt Arsenault /// Remove IR BasicBlock references (the block names)
24*3939e99aSMatt Arsenault void reduceIRBlockReferencesDeltaPass(TestRunner &Test);
25*3939e99aSMatt Arsenault 
26*3939e99aSMatt Arsenault /// Remove IR references from function level fields (e.g. frame object names)
27*3939e99aSMatt Arsenault void reduceIRFunctionReferencesDeltaPass(TestRunner &Test);
28*3939e99aSMatt Arsenault 
29*3939e99aSMatt Arsenault } // namespace llvm
30*3939e99aSMatt Arsenault 
31*3939e99aSMatt Arsenault #endif
32