| ; A call to a libcall function is not a statepoint. |
| ; This test verifies that calls to libcalls functions do not get converted to |
| ; statepoint calls. |
| ; RUN: opt -S -rewrite-statepoints-for-gc < %s | FileCheck %s |
| ; RUN: opt -S -passes=rewrite-statepoints-for-gc < %s | FileCheck %s |
| |
| declare double @ldexp(double %x, i32 %n) nounwind readnone |
| |
| define double @test_libcall(double %x) gc "statepoint-example" { |
| ; CHECK-LABEL: test_libcall |
| ; CHECK-NEXT: %res = call double @ldexp(double %x, i32 5) |
| ; CHECK-NEXT: ret double %res |
| %res = call double @ldexp(double %x, i32 5) nounwind readnone |
| ret double %res |
| } |