| ; 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 | |
| } |