rjmccall added inline comments.

================
Comment at: clang/include/clang/CodeGen/CodeGenABITypes.h:93
+    llvm::BasicBlock::iterator InsertPoint, llvm::Value *Dst,
+    CharUnits Alignment, QualType QT);
+
----------------
Hmm.  I think it might be better to just have this return a function pointer; 
emitting a call in a different frontend's function can be pretty fraught if 
that frontend wants to handle e.g. unwinding.  The interface should document 
the ABI of the returned function pointer.  Callers might be able to take 
advantage of a function pointer in different ways, e.g. by using it directly in 
Swift's value-witness tables on targets where the calling conventions align.

In the long run, I'd definitely like to make this interface capable of doing 
some limited code-generation tasks, e.g. to load or store bit-fields, but I 
suspect that we'll need to think about that a bit more carefully and that we 
might want to avoid anything that involves a call.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D60161



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

Reply via email to