Skip to content

[CoroSplit] Keep coro.free for resume/destroy functions#186301

Merged
NewSigma merged 1 commit intollvm:mainfrom
NewSigma:keep-coro-free
Mar 13, 2026
Merged

[CoroSplit] Keep coro.free for resume/destroy functions#186301
NewSigma merged 1 commit intollvm:mainfrom
NewSigma:keep-coro-free

Conversation

@NewSigma
Copy link
Copy Markdown
Contributor

Part 1/4: Implement HALO for coroutines that flow off final suspend. Parent PR approved in #185336, with no change since then

Previously, we unconditionally lowered coro.free. Now, we lower it only for the cleanup function. The remaining coro.free intrinsics will be lowered in CoroCleanup. Keep these coro.free so that we can elide them.

@NewSigma NewSigma added the skip-precommit-approval PR for CI feedback, not intended for review label Mar 13, 2026
@NewSigma NewSigma changed the title [CoroSplit] Keep coro.free for resume/destroy [CoroSplit] Keep coro.free for resume/destroy functions Mar 13, 2026
@NewSigma NewSigma merged commit 714eee7 into llvm:main Mar 13, 2026
14 checks passed
@NewSigma NewSigma deleted the keep-coro-free branch March 13, 2026 07:29
@llvm-ci
Copy link
Copy Markdown

llvm-ci commented Mar 13, 2026

LLVM Buildbot has detected a new failure on builder openmp-offload-amdgpu-runtime-2 running on rocm-worker-hw-02 while building llvm at step 10 "Add check check-libc-amdgcn-amd-amdhsa".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/10/builds/24477

Here is the relevant piece of the build log for the reference
Step 10 (Add check check-libc-amdgcn-amd-amdhsa) failure: test (failure)
...
[       OK ] LlvmLibcFMaximumMagTest.InfArg (4 us)
[ RUN      ] LlvmLibcFMaximumMagTest.NegInfArg
[       OK ] LlvmLibcFMaximumMagTest.NegInfArg (4 us)
[ RUN      ] LlvmLibcFMaximumMagTest.BothZero
[       OK ] LlvmLibcFMaximumMagTest.BothZero (3 us)
[ RUN      ] LlvmLibcFMaximumMagTest.Range
[       OK ] LlvmLibcFMaximumMagTest.Range (11 ms)
Ran 5 tests.  PASS: 5  FAIL: 0
[2574/3340] Linking CXX executable libc/test/src/math/smoke/libc.test.src.math.smoke.ffma_test.__hermetic__.__build__
[2575/3340] Running hermetic test libc.test.src.math.smoke.roundf16_test.__hermetic__
FAILED: libc/test/src/math/smoke/libc.test.src.math.smoke.roundf16_test.__hermetic__.__cmd__ /home/botworker/builds/openmp-offload-amdgpu-runtime-2/llvm.build/runtimes/runtimes-amdgcn-amd-amdhsa-bins/libc/test/src/math/smoke/libc.test.src.math.smoke.roundf16_test.__hermetic__.__cmd__ 
cd /home/botworker/builds/openmp-offload-amdgpu-runtime-2/llvm.build/runtimes/runtimes-amdgcn-amd-amdhsa-bins/libc/test/src/math/smoke && /home/botworker/builds/openmp-offload-amdgpu-runtime-2/llvm.build/bin/llvm-gpu-loader /home/botworker/builds/openmp-offload-amdgpu-runtime-2/llvm.build/runtimes/runtimes-amdgcn-amd-amdhsa-bins/libc/test/src/math/smoke/libc.test.src.math.smoke.roundf16_test.__hermetic__.__build__
[==========] Running 3 tests from 1 test suite.
[ RUN      ] LlvmLibcRoundTest.SpecialNumbers
[       OK ] LlvmLibcRoundTest.SpecialNumbers (4 us)
[ RUN      ] LlvmLibcRoundTest.RoundedNubmers
[       OK ] LlvmLibcRoundTest.RoundedNubmers (2 us)
[ RUN      ] LlvmLibcRoundTest.Fractions
[       OK ] LlvmLibcRoundTest.Fractions (7 us)
Ran 3 tests.  PASS: 3  FAIL: 0
[2576/3340] Running hermetic test libc.test.src.math.logbl_test.__hermetic__
[==========] Running 4 tests from 1 test suite.
[ RUN      ] LlvmLibcLogbTest.SpecialNumbers
[       OK ] LlvmLibcLogbTest.SpecialNumbers (5 us)
[ RUN      ] LlvmLibcLogbTest.PowersOfTwo
[       OK ] LlvmLibcLogbTest.PowersOfTwo (4 us)
[ RUN      ] LlvmLibcLogbTest.SomeIntegers
[       OK ] LlvmLibcLogbTest.SomeIntegers (4 us)
[ RUN      ] LlvmLibcLogbTest.InRange
[       OK ] LlvmLibcLogbTest.InRange (16 ms)
Ran 4 tests.  PASS: 4  FAIL: 0
[2577/3340] Running hermetic test libc.test.src.math.ilogbf_test.__hermetic__
[==========] Running 5 tests from 1 test suite.
[ RUN      ] LlvmLibcILogbTest.SpecialNumbers_ilogbf
[       OK ] LlvmLibcILogbTest.SpecialNumbers_ilogbf (2 us)
[ RUN      ] LlvmLibcILogbTest.PowersOfTwo_ilogbf
[       OK ] LlvmLibcILogbTest.PowersOfTwo_ilogbf (0 ns)
[ RUN      ] LlvmLibcILogbTest.SomeIntegers_ilogbf
[       OK ] LlvmLibcILogbTest.SomeIntegers_ilogbf (0 ns)
[ RUN      ] LlvmLibcILogbTest.SubnormalRange_ilogbf
[       OK ] LlvmLibcILogbTest.SubnormalRange_ilogbf (745 us)
[ RUN      ] LlvmLibcILogbTest.NormalRange_ilogbf
[       OK ] LlvmLibcILogbTest.NormalRange_ilogbf (1 ms)
Ran 5 tests.  PASS: 5  FAIL: 0
[2578/3340] Linking CXX executable libc/test/src/math/smoke/libc.test.src.math.smoke.fsqrt_test.__hermetic__.__build__
[2579/3340] Linking CXX executable libc/test/src/math/smoke/libc.test.src.math.smoke.ffmal_test.__hermetic__.__build__
[2580/3340] Linking CXX executable libc/test/src/math/smoke/libc.test.src.math.smoke.dsqrtl_test.__hermetic__.__build__
[2581/3340] Running hermetic test libc.test.src.math.smoke.fmaximum_numbf16_test.__hermetic__
[==========] Running 5 tests from 1 test suite.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

coroutines C++20 coroutines llvm:transforms skip-precommit-approval PR for CI feedback, not intended for review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants