Files
TheRock/compiler/amd-llvm/amd/comgr/test-lit/spirv-tests/spirv-translator-honors-driver-flags.hip
T
derek.holloway 7502bf64a4
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
Flatten subprojects into a single base monorepo
2026-09-02 16:34:47 -07:00

40 lines
1.7 KiB
Plaintext

// REQUIRES: comgr-has-spirv-translator
// REQUIRES: stability
// COM: Verify COMGR honors the --spirv-* flags HIPAMD emits today (see
// COM: clang/lib/Driver/ToolChains/HIPAMD.cpp). Each RUN pins one observable
// COM: side-effect of a specific driver flag. The kernel calls an amdgcn
// COM: intrinsic to exercise --spirv-allow-unknown-intrinsics, and -g is
// COM: passed to exercise --spirv-debug-info-version.
// RUN: source-to-spirv -nogpuinc -g %s %t.spv
// RUN: test -s %t.spv
// COM: --spirv-ext=+all,-SPV_KHR_untyped_pointers (disabled).
// RUN: not grep -a "SPV_KHR_untyped_pointers" %t.spv
// COM: --spirv-ext=+all (must allow extensions outside the default set).
// RUN: grep -a "SPV_INTEL_kernel_attributes" %t.spv
// COM: --spirv-allow-unknown-intrinsics (bare flag → allow all).
// RUN: grep -a "llvm.amdgcn.workitem.id.x" %t.spv
// COM: --spirv-preserve-auxdata (always-on extended instruction set import).
// RUN: grep -a "NonSemantic.AuxData" %t.spv
// COM: --spirv-debug-info-version=nonsemantic-shader-200.
// RUN: grep -a "NonSemantic.Shader.DebugInfo.200" %t.spv
// COM: Two of HIPAMD's driver flags have no test here:
// COM: --spirv-max-version=1.6: TranslatorOpts::MaxVersion already defaults
// COM: to MaximumVersion (1.6), so dropping the flag does not change the
// COM: emitted version for any kernel that fits in <=1.6.
// COM: --spirv-lower-const-expr: the global cl::opt in SPIRVLowerConstExpr.cpp
// COM: is cl::init(true), so the flag matches the default and has no
// COM: observable side-effect to assert on.
__attribute__((device))
unsigned get_id() { return __builtin_amdgcn_workitem_id_x(); }
__attribute__((global))
void k(unsigned* p) { *p = get_id(); }