12#ifndef LLVM_CODEGEN_GLOBALISEL_CSEMIRBUILDER_H
13#define LLVM_CODEGEN_GLOBALISEL_CSEMIRBUILDER_H
58 void *&NodeInsertPos);
61 bool canPerformCSEForOpc(
unsigned Opc)
const;
103 std::optional<unsigned> Flag = std::nullopt)
override;
static GCRegistry::Add< ErlangGC > A("erlang", "erlang-compatible garbage collector")
static GCRegistry::Add< OcamlGC > B("ocaml", "ocaml 3.10-compatible GC")
const AbstractManglingParser< Derived, Alloc >::OperatorInfo AbstractManglingParser< Derived, Alloc >::Ops[]
This file declares the MachineIRBuilder class.
static bool dominates(InstrPosIndexes &PosIndexes, const MachineInstr &A, const MachineInstr &B)
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
MachineIRBuilder()=default
Some constructors for easy use.
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.
FoldingSetNodeID - This class is used to gather all the unique data bits of a node.
MachineInstrBundleIterator< const MachineInstr > const_iterator
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.
unsigned ID
LLVM IR allows to use arbitrary numbers as calling convention identifiers.
This is an optimization pass for GlobalISel generic memory operations.
DWARFExpression::Operation Op