Skip to content

[HIP] accessor.cpp failing after AA change in a30e50fcb31 #16505

Open
@jsji

Description

@jsji

Describe the bug

After a30e50f, the EarlyCSE (and GVN) might get confused by the aliasing related to the negative offset in GEP and address space cast.

--- g.log 2025-01-01 17:05:49.327276619 -0800
+++ b.log 2025-01-02 08:55:31.176390278 -0800
@@ -2289,8 +2289,7 @@
   call void @llvm.experimental.noalias.scope.decl(metadata !209)
   %add9.i = add nsw i32 %2, %add.i
   store i32 %add9.i, ptr %incdec.ptr.i, align 4, !tbaa !90
-  %3 = load i32, ptr addrspace(3) %_arg_LocalAcc20, align 4, !tbaa !90
-  store i32 %3, ptr addrspace(1) %_arg_Acc24, align 4, !tbaa !90
+  store i32 32, ptr addrspace(1) %_arg_Acc24, align 4, !tbaa !90
   ret void
 }

The test is XFAILed in pulldown, please investigate/fix and UnXFAIL it.

https://github.com/intel/llvm/actions/runs/12563446905/job/35025604202

FAIL: SYCL :: Basic/accessor/accessor.cpp (250 of 2239)
******************** TEST 'SYCL :: Basic/accessor/accessor.cpp' FAILED ********************
Exit Code: -6

Command Output (stdout):
--
# RUN: at line 1
/__w/llvm/llvm/toolchain/bin//clang++  -Werror -Xsycl-target-backend=amdgcn-amd-amdhsa --offload-arch=gfx1031 -fsycl -fsycl-targets=amdgcn-amd-amdhsa  /__w/llvm/llvm/llvm/sycl/test-e2e/Basic/accessor/accessor.cpp -DSYCL2020_DISABLE_DEPRECATION_WARNINGS -o /__w/llvm/llvm/build-e2e/Basic/accessor/Output/accessor.cpp.tmp.out
# executed command: /__w/llvm/llvm/toolchain/bin//clang++ -Werror -Xsycl-target-backend=amdgcn-amd-amdhsa --offload-arch=gfx1031 -fsycl -fsycl-targets=amdgcn-amd-amdhsa /__w/llvm/llvm/llvm/sycl/test-e2e/Basic/accessor/accessor.cpp -DSYCL2020_DISABLE_DEPRECATION_WARNINGS -o /__w/llvm/llvm/build-e2e/Basic/accessor/Output/accessor.cpp.tmp.out
# note: command had no output on stdout or stderr
# RUN: at line 2
env UR_HIP_ENABLE_IMAGE_SUPPORT=1 ONEAPI_DEVICE_SELECTOR=hip:gpu  /__w/llvm/llvm/build-e2e/Basic/accessor/Output/accessor.cpp.tmp.out
# executed command: env UR_HIP_ENABLE_IMAGE_SUPPORT=1 ONEAPI_DEVICE_SELECTOR=hip:gpu /__w/llvm/llvm/build-e2e/Basic/accessor/Output/accessor.cpp.tmp.out
# .---command stdout------------
# | exception received: placeholder accessor must be bound by calling handler::require() before it can be used.
# | exception received: placeholder accessor must be bound by calling handler::require() before it can be used.
# | exception received: placeholder accessor must be bound by calling handler::require() before it can be used.
# | exception received: placeholder accessor must be bound by calling handler::require() before it can be used.
# | SYCL exception caught: A local accessor must not be used in a SYCL kernel function that is invoked via single_task or via the simple form of parallel_for that takes a range parameter.
# | SYCL exception caught: A local accessor must not be used in a SYCL kernel function that is invoked via single_task or via the simple form of parallel_for that takes a range parameter.
# `-----------------------------
# .---command stderr------------
# | accessor.cpp.tmp.out: /__w/llvm/llvm/llvm/sycl/test-e2e/Basic/accessor/accessor.cpp:1[29](https://github.com/intel/llvm/actions/runs/12565145323/job/35029218571#step:24:30)8: int main(): Assertion `Data == 96' failed.
# `-----------------------------
# error: command failed with exit status: -6

--

To reproduce

No response

Environment

No response

Additional context

No response

Metadata

Metadata

Assignees

Labels

bugSomething isn't workinghipIssues related to execution on HIP backend.pdtrackerPulldown tracker for issues/reverts that needs follow up

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions