clang 24.0.0git
CIRBaseBuilderTy Class Reference

#include "clang/CIR/Dialect/Builder/CIRBaseBuilder.h"

Inheritance diagram for CIRBaseBuilderTy:
[legend]

Classes

struct  GetMethodResults

Public Member Functions

 CIRBaseBuilderTy (mlir::MLIRContext &mlirContext)
 CIRBaseBuilderTy (mlir::OpBuilder &builder)
mlir::FloatType getBF16Type ()=delete
mlir::FloatType getF16Type ()=delete
mlir::FloatType getTF32Type ()=delete
mlir::FloatType getF32Type ()=delete
mlir::FloatType getF64Type ()=delete
mlir::FloatType getF80Type ()=delete
mlir::FloatType getF128Type ()=delete
mlir::Value getConstAPInt (mlir::Location loc, mlir::Type typ, const llvm::APInt &val)
cir::ConstantOp getConstant (mlir::Location loc, mlir::TypedAttr attr)
cir::ConstantOp getConstantInt (mlir::Location loc, mlir::Type ty, int64_t value)
mlir::Value getSignedInt (mlir::Location loc, int64_t val, unsigned numBits)
mlir::Value getUnsignedInt (mlir::Location loc, uint64_t val, unsigned numBits)
cir::ConstantOp getNullValue (mlir::Type ty, mlir::Location loc)
mlir::TypedAttr getConstNullPtrAttr (mlir::Type t)
mlir::TypedAttr getNullDataMemberAttr (cir::DataMemberType ty)
mlir::TypedAttr getZeroInitAttr (mlir::Type ty)
cir::ConstantOp getBool (bool state, mlir::Location loc)
cir::ConstantOp getFalse (mlir::Location loc)
cir::ConstantOp getTrue (mlir::Location loc)
cir::BoolType getBoolTy ()
cir::VoidType getVoidTy ()
cir::IntType getUIntNTy (int n)
cir::IntType getSIntNTy (int n)
cir::PointerType getPointerTo (mlir::Type ty)
cir::PointerType getPointerTo (mlir::Type ty, mlir::ptr::MemorySpaceAttrInterface as)
cir::PointerType getPointerTo (mlir::Type ty, clang::LangAS langAS)
cir::PointerType getVoidPtrTy (clang::LangAS langAS=clang::LangAS::Default)
cir::PointerType getVoidPtrTy (mlir::ptr::MemorySpaceAttrInterface as)
cir::MethodAttr getMethodAttr (cir::MethodType ty, cir::FuncOp methodFuncOp)
cir::MethodAttr getNullMethodAttr (cir::MethodType ty)
cir::BoolAttr getCIRBoolAttr (bool state)
cir::BoolAttr getTrueAttr ()
cir::BoolAttr getFalseAttr ()
void setIsFPConstrained (bool isCon)
 Enable/Disable use of constrained floating point math.
bool getIsFPConstrained () const
 Query for the use of constrained floating point math.
void setDefaultConstrainedExcept (clang::LangOptions::FPExceptionModeKind newExcept)
 Set the exception handling to be used with constrained floating point.
clang::LangOptions::FPExceptionModeKind getDefaultConstrainedExcept () const
 Get the exception handling used with constrained floating point.
void setDefaultConstrainedRounding (llvm::RoundingMode newRounding)
 Set the rounding mode handling to be used with constrained floating point.
llvm::RoundingMode getDefaultConstrainedRounding () const
 Get the rounding mode handling used with constrained floating point.
void setFastMathFlags (cir::FastMathFlags flags)
 Set the fast-math flags attached to floating-point operations.
cir::FastMathFlags getFastMathFlags () const
 Get the fast-math flags attached to floating-point operations.
cir::FastMathFlagsAttr getFastMathFlagsAttr ()
 Returns a null attribute when no fast-math flags are set.
cir::FenvAttr getConstrainedFPAttr ()
 Build the #cir.fenv attribute describing the constrained floating-point environment currently in effect.
mlir::Value createComplexCreate (mlir::Location loc, mlir::Value real, mlir::Value imag)
mlir::Value createComplexReal (mlir::Location loc, mlir::Value operand)
mlir::Value createComplexImag (mlir::Location loc, mlir::Value operand)
mlir::Value createComplexAdd (mlir::Location loc, mlir::Value lhs, mlir::Value rhs)
mlir::Value createComplexSub (mlir::Location loc, mlir::Value lhs, mlir::Value rhs)
mlir::Value createComplexMul (mlir::Location loc, mlir::Value lhs, mlir::Value rhs, cir::ComplexRangeKind rangeKind)
mlir::Value createComplexDiv (mlir::Location loc, mlir::Value lhs, mlir::Value rhs, cir::ComplexRangeKind rangeKind)
mlir::Value createComplexConj (mlir::Location loc, mlir::Value operand)
cir::LoadOp createLoad (mlir::Location loc, mlir::Value ptr, bool isVolatile=false, uint64_t alignment=0, bool isNontemporal=false)
mlir::Value createAlignedLoad (mlir::Location loc, mlir::Value ptr, uint64_t alignment)
mlir::Value createNot (mlir::Location loc, mlir::Value value)
mlir::Value createNot (mlir::Value value)
cir::DoWhileOp createDoWhile (mlir::Location loc, llvm::function_ref< void(mlir::OpBuilder &, mlir::Location)> condBuilder, llvm::function_ref< void(mlir::OpBuilder &, mlir::Location)> bodyBuilder)
 Create a do-while operation.
cir::WhileOp createWhile (mlir::Location loc, llvm::function_ref< void(mlir::OpBuilder &, mlir::Location)> condBuilder, llvm::function_ref< void(mlir::OpBuilder &, mlir::Location)> bodyBuilder)
 Create a while operation.
cir::WhileOp createWhile (mlir::Location loc, llvm::function_ref< void(mlir::OpBuilder &, mlir::Location)> condBuilder, llvm::function_ref< void(mlir::OpBuilder &, mlir::Location)> bodyBuilder, llvm::function_ref< void(mlir::OpBuilder &, mlir::Location)> cleanupBuilder, cir::CleanupKind cleanupKind)
 Create a while operation with a per-iteration cleanup region.
cir::ForOp createFor (mlir::Location loc, llvm::function_ref< void(mlir::OpBuilder &, mlir::Location)> condBuilder, llvm::function_ref< void(mlir::OpBuilder &, mlir::Location)> bodyBuilder, llvm::function_ref< void(mlir::OpBuilder &, mlir::Location)> stepBuilder)
 Create a for operation.
cir::ForOp createFor (mlir::Location loc, llvm::function_ref< void(mlir::OpBuilder &, mlir::Location)> condBuilder, llvm::function_ref< void(mlir::OpBuilder &, mlir::Location)> bodyBuilder, llvm::function_ref< void(mlir::OpBuilder &, mlir::Location)> stepBuilder, llvm::function_ref< void(mlir::OpBuilder &, mlir::Location)> cleanupBuilder, cir::CleanupKind cleanupKind)
 Create a for operation with a per-iteration cleanup region.
cir::BreakOp createBreak (mlir::Location loc)
 Create a break operation.
cir::ContinueOp createContinue (mlir::Location loc)
 Create a continue operation.
mlir::Value createInc (mlir::Location loc, mlir::Value input, bool nsw=false)
mlir::Value createDec (mlir::Location loc, mlir::Value input, bool nsw=false)
mlir::Value createMinus (mlir::Location loc, mlir::Value input, bool nsw=false)
mlir::TypedAttr getConstPtrAttr (mlir::Type type, int64_t value)
mlir::Value createAlloca (mlir::Location loc, cir::PointerType addrType, llvm::StringRef name, mlir::IntegerAttr alignment, mlir::Value dynAllocSize)
mlir::Value createAlloca (mlir::Location loc, cir::PointerType addrType, mlir::Type type, llvm::StringRef name, clang::CharUnits alignment, mlir::Value dynAllocSize)
mlir::Value createAlloca (mlir::Location loc, cir::PointerType addrType, llvm::StringRef name, mlir::IntegerAttr alignment)
mlir::Value createAlloca (mlir::Location loc, cir::PointerType addrType, llvm::StringRef name, clang::CharUnits alignment)
cir::GlobalViewAttr getGlobalViewAttr (cir::GlobalOp globalOp, mlir::ArrayAttr indices={})
 Get constant address of a global variable as an MLIR attribute.
