Skip to content

Commit

Permalink
Fix for identifying builtin sqrt
Browse files Browse the repository at this point in the history
  • Loading branch information
arpitj1 committed Dec 29, 2023
1 parent f0c1f6d commit 04b3725
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 13 deletions.
16 changes: 16 additions & 0 deletions tools/cgeist/Lib/CGCall.cc
Original file line number Diff line number Diff line change
Expand Up @@ -541,6 +541,22 @@ MLIRScanner::EmitClangBuiltinCallExpr(clang::CallExpr *expr) {
ValueCategory(builder.create<arith::ConstantIntOp>(loc, 0, resultType),
/*isRef*/ false));
}
case Builtin::BIsqrt:
case Builtin::BIsqrtf:
case Builtin::BIsqrtl:
case Builtin::BI__builtin_sqrt:
case Builtin::BI__builtin_sqrtf:
case Builtin::BI__builtin_sqrtf16:
case Builtin::BI__builtin_sqrtl:
case Builtin::BI__builtin_sqrtf128:
case Builtin::BI__builtin_elementwise_sqrt: {
auto v = Visit(expr->getArg(0));
assert(!v.isReference);
Value res = builder.create<math::SqrtOp>(loc, v.val);
auto postTy = getMLIRType(expr->getType());
return success(
ValueCategory(res, /*isRef*/ false));
}
case Builtin::BI__builtin_clzs:
case Builtin::BI__builtin_clz:
case Builtin::BI__builtin_clzl:
Expand Down
14 changes: 1 addition & 13 deletions tools/cgeist/Lib/clang-mlir.cc
Original file line number Diff line number Diff line change
Expand Up @@ -1824,19 +1824,7 @@ MLIRScanner::EmitBuiltinOps(clang::CallExpr *expr) {
/*isReference*/ false),
true);
}
if (sr->getDecl()->getIdentifier() &&
(sr->getDecl()->getName() == "sqrtf" ||
sr->getDecl()->getName() == "sqrt")) {
std::vector<mlir::Value> args;
for (auto a : expr->arguments()) {
args.push_back(Visit(a).getValue(loc, builder));
}
return make_pair(
ValueCategory(builder.create<mlir::math::SqrtOp>(loc, args[0]),
/*isReference*/ false),
true);
}
if (sr->getDecl()->getIdentifier() &&
if (sr->getDecl()->getIdentifier() &&
(sr->getDecl()->getName() == "expf" ||
sr->getDecl()->getName() == "exp")) {
std::vector<mlir::Value> args;
Expand Down

0 comments on commit 04b3725

Please sign in to comment.