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
60 lines
2.6 KiB
LLVM
60 lines
2.6 KiB
LLVM
; RUN: llvm-reduce %s -o %t --abort-on-invalid-reduction --delta-passes=operands-skip --test FileCheck --test-arg %s --test-arg --match-full-lines --test-arg --check-prefix=INTERESTING --test-arg --input-file
|
|
; RUN: FileCheck %s --input-file %t --check-prefixes=REDUCED
|
|
|
|
; RUN: llvm-reduce -j 2 %s -o %t.1 --delta-passes=operands-skip --test FileCheck --test-arg %s --test-arg --match-full-lines --test-arg --check-prefix=INTERESTING --test-arg --input-file
|
|
; RUN: FileCheck %s --input-file %t.1 --check-prefixes=REDUCED
|
|
|
|
; RUN: llvm-reduce -j 4 %s -o %t.2 --delta-passes=operands-skip --test FileCheck --test-arg %s --test-arg --match-full-lines --test-arg --check-prefix=INTERESTING --test-arg --input-file
|
|
; RUN: FileCheck %s --input-file %t.2 --check-prefixes=REDUCED
|
|
|
|
; INTERESTING: store i32 45, ptr {{(%imm|%indirect|%phi|%val)}}, align 4
|
|
; REDUCED: store i32 45, ptr %val, align 4
|
|
|
|
; INTERESTING: store i32 46, ptr {{(%imm|%indirect|%phi|%val|@Global)}}, align 4
|
|
; REDUCED: store i32 46, ptr @Global, align 4
|
|
|
|
; INTERESTING: store i32 47, ptr {{(%imm|%indirect|%phi|%val|@Global|%arg2)}}, align 4
|
|
; REDUCED: store i32 47, ptr %arg2, align 4
|
|
|
|
; INTERESTING: store i32 48, ptr {{(%imm|%indirect|%phi|%val|@Global|%arg2|%arg1)}}, align 4
|
|
; REDUCED: store i32 48, ptr %arg1, align 4
|
|
|
|
; INTERESTING: store i32 49, ptr {{(%imm|%indirect|%phi|%val|@Global|%arg2|%arg1|null)}}, align 4
|
|
; REDUCED: store i32 49, ptr null, align 4
|
|
|
|
; REDUCED: store i32 50, ptr %arg1, align 4
|
|
; REDUCED: store i32 51, ptr %arg1, align 4
|
|
|
|
@Global = global i32 42
|
|
|
|
define void @func(ptr %arg1, ptr %arg2, i1 %arg) {
|
|
entry:
|
|
%val = getelementptr i32, ptr getelementptr (i32, ptr @Global, i32 1), i32 2
|
|
br i1 %arg, label %branch, label %loop
|
|
|
|
branch:
|
|
%nondominating1 = getelementptr i32, ptr %val, i32 3
|
|
br label %loop
|
|
|
|
loop:
|
|
%phi = phi ptr [ null, %entry ], [ %nondominating1, %branch ], [ %nondominating2, %loop ]
|
|
%imm = getelementptr i32, ptr %phi, i32 4
|
|
%indirect = getelementptr i32, ptr %imm, i32 5
|
|
|
|
store i32 43, ptr %imm, align 4 ; Don't reduce to %indirect (not "more reduced" than %imm)
|
|
store i32 44, ptr %imm, align 4 ; Reduce to %phi
|
|
store i32 45, ptr %imm, align 4 ; Reduce to %val
|
|
store i32 46, ptr %imm, align 4 ; Reduce to @Global
|
|
store i32 47, ptr %imm, align 4 ; Reduce to %arg1
|
|
store i32 48, ptr %imm, align 4 ; Reduce to %arg2
|
|
store i32 49, ptr %imm, align 4 ; Reduce to null
|
|
|
|
%nondominating2 = getelementptr i32, ptr %indirect, i32 6
|
|
br i1 %arg, label %loop, label %exit
|
|
|
|
exit:
|
|
store i32 50, ptr %arg2, align 4 ; Reduce to %arg1 (compactify function arguments)
|
|
store i32 51, ptr %arg1, align 4 ; Don't reduce
|
|
ret void
|
|
}
|