cir::GlobalViewAttr getGlobalViewAttr (cir::PointerType type, cir::GlobalOp globalOp, mlir::ArrayAttr indices={}, bool addressPoint=false)
 Get constant address of a global variable as an MLIR attribute.
cir::GlobalViewAttr getGlobalViewAttr (cir::PointerType type, cir::GlobalOp globalOp, llvm::ArrayRef< int64_t > indices, bool addressPoint=false)
 Get constant address of a global variable as an MLIR attribute.
cir::GetGlobalOp createGetGlobal (mlir::Location loc, cir::GlobalOp global, bool threadLocal=false)
cir::GetGlobalOp createGetGlobal (cir::GlobalOp global, bool threadLocal=false)
cir::CopyOp createCopy (mlir::Value dst, mlir::Value src, bool isVolatile=false, bool skipTailPadding=false)
 Create a copy with inferred length.
cir::StoreOp createStore (mlir::Location loc, mlir::Value val, mlir::Value dst, bool isVolatile=false, bool isNontemporal=false, mlir::IntegerAttr align={}, cir::SyncScopeKindAttr scope={}, cir::MemOrderAttr order={})
cir::LoadOp createFlagLoad (mlir::Location loc, mlir::Value addr)
 Emit a load from an boolean flag variable.
cir::StoreOp createFlagStore (mlir::Location loc, bool val, mlir::Value dst)
cir::GlobalOp createGlobal (mlir::ModuleOp mlirModule, mlir::Location loc, mlir::StringRef name, mlir::Type type, bool isConstant, cir::GlobalLinkageKind linkage, mlir::ptr::MemorySpaceAttrInterface addrSpace)
cir::GetMemberOp createGetMember (mlir::Location loc, mlir::Type resultTy, mlir::Value base, llvm::StringRef name, unsigned index)
mlir::Value createDummyValue (mlir::Location loc, mlir::Type type, clang::CharUnits alignment)
cir::PtrStrideOp createPtrStride (mlir::Location loc, mlir::Value base, mlir::Value stride)
cir::CallOp createCallOp (mlir::Location loc, mlir::SymbolRefAttr callee, mlir::Type returnType, mlir::ValueRange operands, llvm::ArrayRef< mlir::NamedAttribute > attrs={}, llvm::ArrayRef< mlir::NamedAttrList > argAttrs={}, llvm::ArrayRef< mlir::NamedAttribute > resAttrs={}, cir::CallingConv callingConv=cir::CallingConv::C)
cir::CallOp createCallOp (mlir::Location loc, cir::FuncOp callee, mlir::ValueRange operands, llvm::ArrayRef< mlir::NamedAttribute > attrs={}, llvm::ArrayRef< mlir::NamedAttrList > argAttrs={}, llvm::ArrayRef< mlir::NamedAttribute > resAttrs={}, cir::CallingConv callingConv=cir::CallingConv::C)
cir::CallOp createCallOp (mlir::Location loc, mlir::SymbolRefAttr callee, mlir::ValueRange operands=mlir::ValueRange(), llvm::ArrayRef< mlir::NamedAttribute > attrs={}, llvm::ArrayRef< mlir::NamedAttrList > argAttrs={}, llvm::ArrayRef< mlir::NamedAttribute > resAttrs={})
cir::CallOp createIndirectCallOp (mlir::Location loc, mlir::Value indirectTarget, cir::FuncType funcType, mlir::ValueRange operands, llvm::ArrayRef< mlir::NamedAttribute > attrs={}, llvm::ArrayRef< mlir::NamedAttrList > argAttrs={}, llvm::ArrayRef< mlir::NamedAttribute > resAttrs={}, cir::CallingConv callingConv=cir::CallingConv::C)
mlir::Value createCast (mlir::Location loc, cir::CastKind kind, mlir::Value src, mlir::Type newTy)
mlir::Value createCast (cir::CastKind kind, mlir::Value src, mlir::Type newTy)
mlir::Value createBoolIntToIntCast (mlir::Value src, mlir::Type newTy)
mlir::Value createIntCast (mlir::Value src, mlir::Type newTy)
mlir::Value createBuiltinIntCast (mlir::Location loc, mlir::Value src, mlir::Type newTy)
mlir::Value createBuiltinIntCast (mlir::Value src, mlir::Type newTy)
mlir::Value createIntToPtr (mlir::Value src, mlir::Type newTy)
mlir::Value createPtrToInt (mlir::Value src, mlir::Type newTy)
mlir::Value createPtrToBoolCast (mlir::Value v)
mlir::Value createBoolToInt (mlir::Value src, mlir::Type newTy)
mlir::Value createBitcast (mlir::Value src, mlir::Type newTy)
mlir::Value createBitcast (mlir::Location loc, mlir::Value src, mlir::Type newTy)
mlir::Value createPtrBitcast (mlir::Value src, mlir::Type newPointeeTy)
mlir::Value createPtrIsNull (mlir::Value ptr)
mlir::Value createPtrIsNotNull (mlir::Value ptr)
mlir::Value createAddrSpaceCast (mlir::Location loc, mlir::Value src, mlir::Type newTy)
mlir::Value createAddrSpaceCast (mlir::Value src, mlir::Type newTy)
mlir::Value createExtractElement (mlir::Location loc, mlir::Value vec, uint64_t idx)
mlir::Value createInsertElement (mlir::Location loc, mlir::Value vec, mlir::Value newElt, uint64_t idx)
cir::SignBitOp createSignBit (mlir::Location loc, mlir::Value val)
mlir::Value createLowBitsSet (mlir::Location loc, unsigned size, unsigned bits)
mlir::Value createAnd (mlir::Location loc, mlir::Value lhs, mlir::Value rhs)
mlir::Value createOr (mlir::Location loc, mlir::Value lhs, mlir::Value rhs)
mlir::Value createSelect (mlir::Location loc, mlir::Value condition, mlir::Value trueValue, mlir::Value falseValue)
mlir::Value createLogicalAnd (mlir::Location loc, mlir::Value lhs, mlir::Value rhs)
mlir::Value createLogicalOr (mlir::Location loc, mlir::Value lhs, mlir::Value rhs)
mlir::Value createMul (mlir::Location loc, mlir::Value lhs, mlir::Value rhs, OverflowBehavior ob=OverflowBehavior::None)
mlir::Value createNSWMul (mlir::Location loc, mlir::Value lhs, mlir::Value rhs)
mlir::Value createNUWAMul (mlir::Location loc, mlir::Value lhs, mlir::Value rhs)
mlir::Value createSub (mlir::Location loc, mlir::Value lhs, mlir::Value rhs, OverflowBehavior ob=OverflowBehavior::None)
mlir::Value createNSWSub (mlir::Location loc, mlir::Value lhs, mlir::Value rhs)
mlir::Value createNUWSub (mlir::Location loc, mlir::Value lhs, mlir::Value rhs)
mlir::Value createAdd (mlir::Location loc, mlir::Value lhs, mlir::Value rhs, OverflowBehavior ob=OverflowBehavior::None)
mlir::Value createNSWAdd (mlir::Location loc, mlir::Value lhs, mlir::Value rhs)
mlir::Value createNUWAdd (mlir::Location loc, mlir::Value lhs, mlir::Value rhs)
mlir::Value createDiv (mlir::Location loc, mlir::Value lhs, mlir::Value rhs)
mlir::Value createRem (mlir::Location loc, mlir::Value lhs, mlir::Value rhs)
template<typename OpTy>
mlir::Value createFPBinOp (mlir::Location loc, mlir::Value lhs, mlir::Value rhs)
mlir::Value createFAdd (mlir::Location loc, mlir::Value lhs, mlir::Value rhs)
mlir::Value createFSub (mlir::Location loc, mlir::Value lhs, mlir::Value rhs)
mlir::Value createFMul (mlir::Location loc, mlir::Value lhs, mlir::Value rhs)
mlir::Value createFDiv (mlir::Location loc, mlir::Value lhs, mlir::Value rhs)
mlir::Value createFRem (mlir::Location loc, mlir::Value lhs, mlir::Value rhs)
mlir::Value createFNeg (mlir::Location loc, mlir::Value operand)
mlir::Value createXor (mlir::Location loc, mlir::Value lhs, mlir::Value rhs)
mlir::Value createMax (mlir::Location loc, mlir::Value lhs, mlir::Value rhs)
mlir::Value createMin (mlir::Location loc, mlir::Value lhs, mlir::Value rhs)
cir::CmpOp createCompare (mlir::Location loc, cir::CmpOpKind kind, mlir::Value lhs, mlir::Value rhs)
cir::VecCmpOp createVecCompare (mlir::Location loc, cir::CmpOpKind kind, mlir::Value lhs, mlir::Value rhs)
 Compares lhs and rhs element-wise.
