|
clang 22.0.0git
|
#include "clang/CIR/Dialect/IR/CIRDialect.h"#include "clang/CIR/Dialect/IR/CIRAttrs.h"#include "clang/CIR/Dialect/IR/CIROpsEnums.h"#include "clang/CIR/Dialect/IR/CIRTypes.h"#include "mlir/IR/Attributes.h"#include "mlir/IR/DialectImplementation.h"#include "mlir/Interfaces/ControlFlowInterfaces.h"#include "mlir/Interfaces/FunctionImplementation.h"#include "mlir/Support/LLVM.h"#include "clang/CIR/Dialect/IR/CIROpsDialect.cpp.inc"#include "clang/CIR/Dialect/IR/CIROpsEnums.cpp.inc"#include "clang/CIR/MissingFeatures.h"#include "llvm/ADT/SetOperations.h"#include "llvm/ADT/SmallSet.h"#include "llvm/Support/LogicalResult.h"#include "clang/CIR/Dialect/IR/CIROps.cpp.inc"Go to the source code of this file.
Macros | |
| #define | GET_OP_LIST |
| #define | REGISTER_ENUM_TYPE(Ty) |
| #define | GET_OP_CLASSES |
Functions | |
| static int | parseOptionalKeywordAlternative (AsmParser &parser, ArrayRef< llvm::StringRef > keywords) |
| template<typename EnumTy, typename RetTy = EnumTy> | |
| static RetTy | parseOptionalCIRKeyword (AsmParser &parser, EnumTy defaultValue) |
| Parse an enum from the keyword, or default to the provided default value. | |
| template<typename EnumTy, typename RetTy = EnumTy> | |
| static ParseResult | parseCIRKeyword (AsmParser &parser, RetTy &result) |
| Parse an enum from the keyword, return failure if the keyword is not found. | |
| static LogicalResult | ensureRegionTerm (OpAsmParser &parser, Region ®ion, SMLoc errLoc) |
| static bool | omitRegionTerm (mlir::Region &r) |
| void | printVisibilityAttr (OpAsmPrinter &printer, cir::VisibilityAttr &visibility) |
| void | parseVisibilityAttr (OpAsmParser &parser, cir::VisibilityAttr &visibility) |
| static mlir::ParseResult | parseOmittedTerminatorRegion (mlir::OpAsmParser &parser, mlir::Region ®ion) |
| static void | printOmittedTerminatorRegion (mlir::OpAsmPrinter &printer, cir::ScopeOp &op, mlir::Region ®ion) |
| static LogicalResult | checkConstantTypes (mlir::Operation *op, mlir::Type opType, mlir::Attribute attrType) |
| static bool | isIntOrBoolCast (cir::CastOp op) |
| static Value | tryFoldCastChain (cir::CastOp op) |
| static mlir::ParseResult | parseTryCallDestinations (mlir::OpAsmParser &parser, mlir::OperationState &result) |
| static mlir::ParseResult | parseCallCommon (mlir::OpAsmParser &parser, mlir::OperationState &result, bool hasDestinationBlocks=false) |
| static void | printCallCommon (mlir::Operation *op, mlir::FlatSymbolRefAttr calleeSym, mlir::Value indirectCallee, mlir::OpAsmPrinter &printer, bool isNothrow, cir::SideEffect sideEffect, mlir::Block *normalDest=nullptr, mlir::Block *unwindDest=nullptr) |
| static LogicalResult | verifyCallCommInSymbolUses (mlir::Operation *op, SymbolTableCollection &symbolTable) |
| static mlir::LogicalResult | checkReturnAndFunction (cir::ReturnOp op, cir::FuncOp function) |
| static ParseResult | parseSwitchOp (OpAsmParser &parser, mlir::Region ®ions, mlir::OpAsmParser::UnresolvedOperand &cond, mlir::Type &condType) |
| static void | printSwitchOp (OpAsmPrinter &p, cir::SwitchOp op, mlir::Region &bodyRegion, mlir::Value condition, mlir::Type condType) |
| static ParseResult | parseSwitchFlatOpCases (OpAsmParser &parser, Type flagType, mlir::ArrayAttr &caseValues, SmallVectorImpl< Block * > &caseDestinations, SmallVectorImpl< llvm::SmallVector< OpAsmParser::UnresolvedOperand > > &caseOperands, SmallVectorImpl< llvm::SmallVector< Type > > &caseOperandTypes) |
| <cases> ::= [ (case (, case )* )? | |
| static void | printSwitchFlatOpCases (OpAsmPrinter &p, cir::SwitchFlatOp op, Type flagType, mlir::ArrayAttr caseValues, SuccessorRange caseDestinations, OperandRangeRange caseOperands, const TypeRangeRange &caseOperandTypes) |
| static ParseResult | parseConstantValue (OpAsmParser &parser, mlir::Attribute &valueAttr) |
| static void | printConstant (OpAsmPrinter &p, Attribute value) |
| static void | printGlobalOpTypeAndInitialValue (OpAsmPrinter &p, cir::GlobalOp op, TypeAttr type, Attribute initAttr, mlir::Region &ctorRegion, mlir::Region &dtorRegion) |
| static ParseResult | parseGlobalOpTypeAndInitialValue (OpAsmParser &parser, TypeAttr &typeAttr, Attribute &initialValueAttr, mlir::Region &ctorRegion, mlir::Region &dtorRegion) |
| static llvm::StringRef | getLinkageAttrNameString () |
| Returns the name used for the linkage attribute. | |
| static bool | isBoolNot (cir::UnaryOp op) |
| static OpFoldResult | foldUnaryBitOp (mlir::Attribute inputAttr, llvm::function_ref< llvm::APInt(const llvm::APInt &)> func, bool poisonZero=false) |
| static void | printTryHandlerRegions (mlir::OpAsmPrinter &printer, cir::TryOp op, mlir::MutableArrayRef< mlir::Region > handlerRegions, mlir::ArrayAttr handlerTypes) |
| static mlir::ParseResult | parseTryHandlerRegions (mlir::OpAsmParser &parser, llvm::SmallVectorImpl< std::unique_ptr< mlir::Region > > &handlerRegions, mlir::ArrayAttr &handlerTypes) |
| #define GET_OP_CLASSES |
Definition at line 3400 of file CIRDialect.cpp.
| #define GET_OP_LIST |
| #define REGISTER_ENUM_TYPE | ( | Ty | ) |
Definition at line 123 of file CIRDialect.cpp.
|
static |
Definition at line 316 of file CIRDialect.cpp.
|
static |
Definition at line 995 of file CIRDialect.cpp.
|
static |
Definition at line 167 of file CIRDialect.cpp.
Referenced by parseGlobalOpTypeAndInitialValue(), and parseOmittedTerminatorRegion().
|
static |
Definition at line 2886 of file CIRDialect.cpp.
|
static |
Returns the name used for the linkage attribute.
This must correspond to the name of the attribute in ODS.
Definition at line 1733 of file CIRDialect.cpp.
|
static |
Definition at line 2328 of file CIRDialect.cpp.
|
static |
Definition at line 623 of file CIRDialect.cpp.
Referenced by tryFoldCastChain().
|
static |
Definition at line 194 of file CIRDialect.cpp.
Referenced by printOmittedTerminatorRegion().
|
static |
Definition at line 743 of file CIRDialect.cpp.
References parseCIRKeyword(), and parseTryCallDestinations().
|
static |
Parse an enum from the keyword, return failure if the keyword is not found.
Definition at line 153 of file CIRDialect.cpp.
References parseOptionalKeywordAlternative().
Referenced by parseCallCommon().
|
static |
Definition at line 1451 of file CIRDialect.cpp.
Referenced by parseGlobalOpTypeAndInitialValue().
|
static |
Definition at line 1571 of file CIRDialect.cpp.
References ensureRegionTerm(), and parseConstantValue().
|
static |
Definition at line 227 of file CIRDialect.cpp.
References ensureRegionTerm().
|
static |
Parse an enum from the keyword, or default to the provided default value.
The return type is the enum type by default, unless overriden with the second template argument.
Definition at line 140 of file CIRDialect.cpp.
References parseOptionalKeywordAlternative().
Referenced by parseVisibilityAttr().
|
static |
Definition at line 111 of file CIRDialect.cpp.
Referenced by parseCIRKeyword(), and parseOptionalCIRKeyword().
|
static |
<cases> ::= [ (case (, case )* )?
] <case> ::= integer : bb-id (( ssa-use-and-type-list ))?
Definition at line 1374 of file CIRDialect.cpp.
|
static |
Definition at line 1262 of file CIRDialect.cpp.
|
static |
Definition at line 725 of file CIRDialect.cpp.
Referenced by parseCallCommon().
|
static |
Definition at line 3317 of file CIRDialect.cpp.
| void parseVisibilityAttr | ( | OpAsmParser & | parser, |
| cir::VisibilityAttr & | visibility ) |
Definition at line 217 of file CIRDialect.cpp.
References parseOptionalCIRKeyword().
|
static |
Definition at line 812 of file CIRDialect.cpp.
|
static |
Definition at line 1457 of file CIRDialect.cpp.
Referenced by printGlobalOpTypeAndInitialValue().
|
static |
Definition at line 1540 of file CIRDialect.cpp.
References printConstant().
|
static |
Definition at line 237 of file CIRDialect.cpp.
References omitRegionTerm().
|
static |
Definition at line 1417 of file CIRDialect.cpp.
|
static |
Definition at line 1286 of file CIRDialect.cpp.
|
static |
Definition at line 3291 of file CIRDialect.cpp.
| void printVisibilityAttr | ( | OpAsmPrinter & | printer, |
| cir::VisibilityAttr & | visibility ) |
Definition at line 203 of file CIRDialect.cpp.
|
static |
Definition at line 629 of file CIRDialect.cpp.
References isIntOrBoolCast().
|
static |
Definition at line 876 of file CIRDialect.cpp.
References cir::MissingFeatures::opCallCallConv().