================
@@ -253,6 +253,23 @@ llvm::Constant *CodeGenModule::getBuiltinLibFunction(const 
FunctionDecl *FD,
   return GetOrCreateLLVMFunction(Name, Ty, D, /*ForVTable=*/false);
 }
 
+void appendDefaultIntrinsicArgs(SmallVectorImpl<llvm::Value *> &Args,
+                                llvm::Function *F) {
+  llvm::FunctionType *FTy = F->getFunctionType();
+  if (Args.size() == FTy->getNumParams())
+    return;
+
+  auto [FirstDefault, Defaults] =
+      Intrinsic::getAllDefaultArgValues(F->getIntrinsicID());
+  for (unsigned I = Args.size(), E = FTy->getNumParams(); I != E; ++I) {
+    unsigned DefaultIdx = I - FirstDefault;
+    if (DefaultIdx < 0 || DefaultIdx >= Defaults.size())
+      break;
+    Args.push_back(
+        llvm::ConstantInt::get(FTy->getParamType(I), Defaults[DefaultIdx]));
----------------
durga4github wrote:

AFAIR, we support only scalar-ints now, and not vectors yet. Kindly 
double-check once and update the checks if required.

https://github.com/llvm/llvm-project/pull/214667
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to