This struct can be used to capture information about code being cloned, while it is being cloned.

Synopsis

Declared in <llvm/Transforms/Utils/Cloning.h>

struct ClonedCodeInfo;

Member Functions

Name

Description

ClonedCodeInfo [constructor]

Default constructor

isSimplified

Data Members

Name

Description

ContainsCalls

This is set to true if the cloned code contains a normal call instruction.

ContainsDynamicAllocas

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.

ContainsMemProfMetadata

This is set to true if there is memprof related metadata (memprof or callsite metadata) in the cloned code.

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.

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.

OriginallyIndirectCalls

Created with MrDocs