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