|
clang 23.0.0git
|
#include "clang/CIR/Dialect/Builder/CIRBaseBuilder.h"
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 () |
| 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 | 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::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::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={}) |
| 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) |
| 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::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::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::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={}) |
| 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) |
| 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) |
| 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 | createShiftRight (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, 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) |
Definition at line 64 of file CIRBaseBuilder.h.
|
inline |
Definition at line 67 of file CIRBaseBuilder.h.
Referenced by clang::CIRGen::CIRGenBuilderTy::CIRGenBuilderTy().
|
inline |
Definition at line 69 of file CIRBaseBuilder.h.
|
inline |
Definition at line 693 of file CIRBaseBuilder.h.
References cir::None, cir::NoSignedWrap, cir::NoUnsignedWrap, cir::Saturated, and cir::testFlag().
Referenced by buildAlgebraicComplexDiv(), createNSWAdd(), createNUWAdd(), emitCommonNeonBuiltinExpr(), emitLogbBuiltin(), and lowerComplexMul().
|
inline |
Definition at line 589 of file CIRBaseBuilder.h.
References createCast().
Referenced by createAddrSpaceCast(), emitAMDGPUDispatchPtr(), and getCorrectedPtr().
|
inline |
Definition at line 594 of file CIRBaseBuilder.h.
References createAddrSpaceCast().
|
inline |
Definition at line 241 of file CIRBaseBuilder.h.
References createLoad().
|
inline |
Definition at line 329 of file CIRBaseBuilder.h.
References createAlloca(), and getAlignmentAttr().
|
inline |
Definition at line 324 of file CIRBaseBuilder.h.
|
inline |
Definition at line 309 of file CIRBaseBuilder.h.
Referenced by createAlloca(), createAlloca(), createDummyValue(), emitBuiltinAlloca(), and lowerArrayDtorCtorIntoLoop().
|
inline |
Definition at line 316 of file CIRBaseBuilder.h.
References createAlloca(), and getAlignmentAttr().
|
inline |
Definition at line 632 of file CIRBaseBuilder.h.
Referenced by emitX86MaskedCompareResult(), and emitX86Muldq().
|
inline |
Definition at line 567 of file CIRBaseBuilder.h.
References createCast().
|
inline |
Definition at line 563 of file CIRBaseBuilder.h.
References createCast().
Referenced by clang::CIRGen::CIRGenBuilderTy::createElementBitCast(), createPtrBitcast(), emitAArch64CompareBuiltinExpr(), emitAtomicIsLockFree(), emitBuiltinAlloca(), emitCommonNeonBuiltinExpr(), emitCommonNeonShift(), emitDeclDestroy(), emitEncodeKey(), emitExactDynamicCast(), emitGlobalVarDeclLValue(), emitNeonCallToOp(), emitNeonRShiftImm(), emitVectorFCmp(), emitX86MaskAddLogic(), emitX86MaskedCompareResult(), emitX86MaskLogic(), emitX86MaskUnpack(), emitX86Muldq(), emitX86vpcom(), getCorrectedPtr(), getMaskVecValue(), getMaskZeroBitAsBool(), makeBinaryAtomicValue(), packArgsIntoNVPTXFormatBuffer(), and performTypeAdjustment().
|
inline |
Definition at line 526 of file CIRBaseBuilder.h.
References createBoolToInt(), createIntCast(), and getBoolTy().
|
inline |
Definition at line 559 of file CIRBaseBuilder.h.
References createCast().
Referenced by createBoolIntToIntCast().
|
inline |
Create a break operation.
Definition at line 281 of file CIRBaseBuilder.h.
Referenced by emitAtomicCmpXchgFailureSet(), and emitAtomicOp().
|
inline |
Definition at line 538 of file CIRBaseBuilder.h.
Referenced by createBuiltinIntCast().
|
inline |
Definition at line 543 of file CIRBaseBuilder.h.
References createBuiltinIntCast().
|
inline |
Definition at line 475 of file CIRBaseBuilder.h.
|
inline |
Definition at line 447 of file CIRBaseBuilder.h.
Referenced by buildComplexBinOpLibCall(), emitAtomicIsLockFree(), emitCallLikeOp(), emitDeclDestroy(), and pushTemporaryCleanup().
|
inline |
Definition at line 498 of file CIRBaseBuilder.h.
|
inline |
Definition at line 518 of file CIRBaseBuilder.h.
References createCast(), and kind.
|
inline |
Definition at line 511 of file CIRBaseBuilder.h.
References kind.
Referenced by createAddrSpaceCast(), createBitcast(), createBitcast(), createBoolToInt(), createCast(), createIntCast(), createIntToPtr(), createPtrToBoolCast(), createPtrToInt(), emitAArch64CompareBuiltinExpr(), emitCommonNeonBuiltinExpr(), emitPointerArithmetic(), emitX86Aes(), emitX86Aeswide(), emitX86CvtF16ToFloatExpr(), emitX86SExtMask(), lowerComplexDiv(), lowerComplexToComplexCast(), and lowerComplexToScalarCast().
|
inline |
Definition at line 772 of file CIRBaseBuilder.h.
References kind.
Referenced by buildRangeReductionComplexDiv(), createIsNaN(), createPtrIsNotNull(), createPtrIsNull(), emitAArch64CompareBuiltinExpr(), emitBuiltinBitOpWithFallback(), emitCXXNewAllocSize(), emitExactDynamicCast(), and emitLogbBuiltin().
|
inline |
Definition at line 227 of file CIRBaseBuilder.h.
|
inline |
Definition at line 206 of file CIRBaseBuilder.h.
Referenced by buildAlgebraicComplexDiv(), buildRangeReductionComplexDiv(), lowerComplexDiv(), lowerComplexMul(), lowerComplexToComplexCast(), and lowerScalarToComplexCast().
|
inline |
Definition at line 220 of file CIRBaseBuilder.h.
Referenced by lowerComplexDiv(), lowerComplexToComplexCast(), and lowerComplexToScalarCast().
|
inline |
Definition at line 213 of file CIRBaseBuilder.h.
Referenced by lowerComplexDiv(), lowerComplexToComplexCast(), and lowerComplexToScalarCast().
|
inline |
Create a loop condition.
Definition at line 894 of file CIRBaseBuilder.h.
References condition.
Referenced by lowerArrayDtorCtorIntoLoop().
|
inline |
Create a continue operation.
Definition at line 286 of file CIRBaseBuilder.h.
|
inline |
Create a copy with inferred length.
Definition at line 377 of file CIRBaseBuilder.h.
|
inline |
Definition at line 295 of file CIRBaseBuilder.h.
|
inline |
Definition at line 712 of file CIRBaseBuilder.h.
Referenced by buildAlgebraicComplexDiv().
|
inline |
Create a do-while operation.
Definition at line 255 of file CIRBaseBuilder.h.
Referenced by lowerArrayDtorCtorIntoLoop().
|
inline |
Definition at line 427 of file CIRBaseBuilder.h.
References createAlloca(), getAlignmentAttr(), and getPointerTo().
|
inline |
Definition at line 602 of file CIRBaseBuilder.h.
References getConstAPInt(), and getUIntNTy().
Referenced by getMaskZeroBitAsBool().
|
inline |
Definition at line 720 of file CIRBaseBuilder.h.
References cir::MissingFeatures::fastMathFlags(), cir::MissingFeatures::fpConstraints(), and cir::MissingFeatures::metaDataNode().
Referenced by buildAlgebraicComplexDiv(), buildRangeReductionComplexDiv(), and lowerComplexMul().
|
inline |
Definition at line 741 of file CIRBaseBuilder.h.
References cir::MissingFeatures::fastMathFlags(), cir::MissingFeatures::fpConstraints(), and cir::MissingFeatures::metaDataNode().
Referenced by buildAlgebraicComplexDiv(), and buildRangeReductionComplexDiv().
|
inline |
Emit a load from an boolean flag variable.
Definition at line 398 of file CIRBaseBuilder.h.
References createLoad(), createPtrBitcast(), and getBoolTy().
Referenced by emitCleanup().
|
inline |
Definition at line 405 of file CIRBaseBuilder.h.
References createStore(), and getBool().
Referenced by setupCleanupBlockDeactivation().
|
inline |
Definition at line 734 of file CIRBaseBuilder.h.
References cir::MissingFeatures::fastMathFlags(), cir::MissingFeatures::fpConstraints(), and cir::MissingFeatures::metaDataNode().
Referenced by buildAlgebraicComplexDiv(), buildRangeReductionComplexDiv(), and lowerComplexMul().
|
inline |
Definition at line 755 of file CIRBaseBuilder.h.
References cir::MissingFeatures::fastMathFlags(), cir::MissingFeatures::fpConstraints(), and cir::MissingFeatures::metaDataNode().
|
inline |
Create a for operation.
Definition at line 271 of file CIRBaseBuilder.h.
|
inline |
Definition at line 748 of file CIRBaseBuilder.h.
References cir::MissingFeatures::fastMathFlags(), cir::MissingFeatures::fpConstraints(), and cir::MissingFeatures::metaDataNode().
|
inline |
Definition at line 727 of file CIRBaseBuilder.h.
References cir::MissingFeatures::fastMathFlags(), cir::MissingFeatures::fpConstraints(), and cir::MissingFeatures::metaDataNode().
Referenced by buildAlgebraicComplexDiv(), buildRangeReductionComplexDiv(), and lowerComplexMul().
|
inline |
Definition at line 371 of file CIRBaseBuilder.h.
References createGetGlobal().
|
inline |
Definition at line 363 of file CIRBaseBuilder.h.
References cir::MissingFeatures::addressSpace(), and getPointerTo().
Referenced by createGetGlobal(), createReferenceTemporary(), emitDeclDestroy(), and pushTemporaryCleanup().
|
inline |
Definition at line 421 of file CIRBaseBuilder.h.
|
inline |
Definition at line 908 of file CIRBaseBuilder.h.
References cir::MissingFeatures::addressSpace(), getPointerTo(), and getVoidPtrTy().
|
inlinenodiscard |
Definition at line 411 of file CIRBaseBuilder.h.
|
inline |
Definition at line 290 of file CIRBaseBuilder.h.
|
inline |
Definition at line 486 of file CIRBaseBuilder.h.
Referenced by emitCallLikeOp().
|
inline |
Definition at line 609 of file CIRBaseBuilder.h.
References getConstAPInt(), and getUIntNTy().
|
inline |
Definition at line 534 of file CIRBaseBuilder.h.
References createCast().
Referenced by createBoolIntToIntCast(), createBuiltinBitOp(), clang::CIRGen::CIRGenBuilderTy::createNeg(), emitAsmStores(), emitCommonNeonBuiltinExpr(), emitCXXNewAllocSize(), emitNeonShiftVector(), and emitX86FunnelShift().
|
inline |
Definition at line 547 of file CIRBaseBuilder.h.
References createCast().
Referenced by emitAsmStores(), emitFromInt(), and emitPointerArithmetic().
|
inline |
Definition at line 787 of file CIRBaseBuilder.h.
References createCompare().
Referenced by lowerComplexMul().
|
inline |
Definition at line 231 of file CIRBaseBuilder.h.
References getAlignmentAttr().
Referenced by createAlignedLoad(), and createFlagLoad().
|
inline |
Definition at line 648 of file CIRBaseBuilder.h.
References createSelect(), and getBool().
Referenced by lowerComplexMul().
|
inline |
Definition at line 653 of file CIRBaseBuilder.h.
References createSelect(), and getBool().
Referenced by lowerComplexToScalarCast().
|
inline |
Definition at line 625 of file CIRBaseBuilder.h.
References getConstAPInt().
|
inline |
Definition at line 768 of file CIRBaseBuilder.h.
|
inline |
Definition at line 300 of file CIRBaseBuilder.h.
Referenced by clang::CIRGen::CIRGenBuilderTy::createNeg().
|
inline |
Definition at line 658 of file CIRBaseBuilder.h.
References cir::None, cir::NoSignedWrap, cir::NoUnsignedWrap, and cir::testFlag().
Referenced by buildAlgebraicComplexDiv(), createNSWMul(), createNUWAMul(), emitCXXNewAllocSize(), emitPointerArithmetic(), emitX86Muldq(), and lowerComplexMul().
|
inline |
Definition at line 246 of file CIRBaseBuilder.h.
Referenced by createNot(), emitAtomicCmpXchg(), emitBinaryAtomicPost(), emitExactDynamicCast(), emitVectorFCmp(), and emitX86MaskLogic().
|
inline |
Definition at line 250 of file CIRBaseBuilder.h.
References createNot().
|
inline |
Definition at line 702 of file CIRBaseBuilder.h.
References createAdd(), and cir::NoSignedWrap.
|
inline |
Definition at line 665 of file CIRBaseBuilder.h.
References createMul(), and cir::NoSignedWrap.
|
inline |
Definition at line 683 of file CIRBaseBuilder.h.
References createSub(), and cir::NoSignedWrap.
|
inline |
Definition at line 707 of file CIRBaseBuilder.h.
References createAdd(), and cir::NoUnsignedWrap.
|
inline |
Definition at line 669 of file CIRBaseBuilder.h.
References createMul(), and cir::NoUnsignedWrap.
Referenced by genVscaleTimesFactor().
|
inline |
Definition at line 688 of file CIRBaseBuilder.h.
References createSub(), and cir::NoUnsignedWrap.
|
inline |
Definition at line 636 of file CIRBaseBuilder.h.
Referenced by emitCXXNewAllocSize().
|
inline |
Definition at line 572 of file CIRBaseBuilder.h.
References createBitcast(), and getPointerTo().
Referenced by clang::CIRGen::CIRGenBuilderTy::createAlignedLoad(), createFlagLoad(), emitAddrOfZeroSizeField(), emitAtomicCmpXchg(), emitLibCallForAtomicExpr(), emitPrefetch(), and clang::CIRGen::Address::withElementType().
|
inline |
Definition at line 584 of file CIRBaseBuilder.h.
References createCompare(), and getNullPtr().
Referenced by performReturnAdjustment().
|
inline |
Definition at line 579 of file CIRBaseBuilder.h.
References createCompare(), and getNullPtr().
Referenced by emitCXXTypeidFromVTable().
|
inline |
Definition at line 438 of file CIRBaseBuilder.h.
Referenced by emitAddrOfZeroSizeField(), and emitEncodeKey().
|
inline |
Definition at line 555 of file CIRBaseBuilder.h.
References createCast(), and getBoolTy().
|
inline |
Definition at line 551 of file CIRBaseBuilder.h.
References createCast().
Referenced by emitAsmStores(), and emitToInt().
|
inline |
Definition at line 716 of file CIRBaseBuilder.h.
|
inline |
Definition at line 640 of file CIRBaseBuilder.h.
References condition.
Referenced by createLogicalAnd(), createLogicalOr(), emitBuiltinBitOpWithFallback(), emitCXXNewAllocSize(), emitLogbBuiltin(), and emitX86ScalarSelect().
|
inline |
Definition at line 797 of file CIRBaseBuilder.h.
References createShift(), and getConstAPInt().
|
inline |
Definition at line 791 of file CIRBaseBuilder.h.
Referenced by createShift(), createShift(), createShiftLeft(), createShiftLeft(), createShiftRight(), createShiftRight(), and emitX86Muldq().
|
inline |
Definition at line 803 of file CIRBaseBuilder.h.
References createShift().
|
inline |
Definition at line 820 of file CIRBaseBuilder.h.
References createShift().
|
inline |
Definition at line 810 of file CIRBaseBuilder.h.
References createShift().
|
inline |
Definition at line 825 of file CIRBaseBuilder.h.
References createShift().
|
inline |
Definition at line 815 of file CIRBaseBuilder.h.
References createShift().
Referenced by emitCommonNeonBuiltinExpr().
|
inline |
Definition at line 616 of file CIRBaseBuilder.h.
Referenced by emitSignBit().
|
inline |
Definition at line 385 of file CIRBaseBuilder.h.
Referenced by createFlagStore(), and lowerArrayDtorCtorIntoLoop().
|
inline |
Definition at line 674 of file CIRBaseBuilder.h.
References cir::None, cir::NoSignedWrap, cir::NoUnsignedWrap, cir::Saturated, and cir::testFlag().
Referenced by buildAlgebraicComplexDiv(), createNSWSub(), createNUWSub(), emitCommonNeonBuiltinExpr(), and lowerComplexMul().
|
inline |
Definition at line 777 of file CIRBaseBuilder.h.
References getCIRIntOrFloatBitWidth(), getSIntNTy(), and kind.
Referenced by emitAArch64CompareBuiltinExpr(), emitVectorFCmp(), and emitX86vpcom().
|
inline |
Create a while operation.
Definition at line 263 of file CIRBaseBuilder.h.
|
inline |
Definition at line 764 of file CIRBaseBuilder.h.
Referenced by emitCommonNeonBuiltinExpr().
|
inline |
Create a yield operation.
Definition at line 899 of file CIRBaseBuilder.h.
Referenced by buildRangeReductionComplexDiv(), emitAtomicCmpXchg(), emitAtomicCmpXchgFailureSet(), emitAtomicExprWithDynamicMemOrder(), emitAtomicOp(), emitCleanup(), emitExactDynamicCast(), emitX86Aes(), emitX86Aeswide(), lowerArrayDtorCtorIntoLoop(), lowerComplexMul(), and performReturnAdjustment().
|
inline |
Definition at line 878 of file CIRBaseBuilder.h.
References getConstantInt(), and clang::CharUnits::getQuantity().
|
inline |
Definition at line 864 of file CIRBaseBuilder.h.
References getAlignmentAttr(), and clang::CharUnits::getQuantity().
Referenced by clang::CIRGen::CIRGenBuilderTy::createAlignedLoad(), createAlloca(), createAlloca(), createDummyValue(), createLoad(), clang::CIRGen::CIRGenBuilderTy::createLoad(), clang::CIRGen::CIRGenBuilderTy::createMemSet(), getAlignmentAttr(), getAlignmentAttr(), lowerArrayDtorCtorIntoLoop(), and packArgsIntoNVPTXFormatBuffer().
|
inline |
Definition at line 872 of file CIRBaseBuilder.h.
|
inline |
Definition at line 868 of file CIRBaseBuilder.h.
References getAlignmentAttr().
|
inlinestatic |
Definition at line 844 of file CIRBaseBuilder.h.
Referenced by createReferenceTemporary(), and hoistAllocaOutOfCleanupScope().
|
inline |
Definition at line 139 of file CIRBaseBuilder.h.
References getCIRBoolAttr().
Referenced by createFlagStore(), createLogicalAnd(), createLogicalOr(), getFalse(), getTrue(), and setupCleanupBlockDeactivation().
|
inline |
Definition at line 145 of file CIRBaseBuilder.h.
Referenced by createBoolIntToIntCast(), createFlagLoad(), createPtrToBoolCast(), emitAtomicCmpXchg(), emitAtomicCmpXchgFailureSetCheckWeak(), emitAtomicIsLockFree(), emitX86Aes(), emitX86Aeswide(), lowerComplexToScalarCast(), and setupCleanupBlockDeactivation().
|
inline |
Definition at line 199 of file CIRBaseBuilder.h.
Referenced by getBool(), getFalseAttr(), getTrueAttr(), and clang::CIRGen::ConstantEmitter::tryEmitPrivate().
|
inlinestatic |
Definition at line 152 of file CIRBaseBuilder.h.
Referenced by createVecCompare().
|
inline |
Definition at line 76 of file CIRBaseBuilder.h.
Referenced by clang::CIRGen::CIRGenBuilderTy::createMaskedLoad(), clang::CIRGen::CIRGenBuilderTy::createVecShuffle(), emitCXXNewAllocSize(), clang::CIRGen::CIRGenFunction::emitDeclRefLValue(), emitLogbBuiltin(), emitNullBaseClassInitialization(), emitStoresForConstant(), emitX86Muldq(), getConstantInt(), and getNullValue().
|
inline |
Definition at line 80 of file CIRBaseBuilder.h.
References getConstant().
Referenced by emitCommonNeonBuiltinExpr(), emitNeonShiftVector(), getAlignment(), clang::CIRGen::CIRGenBuilderTy::getSInt32(), clang::CIRGen::CIRGenBuilderTy::getSInt64(), clang::CIRGen::CIRGenBuilderTy::getUInt32(), and clang::CIRGen::CIRGenBuilderTy::getUInt64().
|
inline |
Definition at line 71 of file CIRBaseBuilder.h.
Referenced by createExtractElement(), createInsertElement(), createLowBitsSet(), createShift(), emitX86MaskedCompare(), emitX86vpcom(), getSignedInt(), and getUnsignedInt().
|
inline |
Definition at line 102 of file CIRBaseBuilder.h.
References getConstPtrAttr().
Referenced by getZeroInitAttr().
|
inline |
Definition at line 305 of file CIRBaseBuilder.h.
Referenced by getConstNullPtrAttr(), and getNullPtr().
|
inline |
Definition at line 142 of file CIRBaseBuilder.h.
References getBool().
|
inline |
Definition at line 204 of file CIRBaseBuilder.h.
References getCIRBoolAttr().
Referenced by getZeroInitAttr().
|
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 337 of file CIRBaseBuilder.h.
Referenced by createNewGlobalView(), getGlobalViewAttr(), and tryEmitGlobalCompoundLiteral().
|
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 353 of file CIRBaseBuilder.h.
References getGlobalViewAttr().
|
inline |
Get constant address of a global variable as an MLIR attribute.
Definition at line 344 of file CIRBaseBuilder.h.
|
inline |
Definition at line 190 of file CIRBaseBuilder.h.
|
inline |
Definition at line 107 of file CIRBaseBuilder.h.
Referenced by getZeroInitAttr().
|
inline |
Definition at line 195 of file CIRBaseBuilder.h.
Referenced by getZeroInitAttr().
|
inline |
Definition at line 888 of file CIRBaseBuilder.h.
References getConstPtrAttr(), and cir::MissingFeatures::targetCodeGenInfoGetNullPointer().
Referenced by createPtrIsNotNull(), createPtrIsNull(), emitAtomicIsLockFree(), emitDynamicCastToNull(), emitExactDynamicCast(), packArgsIntoNVPTXFormatBuffer(), and performReturnAdjustment().
|
inline |
Definition at line 98 of file CIRBaseBuilder.h.
References getConstant(), and getZeroInitAttr().
Referenced by emitAArch64CompareBuiltinExpr(), emitBuiltinBitOpWithFallback(), emitX86Aes(), emitX86Aeswide(), emitX86ConvertToMask(), emitX86MaskedCompare(), emitX86MaskedCompareResult(), emitX86vpcom(), and lowerScalarToComplexCast().
|
inline |
Definition at line 164 of file CIRBaseBuilder.h.
Referenced by clang::CIRGen::CIRGenBuilderTy::createBaseClassAddr(), clang::CIRGen::CIRGenBuilderTy::createComplexImagPtr(), clang::CIRGen::CIRGenBuilderTy::createComplexRealPtr(), clang::CIRGen::CIRGenBuilderTy::createDerivedClassAddr(), createDummyValue(), clang::CIRGen::CIRGenBuilderTy::createElementBitCast(), createGetGlobal(), clang::CIRGen::CIRGenBuilderTy::createGetIndirectMember(), clang::CIRGen::CIRGenBuilderTy::createGetMember(), createGetMethod(), createPtrBitcast(), emitExactDynamicCast(), clang::CIRGen::CIRGenModule::getAddrOfConstantStringFromLiteral(), clang::CIRGen::CIRGenBuilderTy::getArrayElement(), getPointerTo(), clang::CIRGen::CIRGenBuilderTy::getPtrToVPtrType(), getVoidPtrTy(), getVoidPtrTy(), lowerArrayDtorCtorIntoLoop(), makeBinaryAtomicValue(), clang::CIRGen::CIRGenBuilderTy::maybeBuildArrayDecay(), and cir::CIRCXXABI::readArrayCookie().
|
inline |
Definition at line 173 of file CIRBaseBuilder.h.
References clang::Default, getPointerTo(), and cir::toCIRAddressSpaceAttr().
|
inline |
Definition at line 168 of file CIRBaseBuilder.h.
|
inline |
Definition at line 85 of file CIRBaseBuilder.h.
References getConstAPInt().
Referenced by lowerArrayDtorCtorIntoLoop().
|
inline |
Definition at line 160 of file CIRBaseBuilder.h.
Referenced by createVecCompare(), and cir::CIRCXXABI::readArrayCookie().
|
inline |
Definition at line 883 of file CIRBaseBuilder.h.
References clang::CharUnits::getQuantity().
|
inline |
Definition at line 143 of file CIRBaseBuilder.h.
References getBool().
|
inline |
Definition at line 203 of file CIRBaseBuilder.h.
References getCIRBoolAttr().
|
inline |
Definition at line 148 of file CIRBaseBuilder.h.
Referenced by createExtractElement(), createInsertElement(), and cir::CIRCXXABI::readArrayCookie().
|
inline |
Definition at line 91 of file CIRBaseBuilder.h.
References getConstAPInt().
Referenced by lowerArrayDtorCtorIntoLoop().
|
inline |
Returns void (*)(T...) as a cir::PointerType.
Definition at line 836 of file CIRBaseBuilder.h.
|
inline |
Returns void (T...) as a cir::FuncType.
Definition at line 831 of file CIRBaseBuilder.h.
|
inline |
Definition at line 182 of file CIRBaseBuilder.h.
References clang::Default, and getPointerTo().
Referenced by clang::CIRGen::CIRGenBuilderTy::createDynCastToVoid(), createGetMethod(), emitAtomicIsLockFree(), emitBuiltinAlloca(), getItaniumDynamicCastFn(), initCatchParam(), packArgsIntoNVPTXFormatBuffer(), and cir::CIRCXXABI::readArrayCookie().
|
inline |
Definition at line 186 of file CIRBaseBuilder.h.
References getPointerTo().
|
inline |
Definition at line 146 of file CIRBaseBuilder.h.
|
inline |
Definition at line 111 of file CIRBaseBuilder.h.
References getConstNullPtrAttr(), getFalseAttr(), getNullDataMemberAttr(), and getNullMethodAttr().
Referenced by emitNullConstant(), emitNullConstantForBase(), getNullValue(), and clang::CIRGen::ConstantEmitter::tryEmitPrivate().