LLVM 22.0.0git
ReplaceConstant.h
Go to the documentation of this file.
1//===- ReplaceConstant.h - Replacing LLVM constant expressions --*- 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 declares the utility function for replacing LLVM constant
10// expressions by instructions.
11//
12//===----------------------------------------------------------------------===//
13
14#ifndef LLVM_IR_REPLACECONSTANT_H
15#define LLVM_IR_REPLACECONSTANT_H
16
18
19namespace llvm {
20
21template <typename T> class ArrayRef;
22class Constant;
23class Function;
24
25/// Replace constant expressions users of the given constants with
26/// instructions. Return whether anything was changed.
27///
28/// Passing RestrictToFunc will restrict the constant replacement
29/// to the passed in functions scope, as opposed to the replacements
30/// occurring at module scope.
31///
32/// RemoveDeadConstants by default will remove all dead constants as
33/// the final step of the function after replacement, when passed
34/// false it will skip this final step.
35///
36/// If \p IncludeSelf is enabled, also convert the passed constants themselves
37/// to instructions, rather than only their users.
39 ArrayRef<Constant *> Consts, Function *RestrictToFunc = nullptr,
40 bool RemoveDeadConstants = true, bool IncludeSelf = false);
41
42} // end namespace llvm
43
44#endif // LLVM_IR_REPLACECONSTANT_H
#define LLVM_ABI
Definition: Compiler.h:213
This is an optimization pass for GlobalISel generic memory operations.
Definition: AddressRanges.h:18
LLVM_ABI bool convertUsersOfConstantsToInstructions(ArrayRef< Constant * > Consts, Function *RestrictToFunc=nullptr, bool RemoveDeadConstants=true, bool IncludeSelf=false)
Replace constant expressions users of the given constants with instructions.
ArrayRef(const T &OneElt) -> ArrayRef< T >