@@ -485,6 +485,47 @@ std::string WgMmaFence::toInlineString(int indent_size) const {
485
485
486
486
NVFUSER_DEFINE_CLONE_AND_CREATE (WgMmaFence)
487
487
488
+ MaxNReg::MaxNReg(
489
+ IrBuilderPasskey passkey,
490
+ Val* number_of_registers,
491
+ bool increase_registers)
492
+ : Expr(passkey) {
493
+ NVF_ERROR (passkey.ir_container_ != nullptr );
494
+ NVF_ERROR (
495
+ passkey.ir_container_ ->isA <kir::Kernel>(),
496
+ " IR type only valid for Kernel container." );
497
+ addInput (number_of_registers);
498
+ addDataAttribute (increase_registers);
499
+ }
500
+
501
+ std::string MaxNReg::toString (int indent_size) const {
502
+ return (increaseRegisters ()) ? " setmaxnreg.inc.sync.aligned.u32"
503
+ : " setmaxnreg.dec.sync.aligned.u32" ;
504
+ }
505
+
506
+ std::string MaxNReg::toInlineString (int indent_size) const {
507
+ NVF_CHECK (false , " MaxNReg can not be printed inline" );
508
+ }
509
+
510
+ NVFUSER_DEFINE_CLONE_AND_CREATE (MaxNReg)
511
+
512
+ Return::Return(IrBuilderPasskey passkey) : Expr(passkey) {
513
+ NVF_ERROR (passkey.ir_container_ != nullptr );
514
+ NVF_ERROR (
515
+ passkey.ir_container_ ->isA <kir::Kernel>(),
516
+ " IR type only valid for Kernel container." );
517
+ }
518
+
519
+ std::string Return::toString (int indent_size) const {
520
+ return " return" ;
521
+ }
522
+
523
+ std::string Return::toInlineString (int indent_size) const {
524
+ NVF_CHECK (false , " Return can not be printed inline" );
525
+ }
526
+
527
+ NVFUSER_DEFINE_CLONE_AND_CREATE (Return)
528
+
488
529
MBarrierInit::MBarrierInit(
489
530
IrBuilderPasskey passkey,
490
531
Val* mbarrier,
0 commit comments