cir::VecCmpOp createVecCompare (mlir::Location loc, VectorType resultTy, cir::CmpOpKind kind, mlir::Value lhs, mlir::Value rhs)
 Compares lhs and rhs element-wise, producing resultTy, which must be a vector of integers or bools with as many elements as lhs.
mlir::Value createIsNaN (mlir::Location loc, mlir::Value operand)
mlir::Value createShift (mlir::Location loc, mlir::Value lhs, mlir::Value rhs, bool isShiftLeft)
mlir::Value createShift (mlir::Location loc, mlir::Value lhs, const llvm::APInt &rhs, bool isShiftLeft)
mlir::Value createShift (mlir::Location loc, mlir::Value lhs, unsigned bits, bool isShiftLeft)
mlir::Value createShiftLeft (mlir::Location loc, mlir::Value lhs, unsigned bits)
mlir::Value createShiftLeft (mlir::Location loc, mlir::Value lhs, mlir::Value rhs)
mlir::Value createShiftRight (mlir::Location loc, mlir::Value lhs, unsigned bits)
mlir::Value createShiftRight (mlir::Location loc, mlir::Value lhs, mlir::Value rhs)
cir::FuncType getVoidFnTy (mlir::TypeRange argTypes={})
 Returns void (T...) as a cir::FuncType.
cir::PointerType getVoidFnPtrTy (mlir::TypeRange argTypes={})
 Returns void (*)(T...) as a cir::PointerType.
mlir::IntegerAttr getAlignmentAttr (clang::CharUnits alignment)
mlir::IntegerAttr getAlignmentAttr (llvm::Align alignment)
mlir::IntegerAttr getAlignmentAttr (int64_t alignment)
cir::ConstantOp getAlignment (mlir::Location loc, mlir::Type t, clang::CharUnits alignment)
mlir::IntegerAttr getSizeFromCharUnits (clang::CharUnits size)
cir::ConstantOp getNullPtr (mlir::Type ty, mlir::Location loc)
cir::ConditionOp createCondition (mlir::Value condition)
 Create a loop condition.
cir::YieldOp createYield (mlir::Location loc, mlir::ValueRange value={})
 Create a yield operation.
GetMethodResults createGetMethod (mlir::Location loc, mlir::Value method, mlir::Value objectPtr)

Static Public Member Functions

static unsigned getCIRIntOrFloatBitWidth (mlir::Type eltTy)
static OpBuilder::InsertPoint getBestAllocaInsertPoint (mlir::Block *block)

Public Attributes

bool isFPConstrained = false
clang::LangOptions::FPExceptionModeKind defaultConstrainedExcept
llvm::RoundingMode defaultConstrainedRounding
cir::FastMathFlags fastMathFlags = cir::FastMathFlags::none

Detailed Description

Definition at line 65 of file CIRBaseBuilder.h.

Constructor & Destructor Documentation

◆ CIRBaseBuilderTy() [1/2]

cir::CIRBaseBuilderTy::CIRBaseBuilderTy ( mlir::MLIRContext & mlirContext)
inline

Definition at line 68 of file CIRBaseBuilder.h.

◆ CIRBaseBuilderTy() [2/2]

cir::CIRBaseBuilderTy::CIRBaseBuilderTy ( mlir::OpBuilder & builder)
inline

Definition at line 70 of file CIRBaseBuilder.h.

Member Function Documentation

◆ createAdd()

mlir::Value cir::CIRBaseBuilderTy::createAdd ( mlir::Location loc,
mlir::Value lhs,
mlir::Value rhs,
OverflowBehavior ob = OverflowBehavior::None )
inline

Definition at line 891 of file CIRBaseBuilder.h.

◆ createAddrSpaceCast() [1/2]

mlir::Value cir::CIRBaseBuilderTy::createAddrSpaceCast ( mlir::Location loc,
mlir::Value src,
mlir::Type newTy )
inline

Definition at line 787 of file CIRBaseBuilder.h.

◆ createAddrSpaceCast() [2/2]

mlir::Value cir::CIRBaseBuilderTy::createAddrSpaceCast ( mlir::Value src,
mlir::Type newTy )
inline

Definition at line 792 of file CIRBaseBuilder.h.

◆ createAlignedLoad()

mlir::Value cir::CIRBaseBuilderTy::createAlignedLoad ( mlir::Location loc,
mlir::Value ptr,
uint64_t alignment )
inline

Definition at line 407 of file CIRBaseBuilder.h.

◆ createAlloca() [1/4]

mlir::Value cir::CIRBaseBuilderTy::createAlloca ( mlir::Location loc,
cir::PointerType addrType,
llvm::StringRef name,
clang::CharUnits alignment )
inline

Definition at line 520 of file CIRBaseBuilder.h.

◆ createAlloca() [2/4]

mlir::Value cir::CIRBaseBuilderTy::createAlloca ( mlir::Location loc,
cir::PointerType addrType,
llvm::StringRef name,
mlir::IntegerAttr alignment )
inline

Definition at line 515 of file CIRBaseBuilder.h.

◆ createAlloca() [3/4]

mlir::Value cir::CIRBaseBuilderTy::createAlloca ( mlir::Location loc,
cir::PointerType addrType,
llvm::StringRef name,
mlir::IntegerAttr alignment,
mlir::Value dynAllocSize )
inline

Definition at line 500 of file CIRBaseBuilder.h.

◆ createAlloca() [4/4]

mlir::Value cir::CIRBaseBuilderTy::createAlloca ( mlir::Location loc,
cir::PointerType addrType,
mlir::Type type,
llvm::StringRef name,
clang::CharUnits alignment,
mlir::Value dynAllocSize )
inline

Definition at line 507 of file CIRBaseBuilder.h.

◆ createAnd()

mlir::Value cir::CIRBaseBuilderTy::createAnd ( mlir::Location loc,
mlir::Value lhs,
mlir::Value rhs )
inline

Definition at line 830 of file CIRBaseBuilder.h.

◆ createBitcast() [1/2]

mlir::Value cir::CIRBaseBuilderTy::createBitcast ( mlir::Location loc,
mlir::Value src,
mlir::Type newTy )
inline

Definition at line 765 of file CIRBaseBuilder.h.

◆ createBitcast() [2/2]

mlir::Value cir::CIRBaseBuilderTy::createBitcast ( mlir::Value src,
mlir::Type newTy )
inline

Definition at line 761 of file CIRBaseBuilder.h.

◆ createBoolIntToIntCast()

mlir::Value cir::CIRBaseBuilderTy::createBoolIntToIntCast ( mlir::Value src,
mlir::Type newTy )
inline

Definition at line 724 of file CIRBaseBuilder.h.

◆ createBoolToInt()

mlir::Value cir::CIRBaseBuilderTy::createBoolToInt ( mlir::Value src,
mlir::Type newTy )
inline

Definition at line 757 of file CIRBaseBuilder.h.

◆ createBreak()

cir::BreakOp cir::CIRBaseBuilderTy::createBreak ( mlir::Location loc)
inline

Create a break operation.

Definition at line 472 of file CIRBaseBuilder.h.

◆ createBuiltinIntCast() [1/2]

mlir::Value cir::CIRBaseBuilderTy::createBuiltinIntCast ( mlir::Location loc,
mlir::Value src,
mlir::Type newTy )
inline

Definition at line 736 of file CIRBaseBuilder.h.

◆ createBuiltinIntCast() [2/2]

mlir::Value cir::CIRBaseBuilderTy::createBuiltinIntCast ( mlir::Value src,
mlir::Type newTy )
inline

Definition at line 741 of file CIRBaseBuilder.h.

◆ createCallOp() [1/3]

cir::CallOp cir::CIRBaseBuilderTy::createCallOp ( mlir::Location loc,
cir::FuncOp callee,
mlir::ValueRange operands,
llvm::ArrayRef< mlir::NamedAttribute > attrs = {},
llvm::ArrayRef< mlir::NamedAttrList > argAttrs = {},
llvm::ArrayRef< mlir::NamedAttribute > resAttrs = {},
cir::CallingConv callingConv = cir::CallingConv::C )
inline

Definition at line 671 of file CIRBaseBuilder.h.

◆ createCallOp() [2/3]

cir::CallOp cir::CIRBaseBuilderTy::createCallOp ( mlir::Location loc,
mlir::SymbolRefAttr callee,
mlir::Type returnType,
mlir::ValueRange operands,
llvm::ArrayRef< mlir::NamedAttribute > attrs = {},
llvm::ArrayRef< mlir::NamedAttrList > argAttrs = {},
llvm::ArrayRef< mlir::NamedAttribute > resAttrs = {},
cir::CallingConv callingConv = cir::CallingConv::C )
inline

Definition at line 640 of file CIRBaseBuilder.h.

◆ createCallOp() [3/3]

cir::CallOp cir::CIRBaseBuilderTy::createCallOp ( mlir::Location loc,
mlir::SymbolRefAttr callee,
mlir::ValueRange operands = mlir::ValueRange(),
llvm::ArrayRef< mlir::NamedAttribute > attrs = {},
llvm::ArrayRef< mlir::NamedAttrList > argAttrs = {},
llvm::ArrayRef< mlir::NamedAttribute > resAttrs = {} )
inline

Definition at line 696 of file CIRBaseBuilder.h.

◆ createCast() [1/2]

mlir::Value cir::CIRBaseBuilderTy::createCast ( cir::CastKind kind,
mlir::Value src,
mlir::Type newTy )
inline

Definition at line 716 of file CIRBaseBuilder.h.

◆ createCast() [2/2]

mlir::Value cir::CIRBaseBuilderTy::createCast ( mlir::Location loc,
cir::CastKind kind,
mlir::Value src,
mlir::Type newTy )
inline

Definition at line 709 of file CIRBaseBuilder.h.

◆ createCompare()

cir::CmpOp cir::CIRBaseBuilderTy::createCompare ( mlir::Location loc,
cir::CmpOpKind kind,
mlir::Value lhs,
mlir::Value rhs )
inline

Definition at line 968 of file CIRBaseBuilder.h.

◆ createComplexAdd()

mlir::Value cir::CIRBaseBuilderTy::createComplexAdd ( mlir::Location loc,
mlir::Value lhs,
mlir::Value rhs )
inline

Definition at line 355 of file CIRBaseBuilder.h.

◆ createComplexConj()

mlir::Value cir::CIRBaseBuilderTy::createComplexConj ( mlir::Location loc,
mlir::Value operand )
inline

Definition at line 393 of file CIRBaseBuilder.h.

◆ createComplexCreate()

mlir::Value cir::CIRBaseBuilderTy::createComplexCreate ( mlir::Location loc,
mlir::Value real,
mlir::Value imag )
inline

Definition at line 334 of file CIRBaseBuilder.h.

◆ createComplexDiv()

mlir::Value cir::CIRBaseBuilderTy::createComplexDiv ( mlir::Location loc,
mlir::Value lhs,
mlir::Value rhs,
cir::ComplexRangeKind rangeKind )
inline

Definition at line 384 of file CIRBaseBuilder.h.

◆ createComplexImag()

mlir::Value cir::CIRBaseBuilderTy::createComplexImag ( mlir::Location loc,
mlir::Value operand )
inline

Definition at line 348 of file CIRBaseBuilder.h.

◆ createComplexMul()

mlir::Value cir::CIRBaseBuilderTy::createComplexMul ( mlir::Location loc,
mlir::Value lhs,
mlir::Value rhs,
cir::ComplexRangeKind rangeKind )
inline

Definition at line 375 of file CIRBaseBuilder.h.

◆ createComplexReal()

mlir::Value cir::CIRBaseBuilderTy::createComplexReal ( mlir::Location loc,
mlir::Value operand )
inline

Definition at line 341 of file CIRBaseBuilder.h.

◆ createComplexSub()

mlir::Value cir::CIRBaseBuilderTy::createComplexSub ( mlir::Location loc,
mlir::Value lhs,
mlir::Value rhs )
inline

Definition at line 365 of file CIRBaseBuilder.h.

◆ createCondition()

cir::ConditionOp cir::CIRBaseBuilderTy::createCondition ( mlir::Value condition)
inline

Create a loop condition.

Definition at line 1119 of file CIRBaseBuilder.h.

◆ createContinue()

cir::ContinueOp cir::CIRBaseBuilderTy::createContinue ( mlir::Location loc)
inline

Create a continue operation.

Definition at line 477 of file CIRBaseBuilder.h.

◆ createCopy()

cir::CopyOp cir::CIRBaseBuilderTy::createCopy ( mlir::Value dst,
mlir::Value src,
bool isVolatile = false,
bool skipTailPadding = false )
inline

Create a copy with inferred length.

Definition at line 570 of file CIRBaseBuilder.h.

◆ createDec()

mlir::Value cir::CIRBaseBuilderTy::createDec ( mlir::Location loc,
mlir::Value input,
bool nsw = false )
inline

Definition at line 486 of file CIRBaseBuilder.h.

◆ createDiv()

mlir::Value cir::CIRBaseBuilderTy::createDiv ( mlir::Location loc,
mlir::Value lhs,
mlir::Value rhs )
inline

Definition at line 910 of file CIRBaseBuilder.h.

◆ createDoWhile()

cir::DoWhileOp cir::CIRBaseBuilderTy::createDoWhile ( mlir::Location loc,
llvm::function_ref< void(mlir::OpBuilder &, mlir::Location)> condBuilder,
llvm::function_ref< void(mlir::OpBuilder &, mlir::Location)> bodyBuilder )
inline

Create a do-while operation.

Definition at line 421 of file CIRBaseBuilder.h.

◆ createDummyValue()

mlir::Value cir::CIRBaseBuilderTy::createDummyValue ( mlir::Location loc,
mlir::Type type,
clang::CharUnits alignment )
inline

Definition at line 620 of file CIRBaseBuilder.h.

◆ createExtractElement()

mlir::Value cir::CIRBaseBuilderTy::createExtractElement ( mlir::Location loc,
mlir::Value vec,
uint64_t idx )
inline

Definition at line 800 of file CIRBaseBuilder.h.

◆ createFAdd()

mlir::Value cir::CIRBaseBuilderTy::createFAdd ( mlir::Location loc,
mlir::Value lhs,
mlir::Value rhs )
inline

Definition at line 926 of file CIRBaseBuilder.h.

◆ createFDiv()

mlir::Value cir::CIRBaseBuilderTy::createFDiv ( mlir::Location loc,
mlir::Value lhs,
mlir::Value rhs )
inline

Definition at line 938 of file CIRBaseBuilder.h.

◆ createFlagLoad()

cir::LoadOp cir::CIRBaseBuilderTy::createFlagLoad ( mlir::Location loc,
mlir::Value addr )
inline

Emit a load from an boolean flag variable.

Definition at line 591 of file CIRBaseBuilder.h.

◆ createFlagStore()

cir::StoreOp cir::CIRBaseBuilderTy::createFlagStore ( mlir::Location loc,
bool val,
mlir::Value dst )
inline

Definition at line 598 of file CIRBaseBuilder.h.

◆ createFMul()

mlir::Value cir::CIRBaseBuilderTy::createFMul ( mlir::Location loc,
mlir::Value lhs,
mlir::Value rhs )
inline

Definition at line 934 of file CIRBaseBuilder.h.

◆ createFNeg()

mlir::Value cir::CIRBaseBuilderTy::createFNeg ( mlir::Location loc,
mlir::Value operand )
inline

Definition at line 946 of file CIRBaseBuilder.h.

◆ createFor() [1/2]

cir::ForOp cir::CIRBaseBuilderTy::createFor ( mlir::Location loc,
llvm::function_ref< void(mlir::OpBuilder &, mlir::Location)> condBuilder,
llvm::function_ref< void(mlir::OpBuilder &, mlir::Location)> bodyBuilder,
llvm::function_ref< void(mlir::OpBuilder &, mlir::Location)> stepBuilder )
inline

Create a for operation.

Definition at line 449 of file CIRBaseBuilder.h.

◆ createFor() [2/2]

cir::ForOp cir::CIRBaseBuilderTy::createFor ( mlir::Location loc,
llvm::function_ref< void(mlir::OpBuilder &, mlir::Location)> condBuilder,
llvm::function_ref< void(mlir::OpBuilder &, mlir::Location)> bodyBuilder,
llvm::function_ref< void(mlir::OpBuilder &, mlir::Location)> stepBuilder,
llvm::function_ref< void(mlir::OpBuilder &, mlir::Location)> cleanupBuilder,
cir::CleanupKind cleanupKind )
inline

Create a for operation with a per-iteration cleanup region.

Definition at line 459 of file CIRBaseBuilder.h.

◆ createFPBinOp()

template<typename OpTy>
mlir::Value cir::CIRBaseBuilderTy::createFPBinOp ( mlir::Location loc,
mlir::Value lhs,
mlir::Value rhs )
inline

Definition at line 919 of file CIRBaseBuilder.h.

◆ createFRem()

mlir::Value cir::CIRBaseBuilderTy::createFRem ( mlir::Location loc,
mlir::Value lhs,
mlir::Value rhs )
inline

Definition at line 942 of file CIRBaseBuilder.h.

◆ createFSub()

mlir::Value cir::CIRBaseBuilderTy::createFSub ( mlir::Location loc,
mlir::Value lhs,
mlir::Value rhs )
inline

Definition at line 930 of file CIRBaseBuilder.h.

◆ createGetGlobal() [1/2]

cir::GetGlobalOp cir::CIRBaseBuilderTy::createGetGlobal ( cir::GlobalOp global,
bool threadLocal = false )
inline

Definition at line 564 of file CIRBaseBuilder.h.

◆ createGetGlobal() [2/2]

cir::GetGlobalOp cir::CIRBaseBuilderTy::createGetGlobal ( mlir::Location loc,
cir::GlobalOp global,
bool threadLocal = false )
inline

Definition at line 556 of file CIRBaseBuilder.h.

◆ createGetMember()

cir::GetMemberOp cir::CIRBaseBuilderTy::createGetMember ( mlir::Location loc,
mlir::Type resultTy,
mlir::Value base,
llvm::StringRef name,
unsigned index )
inline

Definition at line 614 of file CIRBaseBuilder.h.

◆ createGetMethod()

GetMethodResults cir::CIRBaseBuilderTy::createGetMethod ( mlir::Location loc,
mlir::Value method,
mlir::Value objectPtr )
inline

Definition at line 1133 of file CIRBaseBuilder.h.

◆ createGlobal()

cir::GlobalOp cir::CIRBaseBuilderTy::createGlobal ( mlir::ModuleOp mlirModule,
mlir::Location loc,
mlir::StringRef name,
mlir::Type type,
bool isConstant,
cir::GlobalLinkageKind linkage,
mlir::ptr::MemorySpaceAttrInterface addrSpace )
inlinenodiscard

Definition at line 604 of file CIRBaseBuilder.h.

◆ createInc()

mlir::Value cir::CIRBaseBuilderTy::createInc ( mlir::Location loc,
mlir::Value input,
bool nsw = false )
inline

Definition at line 481 of file CIRBaseBuilder.h.

◆ createIndirectCallOp()

cir::CallOp cir::CIRBaseBuilderTy::createIndirectCallOp ( mlir::Location loc,
mlir::Value indirectTarget,
cir::FuncType funcType,
mlir::ValueRange operands,
llvm::ArrayRef< mlir::NamedAttribute > attrs = {},
llvm::ArrayRef< mlir::NamedAttrList > argAttrs = {},
llvm::ArrayRef< mlir::NamedAttribute > resAttrs = {},
cir::CallingConv callingConv = cir::CallingConv::C )
inline

Definition at line 683 of file CIRBaseBuilder.h.

◆ createInsertElement()

mlir::Value cir::CIRBaseBuilderTy::createInsertElement ( mlir::Location loc,
mlir::Value vec,
mlir::Value newElt,
uint64_t idx )
inline

Definition at line 807 of file CIRBaseBuilder.h.

◆ createIntCast()

mlir::Value cir::CIRBaseBuilderTy::createIntCast ( mlir::Value src,
mlir::Type newTy )
inline

Definition at line 732 of file CIRBaseBuilder.h.

◆ createIntToPtr()

mlir::Value cir::CIRBaseBuilderTy::createIntToPtr ( mlir::Value src,
mlir::Type newTy )
inline

Definition at line 745 of file CIRBaseBuilder.h.

◆ createIsNaN()

mlir::Value cir::CIRBaseBuilderTy::createIsNaN ( mlir::Location loc,
mlir::Value operand )
inline

Definition at line 1012 of file CIRBaseBuilder.h.

◆ createLoad()

cir::LoadOp cir::CIRBaseBuilderTy::createLoad ( mlir::Location loc,
mlir::Value ptr,
bool isVolatile = false,
uint64_t alignment = 0,
bool isNontemporal = false )
inline

Definition at line 397 of file CIRBaseBuilder.h.

◆ createLogicalAnd()

mlir::Value cir::CIRBaseBuilderTy::createLogicalAnd ( mlir::Location loc,
mlir::Value lhs,
mlir::Value rhs )
inline

Definition at line 846 of file CIRBaseBuilder.h.

◆ createLogicalOr()

mlir::Value cir::CIRBaseBuilderTy::createLogicalOr ( mlir::Location loc,
mlir::Value lhs,
mlir::Value rhs )
inline

Definition at line 851 of file CIRBaseBuilder.h.

◆ createLowBitsSet()

mlir::Value cir::CIRBaseBuilderTy::createLowBitsSet ( mlir::Location loc,
unsigned size,
unsigned bits )
inline

Definition at line 823 of file CIRBaseBuilder.h.

◆ createMax()

mlir::Value cir::CIRBaseBuilderTy::createMax ( mlir::Location loc,
mlir::Value lhs,
mlir::Value rhs )
inline

Definition at line 960 of file CIRBaseBuilder.h.

◆ createMin()

mlir::Value cir::CIRBaseBuilderTy::createMin ( mlir::Location loc,
mlir::Value lhs,
mlir::Value rhs )
inline

Definition at line 964 of file CIRBaseBuilder.h.

◆ createMinus()

mlir::Value cir::CIRBaseBuilderTy::createMinus ( mlir::Location loc,
mlir::Value input,
bool nsw = false )
inline

Definition at line 491 of file CIRBaseBuilder.h.

◆ createMul()

