LLVM: llvm::ClonedCodeInfo Struct Reference (original) (raw)
This struct can be used to capture information about code being cloned, while it is being cloned. More...
#include "[llvm/Transforms/Utils/Cloning.h](Cloning%5F8h%5Fsource.html)"
| Public Attributes | |
|---|---|
| bool | ContainsCalls = false |
| This is set to true if the cloned code contains a normal call instruction. | |
| bool | ContainsMemProfMetadata = false |
| This is set to true if there is memprof related metadata (memprof or callsite metadata) in the cloned code. | |
| bool | ContainsDynamicAllocas = false |
| This is set to true if the cloned code contains a 'dynamic' alloca. | |
| std::vector< WeakTrackingVH > | OperandBundleCallSites |
| All cloned call sites that have operand bundles attached are appended to this vector. | |
| DenseMap< const Value *, const Value * > | OrigVMap |
| Like VMap, but maps only unsimplified instructions. |
This struct can be used to capture information about code being cloned, while it is being cloned.
Definition at line 67 of file Cloning.h.
| llvm::ClonedCodeInfo::ClonedCodeInfo ( ) | default |
|---|
◆ isSimplified()
◆ ContainsCalls
bool llvm::ClonedCodeInfo::ContainsCalls = false
◆ ContainsDynamicAllocas
bool llvm::ClonedCodeInfo::ContainsDynamicAllocas = false
This is set to true if the cloned code contains a 'dynamic' alloca.
Dynamic allocas are allocas that are either not in the entry block or they are in the entry block but are not a constant size.
Definition at line 78 of file Cloning.h.
Referenced by llvm::CloneBasicBlock(), and llvm::InlineFunctionImpl().
◆ ContainsMemProfMetadata
bool llvm::ClonedCodeInfo::ContainsMemProfMetadata = false
◆ OperandBundleCallSites
std::vector<WeakTrackingVH> llvm::ClonedCodeInfo::OperandBundleCallSites
All cloned call sites that have operand bundles attached are appended to this vector.
This vector may contain nulls or undefs if some of the originally inserted callsites were DCE'ed after they were cloned.
Definition at line 83 of file Cloning.h.
Referenced by llvm::InlineFunctionImpl().
◆ OrigVMap
Like VMap, but maps only unsimplified instructions.
Values in the map may be dangling, it is only intended to be used via isSimplified(), to check whether the main VMap mapping involves simplification or not.
Definition at line 88 of file Cloning.h.
Referenced by isSimplified().
The documentation for this struct was generated from the following file:
- include/llvm/Transforms/Utils/Cloning.h