Skip to content

[SYCL] Detach allocas from their dependencies regardless of linked alloca presence #4573

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Sep 22, 2021

Conversation

abuyukku
Copy link
Contributor

@abuyukku abuyukku commented Sep 14, 2021

cleanupCommandsForRecord() removed allocation commands from the users of their dependencies only when there was a linked alloca command present. This has caused dangling pointers in the graph which resulted in invalid reads hence sporadic segfaults. This PR detaches alloca commands from their dependencies regardless of whether a linked alloca is present or not.

@abuyukku
Copy link
Contributor Author

/summary:run

@abuyukku abuyukku marked this pull request as ready for review September 16, 2021 19:10
@abuyukku abuyukku requested a review from a team as a code owner September 16, 2021 19:10
Copy link
Contributor

@sergey-semenov sergey-semenov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please, add a unit test for the case this patch is fixing.

@abuyukku abuyukku changed the title Detach Alloca commands from the commands it's dependent on [SYCL] Remove alloca commands' dependencies regardless of linked alloca presence Sep 17, 2021
@abuyukku abuyukku changed the title [SYCL] Remove alloca commands' dependencies regardless of linked alloca presence [SYCL] Detach allocas from their dependencies regardless of linked alloca presence Sep 17, 2021
@abuyukku
Copy link
Contributor Author

/summary:run

@abuyukku
Copy link
Contributor Author

Please, add a unit test for the case this patch is fixing.

Added in intel/llvm-test-suite#466 . Please check.

@romanovvlad
Copy link
Contributor

Please, add a unit test for the case this patch is fixing.

Added in intel/llvm-test-suite#466 . Please check.

I believe Sergey was asking for adding a test in the sycl/unittests/ directory of intel/llvm(this) repository.

…loca presence

cleanupCommandsForRecord() removed allocation commands from the users of their
dependencies only when there was a linked alloca command present. This has caused
dangling pointers in the graph which resulted in invalid reads hence sporadic
segfaults. This PR detaches alloca commands from their dependencies regardless of
whether a linked alloca is present or not.
@abuyukku
Copy link
Contributor Author

I believe Sergey was asking for adding a test in the sycl/unittests/ directory of intel/llvm(this) repository.

Existing sycl/unittests/scheduler/MemObjCommandCleanup.cpp is updated to test the failing scenario.

@abuyukku
Copy link
Contributor Author

/summary:run

@againull againull merged commit 42c6f44 into intel:sycl Sep 22, 2021
@abuyukku abuyukku deleted the test branch September 24, 2021 05:33
alexbatashev added a commit to alexbatashev/llvm that referenced this pull request Sep 24, 2021
* upstream/sycl: (2344 commits)
  [ESIMD] Rename slm_load4/slm_store4 to slm_load_rgba/slm_store_rgba (intel#4158)
  [SYCL] Avoid re-computing group_range in nd_item::get_group_range() (intel#4621)
  [clang-offload-extract] Ignore zero padding in .tgting section (intel#4622)
  [Driver][SYCL] Fix -fsycl-help output when redirected (intel#4619)
  [Driver][SYCL][FPGA] Do not unbundle aoco as an archive for hardware (intel#4477)
  [Driver][SYCL] Fix offload-bundler and offload-deps triples (intel#4616)
  [SYCL] Fix bit_cast for half type (intel#4603)
  [SYCL] Fix a typo in accessor::get_range method (intel#4556)
  [SYCL] Detach allocas from their dependencies regardless of linked alloca presence (intel#4573)
  [SYCL][L0] Make sure that we only query/sync host-visible events from the host. (intel#4613)
  Fix tests with wrong alias metadata
  [Driver][SYCL] Fixup arguments to llc call for PIC and code-model (intel#4614)
  [SYCL][L0] Add ownership control for LeveL-Zero kernel_bundle interop. (intel#4576)
  [SYCL][Driver] Expose llvm-foreach --jobs functionality through a driver option (intel#4543)
  [SYCL] Prevent stream buffer leak on constructor exception (intel#4594)
  [ESIMD] Replace mask_type_t with simd_mask to represent Gen predicates. (intel#4230)
  Fix for a bunch of fixed point integer SPIR-V instructions (intel#1213)
  Amend SingleElementVectorINTEL decoration use cases according to spec update (intel#1192)
  Enforce UserSemantic decoration if no FPGA decorations found
  [SYCL][CUDA] Fix context scope in kernel launch (intel#4606)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants