tlively added inline comments.

================
Comment at: clang/lib/CodeGen/CGBuiltin.cpp:18373-18374
+    llvm::Type *SrcT = Vec->getType();
+    llvm::Type *TruncT =
+        FixedVectorType::get(llvm::IntegerType::get(getLLVMContext(), 32), 4);
+    Function *Callee = CGM.getIntrinsic(IntNo, {TruncT, SrcT});
----------------
This can be `ConvertType(E->getType())` to calculate the LLVM type from the 
clang type for the call. However, it would be even better to not make these 
intrinsics polymorphic.


================
Comment at: llvm/include/llvm/IR/IntrinsicsWebAssembly.td:218-219
+def int_wasm_relaxed_trunc_signed:
+  Intrinsic<[llvm_anyvector_ty],
+            [llvm_anyvector_ty],
+            [IntrNoMem, IntrSpeculatable]>;
----------------
Since these intrinsics only need to work with a single set of types each, it 
would be simpler to specify those types rather than make the intrinsics 
polymorphic. See the definition of `int_wasm_q15mulr_sat_signed` for an 
example. That would allow you to drop the type arguments from 
`CGM.getIntrinsic()` in CGBuiltin.cpp.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D112186/new/

https://reviews.llvm.org/D112186

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to