Skip to content
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

Keep allocas at the start of the function #2542

Merged
merged 1 commit into from
Jun 19, 2023

Conversation

Flakebi
Copy link
Member

@Flakebi Flakebi commented Jun 19, 2023

All inserted code should come after allocas. If an alloca ends up outside of the entry block, LLVM consideres it dynamically allocated stack and the scratch size in PAL metadata does not include it anymore.

Fixes dEQP-VK.subgroups.ballot_broadcast.mesh.subgroupbroadcast_dvec2_mesh in combination with D150609.

All inserted code should come after allocas. If an alloca ends up
outside of the entry block, LLVM consideres it dynamically allocated
stack and the scratch size in PAL metadata does not include it anymore.

Fixes dEQP-VK.subgroups.ballot_broadcast.mesh.subgroupbroadcast_dvec2_mesh
in combination with D150609.
@Flakebi Flakebi requested a review from a team as a code owner June 19, 2023 14:21
@amdvlk-admin
Copy link
Collaborator

Test summary for commit 7fb3a2c

CTS tests (Failed: 0/140881)
  • Built with version 1.3.3.1
  • Ubuntu 22.04, Navi3x
    • Passed: 39058/70446 (55.4%)
    • Failed: 0/70446 (0.0%)
    • Not Supported: 31388/70446 (44.6%)
    • Warnings: 0/70446 (0.0%)
    Ubuntu 20.04, Navi2x
    • Passed: 39090/70435 (55.5%)
    • Failed: 0/70435 (0.0%)
    • Not Supported: 31345/70435 (44.5%)
    • Warnings: 0/70435 (0.0%)

@Flakebi Flakebi merged commit 5837591 into GPUOpen-Drivers:dev Jun 19, 2023
10 checks passed
@Flakebi Flakebi deleted the alloca-start branch June 19, 2023 16:13
@amdvlk-admin
Copy link
Collaborator

7fb3a2c Jenkins build error.
/jenkins/workspace/vulkan/sanitized-opensource/Github-PR/llpc-github-pr/driver_build/drivers/xgl/icd/api/pipeline_compiler.cpp:3200:65: error: ‘Vkgc::LlpcRaytracingMode’ has not been declared
3200 | static_assert(RaytracingNone == static_cast(Vkgc::LlpcRaytracingMode::None));
| ^~~~~~~~~~~~~~~~~~
/jenkins/workspace/vulkan/sanitized-opensource/Github-PR/llpc-github-pr/driver_build/drivers/xgl/icd/api/pipeline_compiler.cpp:3201:67: error: ‘Vkgc::LlpcRaytracingMode’ has not been declared
3201 | static_assert(RaytracingLegacy == static_cast(Vkgc::LlpcRaytracingMode::Legacy));
| ^~~~~~~~~~~~~~~~~~
/jenkins/workspace/vulkan/sanitized-opensource/Github-PR/llpc-github-pr/driver_build/drivers/xgl/icd/api/pipeline_compiler.cpp:3202:71: error: ‘Vkgc::LlpcRaytracingMode’ has not been declared
3202 | static_assert(RaytracingRefactored == static_cast(Vkgc::LlpcRaytracingMode::Gpurt2));
| ^~~~~~~~~~~~~~~~~~
/jenkins/workspace/vulkan/sanitized-opensource/Github-PR/llpc-github-pr/driver_build/drivers/xgl/icd/api/pipeline_compiler.cpp:3203:31: error: ‘struct Vkgc::RayTracingPipelineBuildInfo’ has no member named ‘mode’
3203 | pCreateInfo->pipelineInfo.mode = static_castVkgc::LlpcRaytracingMode(settings.llpcRaytracingMode);
| ^~~~
/jenkins/workspace/vulkan/sanitized-opensource/Github-PR/llpc-github-pr/driver_build/drivers/xgl/icd/api/pipeline_compiler.cpp:3203:56: error: ‘LlpcRaytracingMode’ in namespace ‘Vkgc’ does not name a type
3203 | pCreateInfo->pipelineInfo.mode = static_castVkgc::LlpcRaytracingMode(settings.llpcRaytracingMode);
| ^~~~~~~~~~~~~~~~~~
[3023/3086] Building CXX object icd/CMakeFiles/xgl.dir/api/vk_descriptor_set_layout.cpp.o
[3024/3086] Building CXX object icd/CMakeFiles/xgl.dir/api/vk_cmd_pool.cpp.o
[3025/3086] Building CXX object icd/CMakeFiles/xgl.dir/api/vk_compute_pipeline.cpp.o

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.

None yet

3 participants