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::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.
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)
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

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 863 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 759 of file CIRBaseBuilder.h.

◆ createAddrSpaceCast() [2/2]

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

Definition at line 764 of file CIRBaseBuilder.h.

◆ createAlignedLoad()

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

Definition at line 379 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 492 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 487 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 472 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 479 of file CIRBaseBuilder.h.

◆ createAnd()

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

Definition at line 802 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 737 of file CIRBaseBuilder.h.

◆ createBitcast() [2/2]

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

Definition at line 733 of file CIRBaseBuilder.h.

◆ createBoolIntToIntCast()

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

Definition at line 696 of file CIRBaseBuilder.h.

◆ createBoolToInt()

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

Definition at line 729 of file CIRBaseBuilder.h.

◆ createBreak()

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

Create a break operation.

Definition at line 444 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 708 of file CIRBaseBuilder.h.

◆ createBuiltinIntCast() [2/2]

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

Definition at line 713 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 643 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 612 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 668 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 688 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 681 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 942 of file CIRBaseBuilder.h.

◆ createComplexAdd()

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

Definition at line 331 of file CIRBaseBuilder.h.

◆ createComplexConj()

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

Definition at line 365 of file CIRBaseBuilder.h.

◆ createComplexCreate()

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

Definition at line 310 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 356 of file CIRBaseBuilder.h.

◆ createComplexImag()

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

Definition at line 324 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 347 of file CIRBaseBuilder.h.

◆ createComplexReal()

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

Definition at line 317 of file CIRBaseBuilder.h.

◆ createComplexSub()

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

Definition at line 339 of file CIRBaseBuilder.h.

◆ createCondition()

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

Create a loop condition.

Definition at line 1093 of file CIRBaseBuilder.h.

◆ createContinue()

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

Create a continue operation.

Definition at line 449 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 542 of file CIRBaseBuilder.h.

◆ createDec()

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

Definition at line 458 of file CIRBaseBuilder.h.

◆ createDiv()

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

Definition at line 882 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 393 of file CIRBaseBuilder.h.

◆ createDummyValue()

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

Definition at line 592 of file CIRBaseBuilder.h.

◆ createExtractElement()

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

Definition at line 772 of file CIRBaseBuilder.h.

◆ createFAdd()

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

Definition at line 890 of file CIRBaseBuilder.h.

◆ createFDiv()

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

Definition at line 908 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 563 of file CIRBaseBuilder.h.

◆ createFlagStore()

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

Definition at line 570 of file CIRBaseBuilder.h.

◆ createFMul()

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

Definition at line 902 of file CIRBaseBuilder.h.

◆ createFNeg()

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

Definition at line 920 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 421 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 431 of file CIRBaseBuilder.h.

◆ createFRem()

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

Definition at line 914 of file CIRBaseBuilder.h.

◆ createFSub()

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

Definition at line 896 of file CIRBaseBuilder.h.

◆ createGetGlobal() [1/2]

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

Definition at line 536 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 528 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 586 of file CIRBaseBuilder.h.

◆ createGetMethod()

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

Definition at line 1107 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 576 of file CIRBaseBuilder.h.

◆ createInc()

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

Definition at line 453 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 655 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 779 of file CIRBaseBuilder.h.

◆ createIntCast()

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

Definition at line 704 of file CIRBaseBuilder.h.

◆ createIntToPtr()

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

Definition at line 717 of file CIRBaseBuilder.h.

◆ createIsNaN()

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

Definition at line 986 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 369 of file CIRBaseBuilder.h.

◆ createLogicalAnd()

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

Definition at line 818 of file CIRBaseBuilder.h.

◆ createLogicalOr()

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

Definition at line 823 of file CIRBaseBuilder.h.

◆ createLowBitsSet()

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

Definition at line 795 of file CIRBaseBuilder.h.

◆ createMax()

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

Definition at line 934 of file CIRBaseBuilder.h.

◆ createMin()

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

Definition at line 938 of file CIRBaseBuilder.h.

◆ createMinus()

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

Definition at line 463 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 828 of file CIRBaseBuilder.h.

◆ createNot() [1/2]

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

Definition at line 384 of file CIRBaseBuilder.h.

◆ createNot() [2/2]

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

Definition at line 388 of file CIRBaseBuilder.h.

◆ createNSWAdd()

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

Definition at line 872 of file CIRBaseBuilder.h.

◆ createNSWMul()

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

Definition at line 835 of file CIRBaseBuilder.h.

◆ createNSWSub()

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

Definition at line 853 of file CIRBaseBuilder.h.

◆ createNUWAdd()

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

Definition at line 877 of file CIRBaseBuilder.h.

◆ createNUWAMul()

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

Definition at line 839 of file CIRBaseBuilder.h.

◆ createNUWSub()

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

Definition at line 858 of file CIRBaseBuilder.h.

◆ createOr()

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

Definition at line 806 of file CIRBaseBuilder.h.

◆ createPtrBitcast()

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

Definition at line 742 of file CIRBaseBuilder.h.

◆ createPtrIsNotNull()

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

Definition at line 754 of file CIRBaseBuilder.h.

◆ createPtrIsNull()

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

Definition at line 749 of file CIRBaseBuilder.h.

◆ createPtrStride()

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

Definition at line 603 of file CIRBaseBuilder.h.

◆ createPtrToBoolCast()

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

Definition at line 725 of file CIRBaseBuilder.h.

◆ createPtrToInt()

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

Definition at line 721 of file CIRBaseBuilder.h.

◆ createRem()

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

Definition at line 886 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 810 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 996 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 990 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 1002 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 1019 of file CIRBaseBuilder.h.

◆ createShiftLeft() [2/2]

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

Definition at line 1009 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 1024 of file CIRBaseBuilder.h.

◆ createShiftRight() [2/2]

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

Definition at line 1014 of file CIRBaseBuilder.h.

◆ createSignBit()

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

Definition at line 786 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 550 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 844 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 954 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 972 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 401 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 409 of file CIRBaseBuilder.h.

◆ createXor()

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

Definition at line 930 of file CIRBaseBuilder.h.

◆ createYield()

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

Create a yield operation.

Definition at line 1098 of file CIRBaseBuilder.h.

◆ getAlignment()

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

Definition at line 1077 of file CIRBaseBuilder.h.

◆ getAlignmentAttr() [1/3]

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

Definition at line 1063 of file CIRBaseBuilder.h.

◆ getAlignmentAttr() [2/3]

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

Definition at line 1071 of file CIRBaseBuilder.h.

◆ getAlignmentAttr() [3/3]

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

Definition at line 1067 of file CIRBaseBuilder.h.

◆ getBestAllocaInsertPoint()

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

Definition at line 1043 of file CIRBaseBuilder.h.

◆ getBool()

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

Definition at line 153 of file CIRBaseBuilder.h.

◆ getBoolTy()

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

Definition at line 159 of file CIRBaseBuilder.h.

◆ getCIRBoolAttr()

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

Definition at line 213 of file CIRBaseBuilder.h.

◆ getCIRIntOrFloatBitWidth()

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

Definition at line 166 of file CIRBaseBuilder.h.

◆ getConstant()

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

Definition at line 83 of file CIRBaseBuilder.h.

◆ getConstantInt()

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

Definition at line 87 of file CIRBaseBuilder.h.

◆ getConstAPInt()

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

Definition at line 78 of file CIRBaseBuilder.h.

◆ getConstNullPtrAttr()

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

Definition at line 109 of file CIRBaseBuilder.h.

◆ getConstPtrAttr()

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

Definition at line 468 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 259 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 240 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 250 of file CIRBaseBuilder.h.

◆ getFalse()

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

Definition at line 156 of file CIRBaseBuilder.h.

◆ getFalseAttr()

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

Definition at line 218 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 500 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 517 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 507 of file CIRBaseBuilder.h.

◆ getIsFPConstrained()

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

Query for the use of constrained floating point math.

Definition at line 231 of file CIRBaseBuilder.h.

◆ getMethodAttr()

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

Definition at line 204 of file CIRBaseBuilder.h.

◆ getNullDataMemberAttr()

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

Definition at line 114 of file CIRBaseBuilder.h.

◆ getNullMethodAttr()

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

Definition at line 209 of file CIRBaseBuilder.h.

◆ getNullPtr()

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

Definition at line 1087 of file CIRBaseBuilder.h.

◆ getNullValue()

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

Definition at line 105 of file CIRBaseBuilder.h.

◆ getPointerTo() [1/3]

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

Definition at line 178 of file CIRBaseBuilder.h.

◆ getPointerTo() [2/3]

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

Definition at line 187 of file CIRBaseBuilder.h.

◆ getPointerTo() [3/3]

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

Definition at line 182 of file CIRBaseBuilder.h.

◆ getSignedInt()

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

Definition at line 92 of file CIRBaseBuilder.h.

◆ getSIntNTy()

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

Definition at line 174 of file CIRBaseBuilder.h.

◆ getSizeFromCharUnits()

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

Definition at line 1082 of file CIRBaseBuilder.h.

◆ getTrue()

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

Definition at line 157 of file CIRBaseBuilder.h.

◆ getTrueAttr()

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

Definition at line 217 of file CIRBaseBuilder.h.

◆ getUIntNTy()

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

Definition at line 162 of file CIRBaseBuilder.h.

◆ getUnsignedInt()

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

Definition at line 98 of file CIRBaseBuilder.h.

◆ getVoidFnPtrTy()

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

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

Definition at line 1035 of file CIRBaseBuilder.h.

◆ getVoidFnTy()

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

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

Definition at line 1030 of file CIRBaseBuilder.h.

◆ getVoidPtrTy() [1/2]

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

Definition at line 196 of file CIRBaseBuilder.h.

◆ getVoidPtrTy() [2/2]

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

Definition at line 200 of file CIRBaseBuilder.h.

◆ getVoidTy()

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

Definition at line 160 of file CIRBaseBuilder.h.

◆ getZeroInitAttr()

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

Definition at line 118 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 234 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 245 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 228 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 73 of file CIRBaseBuilder.h.

◆ defaultConstrainedRounding

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

Definition at line 75 of file CIRBaseBuilder.h.

◆ isFPConstrained

bool cir::CIRBaseBuilderTy::isFPConstrained = false

Definition at line 72 of file CIRBaseBuilder.h.


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