Skip to content

Commit

Permalink
hl: Add all args to InlineAsmOp.
Browse files Browse the repository at this point in the history
  • Loading branch information
Jezurko committed Dec 6, 2023
1 parent 63b717c commit 209ec71
Showing 1 changed file with 15 additions and 5 deletions.
20 changes: 15 additions & 5 deletions include/vast/Dialect/HighLevel/HighLevelAssembly.td
Original file line number Diff line number Diff line change
Expand Up @@ -4,22 +4,32 @@
#define VAST_DIALECT_HIGHLEVEL_IR_HIGHLEVELASSEMBLY

include "mlir/IR/OpBase.td"
include "mlir/IR/BuiltinAttributes.td"

include "mlir/Interfaces/CastInterfaces.td"
include "vast/Interfaces/SymbolInterface.td"

def InlineAsmOp
: HighLevel_Op< "inline_asm", [AttrSizedOperandSegments] >
, Arguments<(ins
AnyType: $ass_template,
AnyType: $clobbers,
Variadic< AnyType >:$outputs,
Variadic< AnyType >:$inputs,
Builtin_StringAttr:$asm_template,
UnitAttr:$is_volatile,
UnitAttr:$has_goto,
//UnitAttr:$has_inline, //Clang doesn't have this qualifier?
Variadic< AnyType >:$asm_outputs,
Variadic< AnyType >:$asm_inputs,
OptionalAttr< ArrayAttr >:$output_names,
OptionalAttr< ArrayAttr >:$input_names,
OptionalAttr< ArrayAttr >:$output_constraints,
OptionalAttr< ArrayAttr >:$input_constraints,
OptionalAttr< ArrayAttr >:$clobbers,
Variadic< AnyType >:$labels
)>
{
let summary = "VAST operation for inline assembly";
let description = [{ TODO }];

let assemblyFormat = [{attr-dict $asm_template (`:`$output_names $asm_outputs^)? (`:` $output_constraints^)? (`:`$input_names $asm_inputs^)? (`:` $input_constraints^)? (`:` $clobbers^)? (`:` $labels^)? `:` type(operands)}];
}

#endif // VAST_DIALECT_HIGHLEVEL_IR_HIGHLEVELOPS
#endif // VAST_DIALECT_HIGHLEVEL_IR_HIGHLEVELASSEMBLY

0 comments on commit 209ec71

Please sign in to comment.