mlir::Value cir::CIRBaseBuilderTy::createMul ( mlir::Location loc,
mlir::Value lhs,
mlir::Value rhs,
OverflowBehavior ob = OverflowBehavior::None )
inline

Definition at line 856 of file CIRBaseBuilder.h.

◆ createNot() [1/2]

mlir::Value cir::CIRBaseBuilderTy::createNot ( mlir::Location loc,
mlir::Value value )
inline

Definition at line 412 of file CIRBaseBuilder.h.

◆ createNot() [2/2]

mlir::Value cir::CIRBaseBuilderTy::createNot ( mlir::Value value)
inline

Definition at line 416 of file CIRBaseBuilder.h.

◆ createNSWAdd()

mlir::Value cir::CIRBaseBuilderTy::createNSWAdd ( mlir::Location loc,
mlir::Value lhs,
mlir::Value rhs )
inline

Definition at line 900 of file CIRBaseBuilder.h.

◆ createNSWMul()

mlir::Value cir::CIRBaseBuilderTy::createNSWMul ( mlir::Location loc,
mlir::Value lhs,
mlir::Value rhs )
inline

Definition at line 863 of file CIRBaseBuilder.h.

◆ createNSWSub()

mlir::Value cir::CIRBaseBuilderTy::createNSWSub ( mlir::Location loc,
mlir::Value lhs,
mlir::Value rhs )
inline

Definition at line 881 of file CIRBaseBuilder.h.

◆ createNUWAdd()

mlir::Value cir::CIRBaseBuilderTy::createNUWAdd ( mlir::Location loc,
mlir::Value lhs,
mlir::Value rhs )
inline

Definition at line 905 of file CIRBaseBuilder.h.

◆ createNUWAMul()

mlir::Value cir::CIRBaseBuilderTy::createNUWAMul ( mlir::Location loc,
mlir::Value lhs,
mlir::Value rhs )
inline

Definition at line 867 of file CIRBaseBuilder.h.

◆ createNUWSub()

mlir::Value cir::CIRBaseBuilderTy::createNUWSub ( mlir::Location loc,
mlir::Value lhs,
mlir::Value rhs )
inline

Definition at line 886 of file CIRBaseBuilder.h.

◆ createOr()

mlir::Value cir::CIRBaseBuilderTy::createOr ( mlir::Location loc,
mlir::Value lhs,
mlir::Value rhs )
inline

Definition at line 834 of file CIRBaseBuilder.h.

◆ createPtrBitcast()

mlir::Value cir::CIRBaseBuilderTy::createPtrBitcast ( mlir::Value src,
mlir::Type newPointeeTy )
inline

Definition at line 770 of file CIRBaseBuilder.h.

◆ createPtrIsNotNull()

mlir::Value cir::CIRBaseBuilderTy::createPtrIsNotNull ( mlir::Value ptr)
inline

Definition at line 782 of file CIRBaseBuilder.h.

◆ createPtrIsNull()

mlir::Value cir::CIRBaseBuilderTy::createPtrIsNull ( mlir::Value ptr)
inline

Definition at line 777 of file CIRBaseBuilder.h.

◆ createPtrStride()

cir::PtrStrideOp cir::CIRBaseBuilderTy::createPtrStride ( mlir::Location loc,
mlir::Value base,
mlir::Value stride )
inline

Definition at line 631 of file CIRBaseBuilder.h.

◆ createPtrToBoolCast()

mlir::Value cir::CIRBaseBuilderTy::createPtrToBoolCast ( mlir::Value v)
inline

Definition at line 753 of file CIRBaseBuilder.h.

◆ createPtrToInt()

mlir::Value cir::CIRBaseBuilderTy::createPtrToInt ( mlir::Value src,
mlir::Type newTy )
inline

Definition at line 749 of file CIRBaseBuilder.h.

◆ createRem()

mlir::Value cir::CIRBaseBuilderTy::createRem ( mlir::Location loc,
mlir::Value lhs,
mlir::Value rhs )
inline

Definition at line 914 of file CIRBaseBuilder.h.

◆ createSelect()

mlir::Value cir::CIRBaseBuilderTy::createSelect ( mlir::Location loc,
mlir::Value condition,
mlir::Value trueValue,
mlir::Value falseValue )
inline

Definition at line 838 of file CIRBaseBuilder.h.

◆ createShift() [1/3]

mlir::Value cir::CIRBaseBuilderTy::createShift ( mlir::Location loc,
mlir::Value lhs,
const llvm::APInt & rhs,
bool isShiftLeft )
inline

Definition at line 1022 of file CIRBaseBuilder.h.

◆ createShift() [2/3]

mlir::Value cir::CIRBaseBuilderTy::createShift ( mlir::Location loc,
mlir::Value lhs,
mlir::Value rhs,
bool isShiftLeft )
inline

Definition at line 1016 of file CIRBaseBuilder.h.

◆ createShift() [3/3]

mlir::Value cir::CIRBaseBuilderTy::createShift ( mlir::Location loc,
mlir::Value lhs,
unsigned bits,
bool isShiftLeft )
inline

Definition at line 1028 of file CIRBaseBuilder.h.

◆ createShiftLeft() [1/2]

mlir::Value cir::CIRBaseBuilderTy::createShiftLeft ( mlir::Location loc,
mlir::Value lhs,
mlir::Value rhs )
inline

Definition at line 1045 of file CIRBaseBuilder.h.

◆ createShiftLeft() [2/2]

mlir::Value cir::CIRBaseBuilderTy::createShiftLeft ( mlir::Location loc,
mlir::Value lhs,
unsigned bits )
inline

Definition at line 1035 of file CIRBaseBuilder.h.

◆ createShiftRight() [1/2]

mlir::Value cir::CIRBaseBuilderTy::createShiftRight ( mlir::Location loc,
mlir::Value lhs,
mlir::Value rhs )
inline

Definition at line 1050 of file CIRBaseBuilder.h.

◆ createShiftRight() [2/2]

mlir::Value cir::CIRBaseBuilderTy::createShiftRight ( mlir::Location loc,
mlir::Value lhs,
unsigned bits )
inline

Definition at line 1040 of file CIRBaseBuilder.h.

◆ createSignBit()

cir::SignBitOp cir::CIRBaseBuilderTy::createSignBit ( mlir::Location loc,
mlir::Value val )
inline

Definition at line 814 of file CIRBaseBuilder.h.

◆ createStore()

cir::StoreOp cir::CIRBaseBuilderTy::createStore ( mlir::Location loc,
mlir::Value val,
mlir::Value dst,
bool isVolatile = false,
bool isNontemporal = false,
mlir::IntegerAttr align = {},
cir::SyncScopeKindAttr scope = {},
cir::MemOrderAttr order = {} )
inline

Definition at line 578 of file CIRBaseBuilder.h.

◆ createSub()

mlir::Value cir::CIRBaseBuilderTy::createSub ( mlir::Location loc,
mlir::Value lhs,
mlir::Value rhs,
OverflowBehavior ob = OverflowBehavior::None )
inline

Definition at line 872 of file CIRBaseBuilder.h.

◆ createVecCompare() [1/2]

cir::VecCmpOp cir::CIRBaseBuilderTy::createVecCompare ( mlir::Location loc,
cir::CmpOpKind kind,
mlir::Value lhs,
mlir::Value rhs )
inline

Compares lhs and rhs element-wise.

Each result element is a signed integer of the operand element's bit width. That is not the result an FP80 element needs, so an FP80 compare names its result type with the overload below.

Definition at line 980 of file CIRBaseBuilder.h.

◆ createVecCompare() [2/2]

cir::VecCmpOp cir::CIRBaseBuilderTy::createVecCompare ( mlir::Location loc,
VectorType resultTy,
cir::CmpOpKind kind,
mlir::Value lhs,
mlir::Value rhs )
inline

Compares lhs and rhs element-wise, producing resultTy, which must be a vector of integers or bools with as many elements as lhs.

The result element width can then differ from the operand element's bit width, as for FP80, whose result elements are 128 bits.

Definition at line 998 of file CIRBaseBuilder.h.

◆ createWhile() [1/2]

cir::WhileOp cir::CIRBaseBuilderTy::createWhile ( mlir::Location loc,
llvm::function_ref< void(mlir::OpBuilder &, mlir::Location)> condBuilder,
llvm::function_ref< void(mlir::OpBuilder &, mlir::Location)> bodyBuilder )
inline

Create a while operation.

Definition at line 429 of file CIRBaseBuilder.h.

◆ createWhile() [2/2]

cir::WhileOp cir::CIRBaseBuilderTy::createWhile ( mlir::Location loc,
llvm::function_ref< void(mlir::OpBuilder &, mlir::Location)> condBuilder,
llvm::function_ref< void(mlir::OpBuilder &, mlir::Location)> bodyBuilder,
llvm::function_ref< void(mlir::OpBuilder &, mlir::Location)> cleanupBuilder,
cir::CleanupKind cleanupKind )
inline

Create a while operation with a per-iteration cleanup region.

Definition at line 437 of file CIRBaseBuilder.h.

◆ createXor()

mlir::Value cir::CIRBaseBuilderTy::createXor ( mlir::Location loc,
mlir::Value lhs,
mlir::Value rhs )
inline

Definition at line 956 of file CIRBaseBuilder.h.

◆ createYield()

cir::YieldOp cir::CIRBaseBuilderTy::createYield ( mlir::Location loc,
mlir::ValueRange value = {} )
inline

Create a yield operation.

Definition at line 1124 of file CIRBaseBuilder.h.

◆ getAlignment()

cir::ConstantOp cir::CIRBaseBuilderTy::getAlignment ( mlir::Location loc,
mlir::Type t,
clang::CharUnits alignment )
inline

Definition at line 1103 of file CIRBaseBuilder.h.

◆ getAlignmentAttr() [1/3]

mlir::IntegerAttr cir::CIRBaseBuilderTy::getAlignmentAttr ( clang::CharUnits alignment)
inline

Definition at line 1089 of file CIRBaseBuilder.h.

◆ getAlignmentAttr() [2/3]

mlir::IntegerAttr cir::CIRBaseBuilderTy::getAlignmentAttr ( int64_t alignment)
inline

Definition at line 1097 of file CIRBaseBuilder.h.

◆ getAlignmentAttr() [3/3]

mlir::IntegerAttr cir::CIRBaseBuilderTy::getAlignmentAttr ( llvm::Align alignment)
inline

Definition at line 1093 of file CIRBaseBuilder.h.

◆ getBestAllocaInsertPoint()

OpBuilder::InsertPoint cir::CIRBaseBuilderTy::getBestAllocaInsertPoint ( mlir::Block * block)
inlinestatic

Definition at line 1069 of file CIRBaseBuilder.h.

◆ getBF16Type()

mlir::FloatType cir::CIRBaseBuilderTy::getBF16Type ( )
delete

◆ getBool()

cir::ConstantOp cir::CIRBaseBuilderTy::getBool ( bool state,
mlir::Location loc )
inline

Definition at line 164 of file CIRBaseBuilder.h.

◆ getBoolTy()

cir::BoolType cir::CIRBaseBuilderTy::getBoolTy ( )
inline

Definition at line 170 of file CIRBaseBuilder.h.

◆ getCIRBoolAttr()

cir::BoolAttr cir::CIRBaseBuilderTy::getCIRBoolAttr ( bool state)
inline

Definition at line 224 of file CIRBaseBuilder.h.

◆ getCIRIntOrFloatBitWidth()

unsigned cir::CIRBaseBuilderTy::getCIRIntOrFloatBitWidth ( mlir::Type eltTy)
inlinestatic

Definition at line 177 of file CIRBaseBuilder.h.

◆ getConstant()

cir::ConstantOp cir::CIRBaseBuilderTy::getConstant ( mlir::Location loc,
mlir::TypedAttr attr )
inline

Definition at line 94 of file CIRBaseBuilder.h.

◆ getConstantInt()

cir::ConstantOp cir::CIRBaseBuilderTy::getConstantInt ( mlir::Location loc,
mlir::Type ty,
int64_t value )
inline

Definition at line 98 of file CIRBaseBuilder.h.

◆ getConstAPInt()

mlir::Value cir::CIRBaseBuilderTy::getConstAPInt ( mlir::Location loc,
mlir::Type typ,
const llvm::APInt & val )
inline

Definition at line 89 of file CIRBaseBuilder.h.

◆ getConstNullPtrAttr()

mlir::TypedAttr cir::CIRBaseBuilderTy::getConstNullPtrAttr ( mlir::Type t)
inline

Definition at line 120 of file CIRBaseBuilder.h.

◆ getConstPtrAttr()

mlir::TypedAttr cir::CIRBaseBuilderTy::getConstPtrAttr ( mlir::Type type,
int64_t value )
inline

Definition at line 496 of file CIRBaseBuilder.h.

◆ getConstrainedFPAttr()

cir::FenvAttr cir::CIRBaseBuilderTy::getConstrainedFPAttr ( )
inline

Build the #cir.fenv attribute describing the constrained floating-point environment currently in effect.

This is attached to floating-point operations that support it to capture the rounding and exception behavior. Returns a null attribute when constrained floating-point is not enabled, in which case no attribute should be attached.

Definition at line 283 of file CIRBaseBuilder.h.

◆ getDefaultConstrainedExcept()

clang::LangOptions::FPExceptionModeKind cir::CIRBaseBuilderTy::getDefaultConstrainedExcept ( ) const
inline

Get the exception handling used with constrained floating point.

Definition at line 251 of file CIRBaseBuilder.h.

◆ getDefaultConstrainedRounding()

llvm::RoundingMode cir::CIRBaseBuilderTy::getDefaultConstrainedRounding ( ) const
inline

Get the rounding mode handling used with constrained floating point.

Definition at line 261 of file CIRBaseBuilder.h.

◆ getF128Type()

mlir::FloatType cir::CIRBaseBuilderTy::getF128Type ( )
delete

◆ getF16Type()

mlir::FloatType cir::CIRBaseBuilderTy::getF16Type ( )
delete

◆ getF32Type()

mlir::FloatType cir::CIRBaseBuilderTy::getF32Type ( )
delete

◆ getF64Type()

mlir::FloatType cir::CIRBaseBuilderTy::getF64Type ( )
delete

◆ getF80Type()

mlir::FloatType cir::CIRBaseBuilderTy::getF80Type ( )
delete

◆ getFalse()

cir::ConstantOp cir::CIRBaseBuilderTy::getFalse ( mlir::Location loc)
inline

Definition at line 167 of file CIRBaseBuilder.h.

◆ getFalseAttr()

cir::BoolAttr cir::CIRBaseBuilderTy::getFalseAttr ( )
inline

Definition at line 229 of file CIRBaseBuilder.h.

◆ getFastMathFlags()

cir::FastMathFlags cir::CIRBaseBuilderTy::getFastMathFlags ( ) const
inline

Get the fast-math flags attached to floating-point operations.

Definition at line 269 of file CIRBaseBuilder.h.

◆ getFastMathFlagsAttr()

cir::FastMathFlagsAttr cir::CIRBaseBuilderTy::getFastMathFlagsAttr ( )
inline

Returns a null attribute when no fast-math flags are set.

Definition at line 272 of file CIRBaseBuilder.h.

◆ getGlobalViewAttr() [1/3]

cir::GlobalViewAttr cir::CIRBaseBuilderTy::getGlobalViewAttr ( cir::GlobalOp globalOp,
mlir::ArrayAttr indices = {} )
inline

Get constant address of a global variable as an MLIR attribute.

This wrapper infers the attribute type through the global op.

Definition at line 528 of file CIRBaseBuilder.h.

◆ getGlobalViewAttr() [2/3]

cir::GlobalViewAttr cir::CIRBaseBuilderTy::getGlobalViewAttr ( cir::PointerType type,
cir::GlobalOp globalOp,
llvm::ArrayRef< int64_t > indices,
bool addressPoint = false )
inline

