CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
449 lines
14 KiB
LLVM
449 lines
14 KiB
LLVM
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 6
|
|
; RUN: opt -S -O3 < %s | FileCheck %s
|
|
|
|
target datalayout = "n64:32:16:8"
|
|
|
|
define i8 @test(i8 %x) {
|
|
; CHECK-LABEL: define range(i8 0, 53) i8 @test(
|
|
; CHECK-SAME: i8 [[X:%.*]]) local_unnamed_addr #[[ATTR0:[0-9]+]] {
|
|
; CHECK-NEXT: [[START:.*:]]
|
|
; CHECK-NEXT: [[X_:%.*]] = tail call i8 @llvm.umin.i8(i8 [[X]], i8 52)
|
|
; CHECK-NEXT: ret i8 [[X_]]
|
|
;
|
|
start:
|
|
%_0 = alloca [1 x i8], align 1
|
|
%0 = icmp eq i8 %x, 0
|
|
br i1 %0, label %bb1, label %bb2
|
|
|
|
bb1: ; preds = %start
|
|
store i8 0, ptr %_0, align 1
|
|
br label %bb105
|
|
|
|
bb2: ; preds = %start
|
|
%1 = icmp eq i8 %x, 1
|
|
br i1 %1, label %bb3, label %bb4
|
|
|
|
bb105: ; preds = %bb104, %bb103, %bb101, %bb99, %bb97, %bb95, %bb93, %bb91, %bb89, %bb87, %bb85, %bb83, %bb81, %bb79, %bb77, %bb75, %bb73, %bb71, %bb69, %bb67, %bb65, %bb63, %bb61, %bb59, %bb57, %bb55, %bb53, %bb51, %bb49, %bb47, %bb45, %bb43, %bb41, %bb39, %bb37, %bb35, %bb33, %bb31, %bb29, %bb27, %bb25, %bb23, %bb21, %bb19, %bb17, %bb15, %bb13, %bb11, %bb9, %bb7, %bb5, %bb3, %bb1
|
|
%2 = load i8, ptr %_0, align 1
|
|
ret i8 %2
|
|
|
|
bb3: ; preds = %bb2
|
|
store i8 1, ptr %_0, align 1
|
|
br label %bb105
|
|
|
|
bb4: ; preds = %bb2
|
|
%3 = icmp eq i8 %x, 2
|
|
br i1 %3, label %bb5, label %bb6
|
|
|
|
bb5: ; preds = %bb4
|
|
store i8 2, ptr %_0, align 1
|
|
br label %bb105
|
|
|
|
bb6: ; preds = %bb4
|
|
%4 = icmp eq i8 %x, 3
|
|
br i1 %4, label %bb7, label %bb8
|
|
|
|
bb7: ; preds = %bb6
|
|
store i8 3, ptr %_0, align 1
|
|
br label %bb105
|
|
|
|
bb8: ; preds = %bb6
|
|
%5 = icmp eq i8 %x, 4
|
|
br i1 %5, label %bb9, label %bb10
|
|
|
|
bb9: ; preds = %bb8
|
|
store i8 4, ptr %_0, align 1
|
|
br label %bb105
|
|
|
|
bb10: ; preds = %bb8
|
|
%6 = icmp eq i8 %x, 5
|
|
br i1 %6, label %bb11, label %bb12
|
|
|
|
bb11: ; preds = %bb10
|
|
store i8 5, ptr %_0, align 1
|
|
br label %bb105
|
|
|
|
bb12: ; preds = %bb10
|
|
%7 = icmp eq i8 %x, 6
|
|
br i1 %7, label %bb13, label %bb14
|
|
|
|
bb13: ; preds = %bb12
|
|
store i8 6, ptr %_0, align 1
|
|
br label %bb105
|
|
|
|
bb14: ; preds = %bb12
|
|
%8 = icmp eq i8 %x, 7
|
|
br i1 %8, label %bb15, label %bb16
|
|
|
|
bb15: ; preds = %bb14
|
|
store i8 7, ptr %_0, align 1
|
|
br label %bb105
|
|
|
|
bb16: ; preds = %bb14
|
|
%9 = icmp eq i8 %x, 8
|
|
br i1 %9, label %bb17, label %bb18
|
|
|
|
bb17: ; preds = %bb16
|
|
store i8 8, ptr %_0, align 1
|
|
br label %bb105
|
|
|
|
bb18: ; preds = %bb16
|
|
%10 = icmp eq i8 %x, 9
|
|
br i1 %10, label %bb19, label %bb20
|
|
|
|
bb19: ; preds = %bb18
|
|
store i8 9, ptr %_0, align 1
|
|
br label %bb105
|
|
|
|
bb20: ; preds = %bb18
|
|
%11 = icmp eq i8 %x, 10
|
|
br i1 %11, label %bb21, label %bb22
|
|
|
|
bb21: ; preds = %bb20
|
|
store i8 10, ptr %_0, align 1
|
|
br label %bb105
|
|
|
|
bb22: ; preds = %bb20
|
|
%12 = icmp eq i8 %x, 11
|
|
br i1 %12, label %bb23, label %bb24
|
|
|
|
bb23: ; preds = %bb22
|
|
store i8 11, ptr %_0, align 1
|
|
br label %bb105
|
|
|
|
bb24: ; preds = %bb22
|
|
%13 = icmp eq i8 %x, 12
|
|
br i1 %13, label %bb25, label %bb26
|
|
|
|
bb25: ; preds = %bb24
|
|
store i8 12, ptr %_0, align 1
|
|
br label %bb105
|
|
|
|
bb26: ; preds = %bb24
|
|
%14 = icmp eq i8 %x, 13
|
|
br i1 %14, label %bb27, label %bb28
|
|
|
|
bb27: ; preds = %bb26
|
|
store i8 13, ptr %_0, align 1
|
|
br label %bb105
|
|
|
|
bb28: ; preds = %bb26
|
|
%15 = icmp eq i8 %x, 14
|
|
br i1 %15, label %bb29, label %bb30
|
|
|
|
bb29: ; preds = %bb28
|
|
store i8 14, ptr %_0, align 1
|
|
br label %bb105
|
|
|
|
bb30: ; preds = %bb28
|
|
%16 = icmp eq i8 %x, 15
|
|
br i1 %16, label %bb31, label %bb32
|
|
|
|
bb31: ; preds = %bb30
|
|
store i8 15, ptr %_0, align 1
|
|
br label %bb105
|
|
|
|
bb32: ; preds = %bb30
|
|
%17 = icmp eq i8 %x, 16
|
|
br i1 %17, label %bb33, label %bb34
|
|
|
|
bb33: ; preds = %bb32
|
|
store i8 16, ptr %_0, align 1
|
|
br label %bb105
|
|
|
|
bb34: ; preds = %bb32
|
|
%18 = icmp eq i8 %x, 17
|
|
br i1 %18, label %bb35, label %bb36
|
|
|
|
bb35: ; preds = %bb34
|
|
store i8 17, ptr %_0, align 1
|
|
br label %bb105
|
|
|
|
bb36: ; preds = %bb34
|
|
%19 = icmp eq i8 %x, 18
|
|
br i1 %19, label %bb37, label %bb38
|
|
|
|
bb37: ; preds = %bb36
|
|
store i8 18, ptr %_0, align 1
|
|
br label %bb105
|
|
|
|
bb38: ; preds = %bb36
|
|
%20 = icmp eq i8 %x, 19
|
|
br i1 %20, label %bb39, label %bb40
|
|
|
|
bb39: ; preds = %bb38
|
|
store i8 19, ptr %_0, align 1
|
|
br label %bb105
|
|
|
|
bb40: ; preds = %bb38
|
|
%21 = icmp eq i8 %x, 20
|
|
br i1 %21, label %bb41, label %bb42
|
|
|
|
bb41: ; preds = %bb40
|
|
store i8 20, ptr %_0, align 1
|
|
br label %bb105
|
|
|
|
bb42: ; preds = %bb40
|
|
%22 = icmp eq i8 %x, 21
|
|
br i1 %22, label %bb43, label %bb44
|
|
|
|
bb43: ; preds = %bb42
|
|
store i8 21, ptr %_0, align 1
|
|
br label %bb105
|
|
|
|
bb44: ; preds = %bb42
|
|
%23 = icmp eq i8 %x, 22
|
|
br i1 %23, label %bb45, label %bb46
|
|
|
|
bb45: ; preds = %bb44
|
|
store i8 22, ptr %_0, align 1
|
|
br label %bb105
|
|
|
|
bb46: ; preds = %bb44
|
|
%24 = icmp eq i8 %x, 23
|
|
br i1 %24, label %bb47, label %bb48
|
|
|
|
bb47: ; preds = %bb46
|
|
store i8 23, ptr %_0, align 1
|
|
br label %bb105
|
|
|
|
bb48: ; preds = %bb46
|
|
%25 = icmp eq i8 %x, 24
|
|
br i1 %25, label %bb49, label %bb50
|
|
|
|
bb49: ; preds = %bb48
|
|
store i8 24, ptr %_0, align 1
|
|
br label %bb105
|
|
|
|
bb50: ; preds = %bb48
|
|
%26 = icmp eq i8 %x, 25
|
|
br i1 %26, label %bb51, label %bb52
|
|
|
|
bb51: ; preds = %bb50
|
|
store i8 25, ptr %_0, align 1
|
|
br label %bb105
|
|
|
|
bb52: ; preds = %bb50
|
|
%27 = icmp eq i8 %x, 26
|
|
br i1 %27, label %bb53, label %bb54
|
|
|
|
bb53: ; preds = %bb52
|
|
store i8 26, ptr %_0, align 1
|
|
br label %bb105
|
|
|
|
bb54: ; preds = %bb52
|
|
%28 = icmp eq i8 %x, 27
|
|
br i1 %28, label %bb55, label %bb56
|
|
|
|
bb55: ; preds = %bb54
|
|
store i8 27, ptr %_0, align 1
|
|
br label %bb105
|
|
|
|
bb56: ; preds = %bb54
|
|
%29 = icmp eq i8 %x, 28
|
|
br i1 %29, label %bb57, label %bb58
|
|
|
|
bb57: ; preds = %bb56
|
|
store i8 28, ptr %_0, align 1
|
|
br label %bb105
|
|
|
|
bb58: ; preds = %bb56
|
|
%30 = icmp eq i8 %x, 29
|
|
br i1 %30, label %bb59, label %bb60
|
|
|
|
bb59: ; preds = %bb58
|
|
store i8 29, ptr %_0, align 1
|
|
br label %bb105
|
|
|
|
bb60: ; preds = %bb58
|
|
%31 = icmp eq i8 %x, 30
|
|
br i1 %31, label %bb61, label %bb62
|
|
|
|
bb61: ; preds = %bb60
|
|
store i8 30, ptr %_0, align 1
|
|
br label %bb105
|
|
|
|
bb62: ; preds = %bb60
|
|
%32 = icmp eq i8 %x, 31
|
|
br i1 %32, label %bb63, label %bb64
|
|
|
|
bb63: ; preds = %bb62
|
|
store i8 31, ptr %_0, align 1
|
|
br label %bb105
|
|
|
|
bb64: ; preds = %bb62
|
|
%33 = icmp eq i8 %x, 32
|
|
br i1 %33, label %bb65, label %bb66
|
|
|
|
bb65: ; preds = %bb64
|
|
store i8 32, ptr %_0, align 1
|
|
br label %bb105
|
|
|
|
bb66: ; preds = %bb64
|
|
%34 = icmp eq i8 %x, 33
|
|
br i1 %34, label %bb67, label %bb68
|
|
|
|
bb67: ; preds = %bb66
|
|
store i8 33, ptr %_0, align 1
|
|
br label %bb105
|
|
|
|
bb68: ; preds = %bb66
|
|
%35 = icmp eq i8 %x, 34
|
|
br i1 %35, label %bb69, label %bb70
|
|
|
|
bb69: ; preds = %bb68
|
|
store i8 34, ptr %_0, align 1
|
|
br label %bb105
|
|
|
|
bb70: ; preds = %bb68
|
|
%36 = icmp eq i8 %x, 35
|
|
br i1 %36, label %bb71, label %bb72
|
|
|
|
bb71: ; preds = %bb70
|
|
store i8 35, ptr %_0, align 1
|
|
br label %bb105
|
|
|
|
bb72: ; preds = %bb70
|
|
%37 = icmp eq i8 %x, 36
|
|
br i1 %37, label %bb73, label %bb74
|
|
|
|
bb73: ; preds = %bb72
|
|
store i8 36, ptr %_0, align 1
|
|
br label %bb105
|
|
|
|
bb74: ; preds = %bb72
|
|
%38 = icmp eq i8 %x, 37
|
|
br i1 %38, label %bb75, label %bb76
|
|
|
|
bb75: ; preds = %bb74
|
|
store i8 37, ptr %_0, align 1
|
|
br label %bb105
|
|
|
|
bb76: ; preds = %bb74
|
|
%39 = icmp eq i8 %x, 38
|
|
br i1 %39, label %bb77, label %bb78
|
|
|
|
bb77: ; preds = %bb76
|
|
store i8 38, ptr %_0, align 1
|
|
br label %bb105
|
|
|
|
bb78: ; preds = %bb76
|
|
%40 = icmp eq i8 %x, 39
|
|
br i1 %40, label %bb79, label %bb80
|
|
|
|
bb79: ; preds = %bb78
|
|
store i8 39, ptr %_0, align 1
|
|
br label %bb105
|
|
|
|
bb80: ; preds = %bb78
|
|
%41 = icmp eq i8 %x, 40
|
|
br i1 %41, label %bb81, label %bb82
|
|
|
|
bb81: ; preds = %bb80
|
|
store i8 40, ptr %_0, align 1
|
|
br label %bb105
|
|
|
|
bb82: ; preds = %bb80
|
|
%42 = icmp eq i8 %x, 41
|
|
br i1 %42, label %bb83, label %bb84
|
|
|
|
bb83: ; preds = %bb82
|
|
store i8 41, ptr %_0, align 1
|
|
br label %bb105
|
|
|
|
bb84: ; preds = %bb82
|
|
%43 = icmp eq i8 %x, 42
|
|
br i1 %43, label %bb85, label %bb86
|
|
|
|
bb85: ; preds = %bb84
|
|
store i8 42, ptr %_0, align 1
|
|
br label %bb105
|
|
|
|
bb86: ; preds = %bb84
|
|
%44 = icmp eq i8 %x, 43
|
|
br i1 %44, label %bb87, label %bb88
|
|
|
|
bb87: ; preds = %bb86
|
|
store i8 43, ptr %_0, align 1
|
|
br label %bb105
|
|
|
|
bb88: ; preds = %bb86
|
|
%45 = icmp eq i8 %x, 44
|
|
br i1 %45, label %bb89, label %bb90
|
|
|
|
bb89: ; preds = %bb88
|
|
store i8 44, ptr %_0, align 1
|
|
br label %bb105
|
|
|
|
bb90: ; preds = %bb88
|
|
%46 = icmp eq i8 %x, 45
|
|
br i1 %46, label %bb91, label %bb92
|
|
|
|
bb91: ; preds = %bb90
|
|
store i8 45, ptr %_0, align 1
|
|
br label %bb105
|
|
|
|
bb92: ; preds = %bb90
|
|
%47 = icmp eq i8 %x, 46
|
|
br i1 %47, label %bb93, label %bb94
|
|
|
|
bb93: ; preds = %bb92
|
|
store i8 46, ptr %_0, align 1
|
|
br label %bb105
|
|
|
|
bb94: ; preds = %bb92
|
|
%48 = icmp eq i8 %x, 47
|
|
br i1 %48, label %bb95, label %bb96
|
|
|
|
bb95: ; preds = %bb94
|
|
store i8 47, ptr %_0, align 1
|
|
br label %bb105
|
|
|
|
bb96: ; preds = %bb94
|
|
%49 = icmp eq i8 %x, 48
|
|
br i1 %49, label %bb97, label %bb98
|
|
|
|
bb97: ; preds = %bb96
|
|
store i8 48, ptr %_0, align 1
|
|
br label %bb105
|
|
|
|
bb98: ; preds = %bb96
|
|
%50 = icmp eq i8 %x, 49
|
|
br i1 %50, label %bb99, label %bb100
|
|
|
|
bb99: ; preds = %bb98
|
|
store i8 49, ptr %_0, align 1
|
|
br label %bb105
|
|
|
|
bb100: ; preds = %bb98
|
|
%51 = icmp eq i8 %x, 50
|
|
br i1 %51, label %bb101, label %bb102
|
|
|
|
bb101: ; preds = %bb100
|
|
store i8 50, ptr %_0, align 1
|
|
br label %bb105
|
|
|
|
bb102: ; preds = %bb100
|
|
%52 = icmp eq i8 %x, 51
|
|
br i1 %52, label %bb103, label %bb104
|
|
|
|
bb103: ; preds = %bb102
|
|
store i8 51, ptr %_0, align 1
|
|
br label %bb105
|
|
|
|
bb104: ; preds = %bb102
|
|
store i8 52, ptr %_0, align 1
|
|
br label %bb105
|
|
}
|
|
|
|
; Make sure the call is inlined.
|
|
define i8 @test2(i8 %x) {
|
|
; CHECK-LABEL: define range(i8 0, 53) i8 @test2(
|
|
; CHECK-SAME: i8 [[X:%.*]]) local_unnamed_addr #[[ATTR0]] {
|
|
; CHECK-NEXT: [[CALL:%.*]] = tail call range(i8 0, 53) i8 @llvm.umin.i8(i8 [[X]], i8 52)
|
|
; CHECK-NEXT: ret i8 [[CALL]]
|
|
;
|
|
%call = call i8 @test(i8 %x)
|
|
ret i8 %call
|
|
}
|