1//===- ReduceIRReferences.h - Specialized Delta Pass -----------*- c++ -*-===//
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 implements a function which calls the Generic Delta pass in order
10// to reduce uninteresting IR references from the MachineFunction.
11//
12//===----------------------------------------------------------------------===//
13
14#ifndef LLVM_TOOLS_LLVM_REDUCE_DELTAS_REDUCEIRREFERENCES_MIR_H
15#define LLVM_TOOLS_LLVM_REDUCE_DELTAS_REDUCEIRREFERENCES_MIR_H
16
17#include "Delta.h"
18
19namespace llvm {
20
21/// Remove IR references from instructions (i.e. from memory operands)
22void reduceIRInstructionReferencesDeltaPass(Oracle &O,
23 ReducerWorkItem &WorkItem);
24
25/// Remove IR BasicBlock references (the block names)
26void reduceIRBlockReferencesDeltaPass(Oracle &O, ReducerWorkItem &WorkItem);
27
28/// Remove IR references from function level fields (e.g. frame object names)
29void reduceIRFunctionReferencesDeltaPass(Oracle &O, ReducerWorkItem &WorkItem);
30
31} // namespace llvm
32
33#endif
34