Go to the documentation of this file.
30 const std::vector<MachineConstantPoolEntry> &
Constants =
CP->getConstants();
32 if (
Constants[
I].isMachineConstantPoolEntry() &&
36 if (ZCPV->GV == GV && ZCPV->Modifier == Modifier)
45 ID.AddInteger(Modifier);
49 O << GV <<
"@" <<
int(Modifier);
This is an optimization pass for GlobalISel generic memory operations.
void print(raw_ostream &O) const override
print - Implement operator<<
Abstract base class for all machine specific constantpool value subclasses.
A SystemZ-specific constant pool value.
FunctionType * getType(LLVMContext &Context, ID id, ArrayRef< Type * > Tys=None)
Return the function type for an intrinsic.
static GCRegistry::Add< CoreCLRGC > E("coreclr", "CoreCLR-compatible GC")
Clang compiles this i1 i64 store i64 i64 store i64 i64 store i64 i64 store i64 align Which gets codegen d xmm0 movaps rbp movaps rbp movaps rbp movaps rbp rbp rbp rbp rbp It would be better to have movq s of instead of the movaps s LLVM produces ret int
This class implements an extremely fast bulk output stream that can only output to a stream.
This struct is a compact representation of a valid (non-zero power of two) alignment.
unsigned ID
LLVM IR allows to use arbitrary numbers as calling convention identifiers.
int getExistingMachineCPValue(MachineConstantPool *CP, Align Alignment) override
The MachineConstantPool class keeps track of constants referenced by a function which must be spilled...
static SystemZConstantPoolValue * Create(const GlobalValue *GV, SystemZCP::SystemZCPModifier Modifier)
FoldingSetNodeID - This class is used to gather all the unique data bits of a node.
void addSelectionDAGCSEId(FoldingSetNodeID &ID) override
bool getAlign(const Function &F, unsigned index, unsigned &align)
SystemZConstantPoolValue(const GlobalValue *GV, SystemZCP::SystemZCPModifier Modifier)