Get constant address of a global variable as an MLIR attribute.

This overload converts raw int64_t indices to an ArrayAttr.

Definition at line 545 of file CIRBaseBuilder.h.

◆ getGlobalViewAttr() [3/3]

cir::GlobalViewAttr cir::CIRBaseBuilderTy::getGlobalViewAttr ( cir::PointerType type,
cir::GlobalOp globalOp,
mlir::ArrayAttr indices = {},
bool addressPoint = false )
inline

Get constant address of a global variable as an MLIR attribute.

Definition at line 535 of file CIRBaseBuilder.h.

◆ getIsFPConstrained()

bool cir::CIRBaseBuilderTy::getIsFPConstrained ( ) const
inline

Query for the use of constrained floating point math.

Definition at line 242 of file CIRBaseBuilder.h.

◆ getMethodAttr()

cir::MethodAttr cir::CIRBaseBuilderTy::getMethodAttr ( cir::MethodType ty,
cir::FuncOp methodFuncOp )
inline

Definition at line 215 of file CIRBaseBuilder.h.

◆ getNullDataMemberAttr()

mlir::TypedAttr cir::CIRBaseBuilderTy::getNullDataMemberAttr ( cir::DataMemberType ty)
inline

Definition at line 125 of file CIRBaseBuilder.h.

◆ getNullMethodAttr()

cir::MethodAttr cir::CIRBaseBuilderTy::getNullMethodAttr ( cir::MethodType ty)
inline

Definition at line 220 of file CIRBaseBuilder.h.

◆ getNullPtr()

cir::ConstantOp cir::CIRBaseBuilderTy::getNullPtr ( mlir::Type ty,
mlir::Location loc )
inline

Definition at line 1113 of file CIRBaseBuilder.h.

◆ getNullValue()

cir::ConstantOp cir::CIRBaseBuilderTy::getNullValue ( mlir::Type ty,
mlir::Location loc )
inline

Definition at line 116 of file CIRBaseBuilder.h.

◆ getPointerTo() [1/3]

cir::PointerType cir::CIRBaseBuilderTy::getPointerTo ( mlir::Type ty)
inline

Definition at line 189 of file CIRBaseBuilder.h.

◆ getPointerTo() [2/3]

cir::PointerType cir::CIRBaseBuilderTy::getPointerTo ( mlir::Type ty,
clang::LangAS langAS )
inline

Definition at line 198 of file CIRBaseBuilder.h.

◆ getPointerTo() [3/3]

cir::PointerType cir::CIRBaseBuilderTy::getPointerTo ( mlir::Type ty,
mlir::ptr::MemorySpaceAttrInterface as )
inline

Definition at line 193 of file CIRBaseBuilder.h.

◆ getSignedInt()

mlir::Value cir::CIRBaseBuilderTy::getSignedInt ( mlir::Location loc,
int64_t val,
unsigned numBits )
inline

Definition at line 103 of file CIRBaseBuilder.h.

◆ getSIntNTy()

cir::IntType cir::CIRBaseBuilderTy::getSIntNTy ( int n)
inline

Definition at line 185 of file CIRBaseBuilder.h.

◆ getSizeFromCharUnits()

mlir::IntegerAttr cir::CIRBaseBuilderTy::getSizeFromCharUnits ( clang::CharUnits size)
inline

Definition at line 1108 of file CIRBaseBuilder.h.

◆ getTF32Type()

mlir::FloatType cir::CIRBaseBuilderTy::getTF32Type ( )
delete

◆ getTrue()

cir::ConstantOp cir::CIRBaseBuilderTy::getTrue ( mlir::Location loc)
inline

Definition at line 168 of file CIRBaseBuilder.h.

◆ getTrueAttr()

cir::BoolAttr cir::CIRBaseBuilderTy::getTrueAttr ( )
inline

Definition at line 228 of file CIRBaseBuilder.h.

◆ getUIntNTy()

cir::IntType cir::CIRBaseBuilderTy::getUIntNTy ( int n)
inline

Definition at line 173 of file CIRBaseBuilder.h.

◆ getUnsignedInt()

mlir::Value cir::CIRBaseBuilderTy::getUnsignedInt ( mlir::Location loc,
uint64_t val,
unsigned numBits )
inline

Definition at line 109 of file CIRBaseBuilder.h.

◆ getVoidFnPtrTy()

cir::PointerType cir::CIRBaseBuilderTy::getVoidFnPtrTy ( mlir::TypeRange argTypes = {})
inline

Returns void (*)(T...) as a cir::PointerType.

Definition at line 1061 of file CIRBaseBuilder.h.

◆ getVoidFnTy()

cir::FuncType cir::CIRBaseBuilderTy::getVoidFnTy ( mlir::TypeRange argTypes = {})
inline

Returns void (T...) as a cir::FuncType.

Definition at line 1056 of file CIRBaseBuilder.h.

◆ getVoidPtrTy() [1/2]

cir::PointerType cir::CIRBaseBuilderTy::getVoidPtrTy ( clang::LangAS langAS = clang::LangAS::Default)
inline

Definition at line 207 of file CIRBaseBuilder.h.

◆ getVoidPtrTy() [2/2]

cir::PointerType cir::CIRBaseBuilderTy::getVoidPtrTy ( mlir::ptr::MemorySpaceAttrInterface as)
inline

Definition at line 211 of file CIRBaseBuilder.h.

◆ getVoidTy()

cir::VoidType cir::CIRBaseBuilderTy::getVoidTy ( )
inline

Definition at line 171 of file CIRBaseBuilder.h.

◆ getZeroInitAttr()

mlir::TypedAttr cir::CIRBaseBuilderTy::getZeroInitAttr ( mlir::Type ty)
inline

Definition at line 129 of file CIRBaseBuilder.h.

◆ setDefaultConstrainedExcept()

void cir::CIRBaseBuilderTy::setDefaultConstrainedExcept ( clang::LangOptions::FPExceptionModeKind newExcept)
inline

Set the exception handling to be used with constrained floating point.

Definition at line 245 of file CIRBaseBuilder.h.

◆ setDefaultConstrainedRounding()

void cir::CIRBaseBuilderTy::setDefaultConstrainedRounding ( llvm::RoundingMode newRounding)
inline

Set the rounding mode handling to be used with constrained floating point.

Definition at line 256 of file CIRBaseBuilder.h.

◆ setFastMathFlags()

void cir::CIRBaseBuilderTy::setFastMathFlags ( cir::FastMathFlags flags)
inline

Set the fast-math flags attached to floating-point operations.

Definition at line 266 of file CIRBaseBuilder.h.

◆ setIsFPConstrained()

void cir::CIRBaseBuilderTy::setIsFPConstrained ( bool isCon)
inline

Enable/Disable use of constrained floating point math.

When enabled the CreateF<op>() calls instead create constrained floating point intrinsic calls. Fast math flags are unaffected by this setting.

Definition at line 239 of file CIRBaseBuilder.h.

Member Data Documentation

◆ defaultConstrainedExcept

clang::LangOptions::FPExceptionModeKind cir::CIRBaseBuilderTy::defaultConstrainedExcept
Initial value:
=
@ FPE_Ignore
Assume that floating-point exceptions are masked.

Definition at line 83 of file CIRBaseBuilder.h.

◆ defaultConstrainedRounding

llvm::RoundingMode cir::CIRBaseBuilderTy::defaultConstrainedRounding
Initial value:
=
llvm::RoundingMode::NearestTiesToEven

Definition at line 85 of file CIRBaseBuilder.h.

◆ fastMathFlags

cir::FastMathFlags cir::CIRBaseBuilderTy::fastMathFlags = cir::FastMathFlags::none

Definition at line 87 of file CIRBaseBuilder.h.

◆ isFPConstrained

bool cir::CIRBaseBuilderTy::isFPConstrained = false

Definition at line 82 of file CIRBaseBuilder.h.


The documentation for this class was generated from the following file: