@@ -300,3 +300,311 @@ body: |
300
300
bb.2:
301
301
S_ENDPGM 0
302
302
...
303
+
304
+ ---
305
+ name : skip_wait_event
306
+ body : |
307
+ ; CHECK-LABEL: name: skip_wait_event
308
+ ; CHECK: bb.0:
309
+ ; CHECK-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
310
+ ; CHECK-NEXT: {{ $}}
311
+ ; CHECK-NEXT: S_CBRANCH_EXECZ %bb.2, implicit $exec
312
+ ; CHECK-NEXT: {{ $}}
313
+ ; CHECK-NEXT: bb.1:
314
+ ; CHECK-NEXT: successors: %bb.2(0x80000000)
315
+ ; CHECK-NEXT: {{ $}}
316
+ ; CHECK-NEXT: V_NOP_e32 implicit $exec
317
+ ; CHECK-NEXT: S_WAIT_EVENT 0
318
+ ; CHECK-NEXT: {{ $}}
319
+ ; CHECK-NEXT: bb.2:
320
+ ; CHECK-NEXT: S_ENDPGM 0
321
+ bb.0:
322
+ successors: %bb.1, %bb.2
323
+ S_CBRANCH_EXECZ %bb.2, implicit $exec
324
+
325
+ bb.1:
326
+ successors: %bb.2
327
+ V_NOP_e32 implicit $exec
328
+ S_WAIT_EVENT 0
329
+
330
+ bb.2:
331
+ S_ENDPGM 0
332
+ ...
333
+
334
+ ---
335
+ name : skip_barrier_signal_imm
336
+ body : |
337
+ ; CHECK-LABEL: name: skip_barrier_signal_imm
338
+ ; CHECK: bb.0:
339
+ ; CHECK-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
340
+ ; CHECK-NEXT: {{ $}}
341
+ ; CHECK-NEXT: S_CBRANCH_EXECZ %bb.2, implicit $exec
342
+ ; CHECK-NEXT: {{ $}}
343
+ ; CHECK-NEXT: bb.1:
344
+ ; CHECK-NEXT: successors: %bb.2(0x80000000)
345
+ ; CHECK-NEXT: {{ $}}
346
+ ; CHECK-NEXT: V_NOP_e32 implicit $exec
347
+ ; CHECK-NEXT: S_BARRIER_SIGNAL_IMM -1
348
+ ; CHECK-NEXT: {{ $}}
349
+ ; CHECK-NEXT: bb.2:
350
+ ; CHECK-NEXT: S_ENDPGM 0
351
+ bb.0:
352
+ successors: %bb.1, %bb.2
353
+ S_CBRANCH_EXECZ %bb.2, implicit $exec
354
+
355
+ bb.1:
356
+ successors: %bb.2
357
+ V_NOP_e32 implicit $exec
358
+ S_BARRIER_SIGNAL_IMM -1
359
+
360
+ bb.2:
361
+ S_ENDPGM 0
362
+ ...
363
+
364
+ ---
365
+ name : skip_barrier_signal_isfirst_imm
366
+ body : |
367
+ ; CHECK-LABEL: name: skip_barrier_signal_isfirst_imm
368
+ ; CHECK: bb.0:
369
+ ; CHECK-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
370
+ ; CHECK-NEXT: {{ $}}
371
+ ; CHECK-NEXT: S_CBRANCH_EXECZ %bb.2, implicit $exec
372
+ ; CHECK-NEXT: {{ $}}
373
+ ; CHECK-NEXT: bb.1:
374
+ ; CHECK-NEXT: successors: %bb.2(0x80000000)
375
+ ; CHECK-NEXT: {{ $}}
376
+ ; CHECK-NEXT: V_NOP_e32 implicit $exec
377
+ ; CHECK-NEXT: S_BARRIER_SIGNAL_ISFIRST_IMM -1, implicit-def $scc
378
+ ; CHECK-NEXT: {{ $}}
379
+ ; CHECK-NEXT: bb.2:
380
+ ; CHECK-NEXT: S_ENDPGM 0
381
+ bb.0:
382
+ successors: %bb.1, %bb.2
383
+ S_CBRANCH_EXECZ %bb.2, implicit $exec
384
+
385
+ bb.1:
386
+ successors: %bb.2
387
+ V_NOP_e32 implicit $exec
388
+ S_BARRIER_SIGNAL_ISFIRST_IMM -1, implicit-def $scc
389
+
390
+ bb.2:
391
+ S_ENDPGM 0
392
+ ...
393
+
394
+ ---
395
+ name : skip_barrier_signal_m0
396
+ body : |
397
+ ; CHECK-LABEL: name: skip_barrier_signal_m0
398
+ ; CHECK: bb.0:
399
+ ; CHECK-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
400
+ ; CHECK-NEXT: {{ $}}
401
+ ; CHECK-NEXT: S_CBRANCH_EXECZ %bb.2, implicit $exec
402
+ ; CHECK-NEXT: {{ $}}
403
+ ; CHECK-NEXT: bb.1:
404
+ ; CHECK-NEXT: successors: %bb.2(0x80000000)
405
+ ; CHECK-NEXT: {{ $}}
406
+ ; CHECK-NEXT: V_NOP_e32 implicit $exec
407
+ ; CHECK-NEXT: $m0 = S_MOV_B32 -1
408
+ ; CHECK-NEXT: S_BARRIER_SIGNAL_M0 implicit $m0
409
+ ; CHECK-NEXT: {{ $}}
410
+ ; CHECK-NEXT: bb.2:
411
+ ; CHECK-NEXT: S_ENDPGM 0
412
+ bb.0:
413
+ successors: %bb.1, %bb.2
414
+ S_CBRANCH_EXECZ %bb.2, implicit $exec
415
+
416
+ bb.1:
417
+ successors: %bb.2
418
+ V_NOP_e32 implicit $exec
419
+ $m0 = S_MOV_B32 -1
420
+ S_BARRIER_SIGNAL_M0 implicit $m0
421
+
422
+ bb.2:
423
+ S_ENDPGM 0
424
+ ...
425
+
426
+ ---
427
+ name : skip_barrier_signal_isfirst_m0
428
+ body : |
429
+ ; CHECK-LABEL: name: skip_barrier_signal_isfirst_m0
430
+ ; CHECK: bb.0:
431
+ ; CHECK-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
432
+ ; CHECK-NEXT: {{ $}}
433
+ ; CHECK-NEXT: S_CBRANCH_EXECZ %bb.2, implicit $exec
434
+ ; CHECK-NEXT: {{ $}}
435
+ ; CHECK-NEXT: bb.1:
436
+ ; CHECK-NEXT: successors: %bb.2(0x80000000)
437
+ ; CHECK-NEXT: {{ $}}
438
+ ; CHECK-NEXT: V_NOP_e32 implicit $exec
439
+ ; CHECK-NEXT: $m0 = S_MOV_B32 -1
440
+ ; CHECK-NEXT: S_BARRIER_SIGNAL_ISFIRST_M0 implicit $m0, implicit-def $scc
441
+ ; CHECK-NEXT: {{ $}}
442
+ ; CHECK-NEXT: bb.2:
443
+ ; CHECK-NEXT: S_ENDPGM 0
444
+ bb.0:
445
+ successors: %bb.1, %bb.2
446
+ S_CBRANCH_EXECZ %bb.2, implicit $exec
447
+
448
+ bb.1:
449
+ successors: %bb.2
450
+ V_NOP_e32 implicit $exec
451
+ $m0 = S_MOV_B32 -1
452
+ S_BARRIER_SIGNAL_ISFIRST_M0 implicit $m0, implicit-def $scc
453
+
454
+ bb.2:
455
+ S_ENDPGM 0
456
+ ...
457
+
458
+ ---
459
+ name : skip_barrier_wait
460
+ body : |
461
+ ; CHECK-LABEL: name: skip_barrier_wait
462
+ ; CHECK: bb.0:
463
+ ; CHECK-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
464
+ ; CHECK-NEXT: {{ $}}
465
+ ; CHECK-NEXT: S_CBRANCH_EXECZ %bb.2, implicit $exec
466
+ ; CHECK-NEXT: {{ $}}
467
+ ; CHECK-NEXT: bb.1:
468
+ ; CHECK-NEXT: successors: %bb.2(0x80000000)
469
+ ; CHECK-NEXT: {{ $}}
470
+ ; CHECK-NEXT: V_NOP_e32 implicit $exec
471
+ ; CHECK-NEXT: S_BARRIER_WAIT -1
472
+ ; CHECK-NEXT: {{ $}}
473
+ ; CHECK-NEXT: bb.2:
474
+ ; CHECK-NEXT: S_ENDPGM 0
475
+ bb.0:
476
+ successors: %bb.1, %bb.2
477
+ S_CBRANCH_EXECZ %bb.2, implicit $exec
478
+
479
+ bb.1:
480
+ successors: %bb.2
481
+ V_NOP_e32 implicit $exec
482
+ S_BARRIER_WAIT -1
483
+
484
+ bb.2:
485
+ S_ENDPGM 0
486
+ ...
487
+
488
+ ---
489
+ name : skip_barrier_init_imm
490
+ body : |
491
+ ; CHECK-LABEL: name: skip_barrier_init_imm
492
+ ; CHECK: bb.0:
493
+ ; CHECK-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
494
+ ; CHECK-NEXT: {{ $}}
495
+ ; CHECK-NEXT: S_CBRANCH_EXECZ %bb.2, implicit $exec
496
+ ; CHECK-NEXT: {{ $}}
497
+ ; CHECK-NEXT: bb.1:
498
+ ; CHECK-NEXT: successors: %bb.2(0x80000000)
499
+ ; CHECK-NEXT: {{ $}}
500
+ ; CHECK-NEXT: V_NOP_e32 implicit $exec
501
+ ; CHECK-NEXT: $m0 = S_MOV_B32 -1
502
+ ; CHECK-NEXT: S_BARRIER_INIT_IMM -1, implicit $m0
503
+ ; CHECK-NEXT: {{ $}}
504
+ ; CHECK-NEXT: bb.2:
505
+ ; CHECK-NEXT: S_ENDPGM 0
506
+ bb.0:
507
+ successors: %bb.1, %bb.2
508
+ S_CBRANCH_EXECZ %bb.2, implicit $exec
509
+
510
+ bb.1:
511
+ successors: %bb.2
512
+ V_NOP_e32 implicit $exec
513
+ $m0 = S_MOV_B32 -1
514
+ S_BARRIER_INIT_IMM -1, implicit $m0
515
+
516
+ bb.2:
517
+ S_ENDPGM 0
518
+ ...
519
+
520
+ ---
521
+ name : skip_barrier_init_m0
522
+ body : |
523
+ ; CHECK-LABEL: name: skip_barrier_init_m0
524
+ ; CHECK: bb.0:
525
+ ; CHECK-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
526
+ ; CHECK-NEXT: {{ $}}
527
+ ; CHECK-NEXT: S_CBRANCH_EXECZ %bb.2, implicit $exec
528
+ ; CHECK-NEXT: {{ $}}
529
+ ; CHECK-NEXT: bb.1:
530
+ ; CHECK-NEXT: successors: %bb.2(0x80000000)
531
+ ; CHECK-NEXT: {{ $}}
532
+ ; CHECK-NEXT: V_NOP_e32 implicit $exec
533
+ ; CHECK-NEXT: $m0 = S_MOV_B32 -1
534
+ ; CHECK-NEXT: S_BARRIER_INIT_M0 implicit $m0
535
+ ; CHECK-NEXT: {{ $}}
536
+ ; CHECK-NEXT: bb.2:
537
+ ; CHECK-NEXT: S_ENDPGM 0
538
+ bb.0:
539
+ successors: %bb.1, %bb.2
540
+ S_CBRANCH_EXECZ %bb.2, implicit $exec
541
+
542
+ bb.1:
543
+ successors: %bb.2
544
+ V_NOP_e32 implicit $exec
545
+ $m0 = S_MOV_B32 -1
546
+ S_BARRIER_INIT_M0 implicit $m0
547
+
548
+ bb.2:
549
+ S_ENDPGM 0
550
+ ...
551
+
552
+ ---
553
+ name : skip_barrier_join_imm
554
+ body : |
555
+ ; CHECK-LABEL: name: skip_barrier_join_imm
556
+ ; CHECK: bb.0:
557
+ ; CHECK-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
558
+ ; CHECK-NEXT: {{ $}}
559
+ ; CHECK-NEXT: S_CBRANCH_EXECZ %bb.2, implicit $exec
560
+ ; CHECK-NEXT: {{ $}}
561
+ ; CHECK-NEXT: bb.1:
562
+ ; CHECK-NEXT: successors: %bb.2(0x80000000)
563
+ ; CHECK-NEXT: {{ $}}
564
+ ; CHECK-NEXT: V_NOP_e32 implicit $exec
565
+ ; CHECK-NEXT: S_BARRIER_JOIN_IMM -1
566
+ ; CHECK-NEXT: {{ $}}
567
+ ; CHECK-NEXT: bb.2:
568
+ ; CHECK-NEXT: S_ENDPGM 0
569
+ bb.0:
570
+ successors: %bb.1, %bb.2
571
+ S_CBRANCH_EXECZ %bb.2, implicit $exec
572
+
573
+ bb.1:
574
+ successors: %bb.2
575
+ V_NOP_e32 implicit $exec
576
+ S_BARRIER_JOIN_IMM -1
577
+
578
+ bb.2:
579
+ S_ENDPGM 0
580
+ ...
581
+
582
+ ---
583
+ name : skip_barrier_leave
584
+ body : |
585
+ ; CHECK-LABEL: name: skip_barrier_leave
586
+ ; CHECK: bb.0:
587
+ ; CHECK-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
588
+ ; CHECK-NEXT: {{ $}}
589
+ ; CHECK-NEXT: S_CBRANCH_EXECZ %bb.2, implicit $exec
590
+ ; CHECK-NEXT: {{ $}}
591
+ ; CHECK-NEXT: bb.1:
592
+ ; CHECK-NEXT: successors: %bb.2(0x80000000)
593
+ ; CHECK-NEXT: {{ $}}
594
+ ; CHECK-NEXT: V_NOP_e32 implicit $exec
595
+ ; CHECK-NEXT: S_BARRIER_LEAVE implicit-def $scc
596
+ ; CHECK-NEXT: {{ $}}
597
+ ; CHECK-NEXT: bb.2:
598
+ ; CHECK-NEXT: S_ENDPGM 0
599
+ bb.0:
600
+ successors: %bb.1, %bb.2
601
+ S_CBRANCH_EXECZ %bb.2, implicit $exec
602
+
603
+ bb.1:
604
+ successors: %bb.2
605
+ V_NOP_e32 implicit $exec
606
+ S_BARRIER_LEAVE implicit-def $scc
607
+
608
+ bb.2:
609
+ S_ENDPGM 0
610
+ ...
0 commit comments