Convert calls to __sinpi and __cospi into __sincospi_stret
authorBob Wilson <bob.wilson@apple.com>
Sun, 3 Nov 2013 06:48:38 +0000 (06:48 +0000)
committerBob Wilson <bob.wilson@apple.com>
Sun, 3 Nov 2013 06:48:38 +0000 (06:48 +0000)
commit208130f11331eccab26c0a6f3146cd1891e53e33
tree12cab7de22cfa409359560285db92ac981595524
parentcb01efb7988d119d6e2aedab1740695aa6a9cc0c
Convert calls to __sinpi and __cospi into __sincospi_stret

This adds an SimplifyLibCalls case which converts the special __sinpi and
__cospi (float & double variants) into a __sincospi_stret where appropriate to
remove duplicated work.

Patch by Tim Northover

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193943 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Target/TargetLibraryInfo.h
lib/Target/TargetLibraryInfo.cpp
lib/Transforms/Utils/SimplifyLibCalls.cpp
test/Transforms/InstCombine/sincospi.ll [new file with mode: 0644]