Changeset View
Changeset View
Standalone View
Standalone View
mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
Show All 36 Lines | def LLVM_ZeroResultOpBuilder : OpBuilder< | ||||
"ValueRange operands, ArrayRef<NamedAttribute> attributes = {}", | "ValueRange operands, ArrayRef<NamedAttribute> attributes = {}", | ||||
[{ | [{ | ||||
$_state.addOperands(operands); | $_state.addOperands(operands); | ||||
for (auto namedAttr : attributes) { | for (auto namedAttr : attributes) { | ||||
$_state.addAttribute(namedAttr.first, namedAttr.second); | $_state.addAttribute(namedAttr.first, namedAttr.second); | ||||
} | } | ||||
}]>; | }]>; | ||||
class LLVM_TwoBuilders<OpBuilder b1, OpBuilder b2> { | class LLVM_TwoBuilders<OpBuilderBase b1, OpBuilderBase b2> { | ||||
list<OpBuilder> builders = [b1, b2]; | list<OpBuilderBase> builders = [b1, b2]; | ||||
} | } | ||||
// Base class for LLVM operations with one result. | // Base class for LLVM operations with one result. | ||||
class LLVM_OneResultOp<string mnemonic, list<OpTrait> traits = []> : | class LLVM_OneResultOp<string mnemonic, list<OpTrait> traits = []> : | ||||
LLVM_Op<mnemonic, traits>, Results<(outs LLVM_Type:$res)> { | LLVM_Op<mnemonic, traits>, Results<(outs LLVM_Type:$res)> { | ||||
let builders = [LLVM_OneResultOpBuilder]; | let builders = [LLVM_OneResultOpBuilder]; | ||||
} | } | ||||
▲ Show 20 Lines • Show All 1,101 Lines • Show Last 20 Lines |