class ConstantFoldingMIRBuilder
Declaration
class ConstantFoldingMIRBuilder : public MachineIRBuilder { /* full declaration omitted */ };
Description
An MIRBuilder which does trivial constant folding of binary ops. Calls to buildInstr will also try to constant fold binary ops.
Declared at: llvm/include/llvm/CodeGen/GlobalISel/ConstantFoldingMIRBuilder.h:19
Inherits from: MachineIRBuilder
Method Overview
- public llvm::MachineInstrBuilder buildInstr(unsigned int Opc, ArrayRef<llvm::DstOp> DstOps, ArrayRef<llvm::SrcOp> SrcOps, Optional<unsigned int> Flags = None)
- public virtual ~ConstantFoldingMIRBuilder()
Inherited from MachineIRBuilder:
- public buildAShr
- public buildAdd
- public buildAddrSpaceCast
- public buildAnd
- public buildAnyExt
- public buildAnyExtOrTrunc
- public buildAtomicCmpXchg
- public buildAtomicCmpXchgWithSuccess
- public buildAtomicRMW
- public buildAtomicRMWAdd
- public buildAtomicRMWAnd
- public buildAtomicRMWFAdd
- public buildAtomicRMWFSub
- public buildAtomicRMWMax
- public buildAtomicRMWMin
- public buildAtomicRMWNand
- public buildAtomicRMWOr
- public buildAtomicRMWSub
- public buildAtomicRMWUmax
- public buildAtomicRMWUmin
- public buildAtomicRMWXchg
- public buildAtomicRMWXor
- public buildBitcast
- public buildBlockAddress
- public buildBoolExt
- public buildBr
- public buildBrCond
- public buildBrIndirect
- public buildBrJT
- public buildBuildVector
- public buildBuildVectorTrunc
- public buildCTLZ
- public buildCTLZ_ZERO_UNDEF
- public buildCTPOP
- public buildCTTZ
- public buildCTTZ_ZERO_UNDEF
- public buildCast
- public buildConcatVectors
- public buildConstDbgValue
- public buildConstant
- public buildConstant
- public buildConstant
- public buildCopy
- public buildDbgLabel
- public buildDirectDbgValue
- public buildDynStackAlloc
- public buildExtOrTrunc
- public buildExtract
- public buildExtractVectorElement
- public buildFAbs
- public buildFAdd
- public buildFCanonicalize
- public buildFCmp
- public buildFConstant
- public buildFConstant
- public buildFConstant
- public buildFCopysign
- public buildFIDbgValue
- public buildFMA
- public buildFMAD
- public buildFMul
- public buildFNeg
- public buildFPExt
- public buildFPTOSI
- public buildFPTOUI
- public buildFPTrunc
- public buildFSub
- public buildFence
- public buildFrameIndex
- public buildGlobalValue
- public buildICmp
- public buildIndirectDbgValue
- public buildInsert
- public buildInsertVectorElement
- public buildInstr
- public buildInstr
- public buildInstrNoInsert
- public buildIntToPtr
- public buildIntrinsic
- public buildIntrinsic
- public buildIntrinsicTrunc
- public buildJumpTable
- public buildLShr
- public buildLoad
- public buildLoadInstr
- public buildMerge
- public buildMul
- public buildNot
- public buildOr
- public buildPtrAdd
- public buildPtrMask
- public buildPtrToInt
- public buildSExt
- public buildSExtOrTrunc
- public buildSITOFP
- public buildSMax
- public buildSMin
- public buildSMulH
- public buildSelect
- public buildSequence
- public buildShl
- public buildSplatVector
- public buildStore
- public buildSub
- public buildTrunc
- public buildUAdde
- public buildUAddo
- public buildUITOFP
- public buildUMax
- public buildUMin
- public buildUMulH
- public buildUndef
- public buildUnmerge
- public buildUnmerge
- public buildUnmerge
- public buildXor
- public buildZExt
- public buildZExtOrTrunc
- public getBoolExtOp
- public getCSEInfo
- public getCSEInfo
- public getDL
- public getDataLayout
- public getDebugLoc
- public getInsertPt
- public getMBB
- public getMBB
- public getMF
- public getMF
- public getMRI
- public getMRI
- public getState
- public getTII
- public insertInstr
- public materializePtrAdd
- protected recordInsertion
- public setCSEInfo
- public setChangeObserver
- public setDebugLoc
- public setInsertPt
- public setInstr
- public setMBB
- public setMF
- public stopObservingChanges
- protected validateBinaryOp
- protected validateSelectOp
- protected validateShiftOp
- protected validateTruncExt
Methods
¶llvm::MachineInstrBuilder buildInstr(
unsigned int Opc,
ArrayRef<llvm::DstOp> DstOps,
ArrayRef<llvm::SrcOp> SrcOps,
Optional<unsigned int> Flags = None)
llvm::MachineInstrBuilder buildInstr(
unsigned int Opc,
ArrayRef<llvm::DstOp> DstOps,
ArrayRef<llvm::SrcOp> SrcOps,
Optional<unsigned int> Flags = None)
Declared at: llvm/include/llvm/CodeGen/GlobalISel/ConstantFoldingMIRBuilder.h:28
Parameters
- unsigned int Opc
- ArrayRef<llvm::DstOp> DstOps
- ArrayRef<llvm::SrcOp> SrcOps
- Optional<unsigned int> Flags = None
¶virtual ~ConstantFoldingMIRBuilder()
virtual ~ConstantFoldingMIRBuilder()
Declared at: llvm/include/llvm/CodeGen/GlobalISel/ConstantFoldingMIRBuilder.h:24