|
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) |
| cir::LoadOp | createLoad (mlir::Location loc, mlir::Value ptr, bool isVolatile=false, uint64_t alignment=0) |
| 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, mlir::Type type, 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, mlir::Type type, llvm::StringRef name, mlir::IntegerAttr alignment) |
| mlir::Value | createAlloca (mlir::Location loc, cir::PointerType addrType, mlir::Type type, 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. | |
| mlir::Value | createGetGlobal (mlir::Location loc, cir::GlobalOp global, bool threadLocal=false) |
| mlir::Value | createGetGlobal (cir::GlobalOp global, bool threadLocal=false) |
| cir::CopyOp | createCopy (mlir::Value dst, mlir::Value src, bool isVolatile=false) |
| Create a copy with inferred length. | |
| cir::StoreOp | createStore (mlir::Location loc, mlir::Value val, mlir::Value dst, bool isVolatile=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 | createIntCast (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 | 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) |
| mlir::IntegerAttr | getAlignmentAttr (clang::CharUnits alignment) |
| mlir::IntegerAttr | getAlignmentAttr (llvm::Align alignment) |
| mlir::IntegerAttr | getAlignmentAttr (int64_t 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 659 of file CIRBaseBuilder.h.
References cir::None, cir::NoSignedWrap, cir::NoUnsignedWrap, cir::Saturated, and cir::testFlag().
Referenced by buildAlgebraicComplexDiv(), buildRangeReductionComplexDiv(), createNSWAdd(), createNUWAdd(), and lowerComplexMul().
|
inline |
Definition at line 555 of file CIRBaseBuilder.h.
References createCast().
Referenced by createAddrSpaceCast(), and getCorrectedPtr().
|
inline |
Definition at line 560 of file CIRBaseBuilder.h.
References createAddrSpaceCast().
|
inline |
Definition at line 230 of file CIRBaseBuilder.h.
References createLoad().
|
inline |
Definition at line 320 of file CIRBaseBuilder.h.
References createAlloca(), and getAlignmentAttr().
|
inline |
Definition at line 306 of file CIRBaseBuilder.h.
References createAlloca(), and getAlignmentAttr().
|
inline |
Definition at line 314 of file CIRBaseBuilder.h.
|
inline |
Definition at line 298 of file CIRBaseBuilder.h.
Referenced by createAlloca(), createAlloca(), createDummyValue(), emitBuiltinAlloca(), and lowerArrayDtorCtorIntoLoop().
|
inline |
Definition at line 598 of file CIRBaseBuilder.h.
Referenced by emitX86MaskedCompareResult(), and emitX86Muldq().
|
inline |
Definition at line 535 of file CIRBaseBuilder.h.
References createCast().
|
inline |
Definition at line 531 of file CIRBaseBuilder.h.
References createCast().
Referenced by clang::CIRGen::CIRGenBuilderTy::createElementBitCast(), createPtrBitcast(), emitAArch64CompareBuiltinExpr(), emitBuiltinAlloca(), emitCommonNeonBuiltinExpr(), emitEncodeKey(), emitExactDynamicCast(), emitGlobalVarDeclLValue(), emitNeonCallToOp(), emitVectorFCmp(), emitX86MaskAddLogic(), emitX86MaskedCompareResult(), emitX86MaskLogic(), emitX86MaskUnpack(), emitX86Muldq(), emitX86vpcom(), getCorrectedPtr(), getMaskVecValue(), getMaskZeroBitAsBool(), initCatchParam(), makeBinaryAtomicValue(), and performTypeAdjustment().
|
inline |
Definition at line 527 of file CIRBaseBuilder.h.
References createCast().
|
inline |
Create a break operation.
Definition at line 270 of file CIRBaseBuilder.h.
Referenced by emitAtomicCmpXchgFailureSet().
|
inline |
Definition at line 461 of file CIRBaseBuilder.h.
|
inline |
Definition at line 433 of file CIRBaseBuilder.h.
Referenced by buildComplexBinOpLibCall(), emitCallLikeOp(), and emitDeclDestroy().
|
inline |
Definition at line 484 of file CIRBaseBuilder.h.
|
inline |
Definition at line 504 of file CIRBaseBuilder.h.
References createCast(), and kind.
|
inline |
Definition at line 497 of file CIRBaseBuilder.h.
References kind.
Referenced by createAddrSpaceCast(), createBitcast(), createBitcast(), createBoolToInt(), createCast(), createIntCast(), createIntToPtr(), createPtrToBoolCast(), createPtrToInt(), emitAArch64CompareBuiltinExpr(), emitX86Aes(), emitX86Aeswide(), emitX86CvtF16ToFloatExpr(), emitX86SExtMask(), lowerComplexDiv(), lowerComplexToComplexCast(), and lowerComplexToScalarCast().
|
inline |
Definition at line 694 of file CIRBaseBuilder.h.
References kind.
Referenced by buildRangeReductionComplexDiv(), createIsNaN(), createPtrIsNotNull(), createPtrIsNull(), emitAArch64CompareBuiltinExpr(), emitCXXNewAllocSize(), and emitExactDynamicCast().
|
inline |
Definition at line 201 of file CIRBaseBuilder.h.
Referenced by buildAlgebraicComplexDiv(), buildRangeReductionComplexDiv(), lowerComplexDiv(), lowerComplexMul(), lowerComplexToComplexCast(), and lowerScalarToComplexCast().
|
inline |
Definition at line 215 of file CIRBaseBuilder.h.
Referenced by lowerComplexDiv(), lowerComplexToComplexCast(), and lowerComplexToScalarCast().
|
inline |
Definition at line 208 of file CIRBaseBuilder.h.
Referenced by lowerComplexDiv(), lowerComplexToComplexCast(), and lowerComplexToScalarCast().
|
inline |
Create a loop condition.
Definition at line 799 of file CIRBaseBuilder.h.
References condition.
Referenced by lowerArrayDtorCtorIntoLoop().
|
inline |
Create a continue operation.
Definition at line 275 of file CIRBaseBuilder.h.
|
inline |
Create a copy with inferred length.
Definition at line 368 of file CIRBaseBuilder.h.
|
inline |
Definition at line 284 of file CIRBaseBuilder.h.
|
inline |
Definition at line 678 of file CIRBaseBuilder.h.
Referenced by buildAlgebraicComplexDiv(), and buildRangeReductionComplexDiv().
|
inline |
Create a do-while operation.
Definition at line 244 of file CIRBaseBuilder.h.
Referenced by lowerArrayDtorCtorIntoLoop().
|
inline |
Definition at line 415 of file CIRBaseBuilder.h.
References createAlloca(), getAlignmentAttr(), and getPointerTo().
|
inline |
Definition at line 568 of file CIRBaseBuilder.h.
References getConstAPInt(), and getUIntNTy().
Referenced by getMaskZeroBitAsBool().
|
inline |
Emit a load from an boolean flag variable.
Definition at line 386 of file CIRBaseBuilder.h.
References createLoad(), createPtrBitcast(), and getBoolTy().
|
inline |
Definition at line 393 of file CIRBaseBuilder.h.
References createStore(), and getBool().
|
inline |
Create a for operation.
Definition at line 260 of file CIRBaseBuilder.h.
|
inline |
Definition at line 363 of file CIRBaseBuilder.h.
References createGetGlobal().
|
inline |
Definition at line 355 of file CIRBaseBuilder.h.
References cir::MissingFeatures::addressSpace(), and getPointerTo().
Referenced by createGetGlobal(), createReferenceTemporary(), and emitDeclDestroy().
|
inline |
Definition at line 409 of file CIRBaseBuilder.h.
Referenced by clang::CIRGen::CIRGenFunction::getAddrOfBitFieldStorage().
|
inline |
Definition at line 813 of file CIRBaseBuilder.h.
References cir::MissingFeatures::addressSpace(), getPointerTo(), and getVoidPtrTy().
|
inlinenodiscard |
Definition at line 399 of file CIRBaseBuilder.h.
|
inline |
Definition at line 279 of file CIRBaseBuilder.h.
|
inline |
Definition at line 472 of file CIRBaseBuilder.h.
Referenced by emitCallLikeOp().
|
inline |
Definition at line 575 of file CIRBaseBuilder.h.
References getConstAPInt(), and getUIntNTy().
|
inline |
Definition at line 511 of file CIRBaseBuilder.h.
References createCast().
Referenced by clang::CIRGen::CIRGenBuilderTy::createNeg(), emitAsmStores(), emitBuiltinBitOp(), emitCXXNewAllocSize(), and emitX86FunnelShift().
|
inline |
Definition at line 515 of file CIRBaseBuilder.h.
References createCast().
Referenced by emitAsmStores(), emitFromInt(), and emitPointerArithmetic().
|
inline |
Definition at line 709 of file CIRBaseBuilder.h.
References createCompare().
Referenced by lowerComplexMul().
|
inline |
Definition at line 222 of file CIRBaseBuilder.h.
References getAlignmentAttr().
Referenced by createAlignedLoad(), and createFlagLoad().
|
inline |
Definition at line 614 of file CIRBaseBuilder.h.
References createSelect(), and getBool().
Referenced by lowerComplexMul().
|
inline |
Definition at line 619 of file CIRBaseBuilder.h.
References createSelect(), and getBool().
Referenced by lowerComplexToScalarCast().
|
inline |
Definition at line 591 of file CIRBaseBuilder.h.
References getConstAPInt().
|
inline |
Definition at line 690 of file CIRBaseBuilder.h.
|
inline |
Definition at line 289 of file CIRBaseBuilder.h.
Referenced by clang::CIRGen::CIRGenBuilderTy::createFNeg(), and clang::CIRGen::CIRGenBuilderTy::createNeg().
|
inline |
Definition at line 624 of file CIRBaseBuilder.h.
References cir::None, cir::NoSignedWrap, cir::NoUnsignedWrap, and cir::testFlag().
Referenced by buildAlgebraicComplexDiv(), buildRangeReductionComplexDiv(), createNSWMul(), createNUWAMul(), emitCXXNewAllocSize(), emitX86Muldq(), and lowerComplexMul().
|
inline |
Definition at line 235 of file CIRBaseBuilder.h.
Referenced by createNot(), emitAtomicCmpXchg(), emitBinaryAtomicPost(), emitExactDynamicCast(), emitVectorFCmp(), and emitX86MaskLogic().
|
inline |
Definition at line 239 of file CIRBaseBuilder.h.
References createNot().
|
inline |
Definition at line 668 of file CIRBaseBuilder.h.
References createAdd(), and cir::NoSignedWrap.
|
inline |
Definition at line 631 of file CIRBaseBuilder.h.
References createMul(), and cir::NoSignedWrap.
|
inline |
Definition at line 649 of file CIRBaseBuilder.h.
References createSub(), and cir::NoSignedWrap.
|
inline |
Definition at line 673 of file CIRBaseBuilder.h.
References createAdd(), and cir::NoUnsignedWrap.
|
inline |
Definition at line 635 of file CIRBaseBuilder.h.
References createMul(), and cir::NoUnsignedWrap.
Referenced by genVscaleTimesFactor().
|
inline |
Definition at line 654 of file CIRBaseBuilder.h.
References createSub(), and cir::NoUnsignedWrap.
|
inline |
Definition at line 602 of file CIRBaseBuilder.h.
Referenced by emitCXXNewAllocSize().
|
inline |
Definition at line 540 of file CIRBaseBuilder.h.
References createBitcast(), and getPointerTo().
Referenced by clang::CIRGen::CIRGenBuilderTy::createAlignedLoad(), createFlagLoad(), emitAtomicCmpXchg(), emitPrefetch(), and clang::CIRGen::Address::withElementType().
|
inline |
Definition at line 550 of file CIRBaseBuilder.h.
References createCompare(), and getNullPtr().
|
inline |
Definition at line 545 of file CIRBaseBuilder.h.
References createCompare(), and getNullPtr().
Referenced by emitCXXTypeidFromVTable().
|
inline |
Definition at line 424 of file CIRBaseBuilder.h.
Referenced by emitEncodeKey().
|
inline |
Definition at line 523 of file CIRBaseBuilder.h.
References createCast(), and getBoolTy().
|
inline |
Definition at line 519 of file CIRBaseBuilder.h.
References createCast().
Referenced by emitAsmStores(), and emitToInt().
|
inline |
Definition at line 682 of file CIRBaseBuilder.h.
|
inline |
Definition at line 606 of file CIRBaseBuilder.h.
References condition.
Referenced by createLogicalAnd(), createLogicalOr(), emitCXXNewAllocSize(), and emitX86ScalarSelect().
|
inline |
Definition at line 719 of file CIRBaseBuilder.h.
References createShift(), and getConstAPInt().
|
inline |
Definition at line 713 of file CIRBaseBuilder.h.
Referenced by createShift(), createShift(), createShiftLeft(), createShiftLeft(), createShiftRight(), createShiftRight(), and emitX86Muldq().
|
inline |
Definition at line 725 of file CIRBaseBuilder.h.
References createShift().
|
inline |
Definition at line 742 of file CIRBaseBuilder.h.
References createShift().
|
inline |
Definition at line 732 of file CIRBaseBuilder.h.
References createShift().
|
inline |
Definition at line 747 of file CIRBaseBuilder.h.
References createShift().
|
inline |
Definition at line 737 of file CIRBaseBuilder.h.
References createShift().
|
inline |
Definition at line 582 of file CIRBaseBuilder.h.
Referenced by emitSignBit().
|
inline |
Definition at line 373 of file CIRBaseBuilder.h.
Referenced by createFlagStore(), and lowerArrayDtorCtorIntoLoop().
|
inline |
Definition at line 640 of file CIRBaseBuilder.h.
References cir::None, cir::NoSignedWrap, cir::NoUnsignedWrap, cir::Saturated, and cir::testFlag().
Referenced by buildAlgebraicComplexDiv(), buildRangeReductionComplexDiv(), createNSWSub(), createNUWSub(), lowerArrayDtorCtorIntoLoop(), and lowerComplexMul().
|
inline |
Definition at line 699 of file CIRBaseBuilder.h.
References getCIRIntOrFloatBitWidth(), getSIntNTy(), and kind.
Referenced by emitAArch64CompareBuiltinExpr(), emitVectorFCmp(), and emitX86vpcom().
|
inline |
Create a while operation.
Definition at line 252 of file CIRBaseBuilder.h.
|
inline |
Definition at line 686 of file CIRBaseBuilder.h.
|
inline |
Create a yield operation.
Definition at line 804 of file CIRBaseBuilder.h.
Referenced by buildRangeReductionComplexDiv(), emitAtomicCmpXchg(), emitAtomicCmpXchgFailureSet(), emitAtomicExprWithDynamicMemOrder(), emitCleanup(), emitExactDynamicCast(), emitX86Aes(), emitX86Aeswide(), lowerArrayDtorCtorIntoLoop(), lowerComplexMul(), and terminateBody().
|
inline |
Definition at line 776 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(), and lowerArrayDtorCtorIntoLoop().
|
inline |
Definition at line 784 of file CIRBaseBuilder.h.
|
inline |
Definition at line 780 of file CIRBaseBuilder.h.
References getAlignmentAttr().
|
inlinestatic |
Definition at line 756 of file CIRBaseBuilder.h.
|
inline |
Definition at line 134 of file CIRBaseBuilder.h.
References getCIRBoolAttr().
Referenced by createFlagStore(), createLogicalAnd(), createLogicalOr(), getFalse(), and getTrue().
|
inline |
Definition at line 140 of file CIRBaseBuilder.h.
Referenced by createFlagLoad(), createPtrToBoolCast(), emitAtomicCmpXchg(), emitX86Aes(), emitX86Aeswide(), and lowerComplexToScalarCast().
|
inline |
Definition at line 194 of file CIRBaseBuilder.h.
Referenced by getBool(), getFalseAttr(), getTrueAttr(), and clang::CIRGen::ConstantEmitter::tryEmitPrivate().
|
inlinestatic |
Definition at line 147 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(), emitNullBaseClassInitialization(), emitStoresForConstant(), emitX86Muldq(), getConstantInt(), and getNullValue().
|
inline |
Definition at line 80 of file CIRBaseBuilder.h.
References getConstant().
Referenced by 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 294 of file CIRBaseBuilder.h.
Referenced by getConstNullPtrAttr(), and getNullPtr().
|
inline |
Definition at line 137 of file CIRBaseBuilder.h.
References getBool().
|
inline |
Definition at line 199 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 329 of file CIRBaseBuilder.h.
Referenced by createNewGlobalView(), and getGlobalViewAttr().
|
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 345 of file CIRBaseBuilder.h.
References getGlobalViewAttr().
|
inline |
Get constant address of a global variable as an MLIR attribute.
Definition at line 336 of file CIRBaseBuilder.h.
|
inline |
Definition at line 185 of file CIRBaseBuilder.h.
|
inline |
Definition at line 107 of file CIRBaseBuilder.h.
Referenced by getZeroInitAttr().
|
inline |
Definition at line 190 of file CIRBaseBuilder.h.
|
inline |
Definition at line 793 of file CIRBaseBuilder.h.
References getConstPtrAttr(), and cir::MissingFeatures::targetCodeGenInfoGetNullPointer().
Referenced by createPtrIsNotNull(), createPtrIsNull(), emitDynamicCastToNull(), and emitExactDynamicCast().
|
inline |
Definition at line 98 of file CIRBaseBuilder.h.
References getConstant(), and getZeroInitAttr().
Referenced by emitAArch64CompareBuiltinExpr(), emitX86Aes(), emitX86Aeswide(), emitX86ConvertToMask(), emitX86MaskedCompare(), emitX86MaskedCompareResult(), emitX86vpcom(), and lowerScalarToComplexCast().
|
inline |
Definition at line 159 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(), createGetMethod(), createPtrBitcast(), emitExactDynamicCast(), clang::CIRGen::CIRGenModule::getAddrOfConstantStringFromLiteral(), clang::CIRGen::CIRGenBuilderTy::getArrayElement(), getPointerTo(), clang::CIRGen::CIRGenBuilderTy::getPtrToVPtrType(), getVoidPtrTy(), getVoidPtrTy(), initCatchParam(), lowerArrayDtorCtorIntoLoop(), makeBinaryAtomicValue(), clang::CIRGen::CIRGenBuilderTy::maybeBuildArrayDecay(), and cir::CIRCXXABI::readArrayCookie().
|
inline |
Definition at line 168 of file CIRBaseBuilder.h.
References clang::Default, getPointerTo(), and cir::toCIRAddressSpaceAttr().
|
inline |
Definition at line 163 of file CIRBaseBuilder.h.
|
inline |
Definition at line 85 of file CIRBaseBuilder.h.
References getConstAPInt().
Referenced by lowerArrayDtorCtorIntoLoop().
|
inline |
Definition at line 155 of file CIRBaseBuilder.h.
Referenced by createVecCompare(), and cir::CIRCXXABI::readArrayCookie().
|
inline |
Definition at line 788 of file CIRBaseBuilder.h.
References clang::CharUnits::getQuantity().
|
inline |
Definition at line 138 of file CIRBaseBuilder.h.
References getBool().
|
inline |
Definition at line 198 of file CIRBaseBuilder.h.
References getCIRBoolAttr().
|
inline |
Definition at line 143 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 |
Definition at line 177 of file CIRBaseBuilder.h.
References clang::Default, and getPointerTo().
Referenced by clang::CIRGen::CIRGenBuilderTy::createDynCastToVoid(), createGetMethod(), emitBuiltinAlloca(), getItaniumDynamicCastFn(), and cir::CIRCXXABI::readArrayCookie().
|
inline |
Definition at line 181 of file CIRBaseBuilder.h.
References getPointerTo().
|
inline |
Definition at line 141 of file CIRBaseBuilder.h.
|
inline |
Definition at line 111 of file CIRBaseBuilder.h.
References getConstNullPtrAttr(), getFalseAttr(), and getNullDataMemberAttr().
Referenced by emitNullConstantForBase(), getNullValue(), and clang::CIRGen::ConstantEmitter::tryEmitPrivate().