allevato added inline comments.

================
Comment at: clang/include/clang/CodeGen/CodeGenABITypes.h:93
+    llvm::BasicBlock::iterator InsertPoint, llvm::Value *Dst,
+    CharUnits Alignment, QualType QT);
+
----------------
rjmccall wrote:
> 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.
That makes sense—getting this working was a bit tricky and passing the BB and 
insert point didn't exactly seem like the cleanest approach.

I'll work on the alternate approach you suggested and circle back around when I 
have it working with the corresponding Swift changes.


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