Constant fold sqrtf
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28853 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Analysis/ConstantFolding.cpp b/lib/Analysis/ConstantFolding.cpp
index 3321115..7e802ba 100644
--- a/lib/Analysis/ConstantFolding.cpp
+++ b/lib/Analysis/ConstantFolding.cpp
@@ -76,7 +76,8 @@
case 'p':
return Name == "pow";
case 's':
- return Name == "sin" || Name == "sinh" || Name == "sqrt";
+ return Name == "sin" || Name == "sinh" ||
+ Name == "sqrt" || Name == "sqrtf";
case 't':
return Name == "tan" || Name == "tanh";
default:
@@ -150,6 +151,8 @@
return ConstantFP::get(Ty, sinh(V));
else if (Name == "sqrt" && V >= 0)
return ConstantFP::get(Ty, sqrt(V));
+ else if (Name == "sqrtf" && V >= 0)
+ return ConstantFP::get(Ty, sqrt((float)V));
break;
case 't':
if (Name == "tan")