2017-07-28 00:49:39 +08:00
|
|
|
; 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
|
2017-12-15 17:32:11 +08:00
|
|
|
; RUN: opt -S -passes=rewrite-statepoints-for-gc < %s | FileCheck %s
|
2017-07-28 00:49:39 +08:00
|
|
|
|
|
|
|
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
|
|
|
|
}
|