- As convergent intrinsics/calls could only be moved to control-equivalent blocks, or more precisely the same divergent branch, PRE needs to skip them.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Unit Tests
Unit Tests
Time | Test | |
---|---|---|
420 ms | linux > HWAddressSanitizer-x86_64.TestCases::sizes.cpp |
Event Timeline
llvm/test/Transforms/GVN/pre-skip-convergent.ll | ||
---|---|---|
2 | Please commit this test without your patch with auto-generated checks (utils/update_test_checks.py), then rebase on top of it to show what your patch changes. |
llvm/test/Transforms/GVN/pre-skip-convergent.ll | ||
---|---|---|
2 | You probably also want to add a run line for the new pass manager -passes=..., assuming we run this code in the new PM. (Ignore this if we don't). |
llvm/test/Transforms/GVN/pre-skip-convergent.ll | ||
---|---|---|
2 | with this patch, we won't PRE that call into convergent intrinsic @llvm.convergent in merge block into pre block as it won't function correctly. |
Please commit this test without your patch with auto-generated checks (utils/update_test_checks.py), then rebase on top of it to show what your patch changes.