12#ifndef LLVM_CODEGEN_GLOBALISEL_CSEMIRBUILDER_H
13#define LLVM_CODEGEN_GLOBALISEL_CSEMIRBUILDER_H
19class GISelInstProfileBuilder;
51 void *&NodeInsertPos);
54 bool canPerformCSEForOpc(
unsigned Opc)
const;
96 std::optional<unsigned> Flag = std::nullopt)
override;
static GCRegistry::Add< OcamlGC > B("ocaml", "ocaml 3.10-compatible GC")
static GCRegistry::Add< ErlangGC > A("erlang", "erlang-compatible garbage collector")
This file declares the MachineIRBuilder class.
ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory),...
Defines a builder that does CSE of MachineInstructions using GISelCSEInfo.
MachineInstrBuilder buildInstr(unsigned Opc, ArrayRef< DstOp > DstOps, ArrayRef< SrcOp > SrcOps, std::optional< unsigned > Flag=std::nullopt) override
MachineInstrBuilder buildFConstant(const DstOp &Res, const ConstantFP &Val) override
Build and insert Res = G_FCONSTANT Val.
MachineInstrBuilder buildConstant(const DstOp &Res, const ConstantInt &Val) override
Build and insert Res = G_CONSTANT Val.
ConstantFP - Floating Point Values [float, double].
This is the shared class of boolean and integer constants.
This class represents an Operation in the Expression.
FoldingSetNodeID - This class is used to gather all the unique data bits of a node.
Helper class to build MachineInstr.
virtual MachineInstrBuilder buildFConstant(const DstOp &Res, const ConstantFP &Val)
Build and insert Res = G_FCONSTANT Val.
MachineIRBuilder()=default
Some constructors for easy use.
virtual MachineInstrBuilder buildConstant(const DstOp &Res, const ConstantInt &Val)
Build and insert Res = G_CONSTANT Val.
This is an optimization pass for GlobalISel generic memory operations.