sdmitriev marked an inline comment as done. sdmitriev added inline comments.
================ Comment at: clang/tools/clang-offload-wrapper/ClangOffloadWrapper.cpp:74 + IntegerType *getSizeTTy() { + switch (M.getDataLayout().getPointerTypeSize(Type::getInt8PtrTy(C))) { + case 4u: ---------------- grokos wrote: > sdmitriev wrote: > > ABataev wrote: > > > sdmitriev wrote: > > > > ABataev wrote: > > > > > Same question as before: maybe better to make the size of size_t type > > > > > a parameter of a tool? > > > > As I remember you also had another suggestion - change size_t to > > > > intptr_t. That will eliminate the need to an additional parameter for > > > > size type. Will it be better? > > > In thi case we'll need to change the type in the libomptarget. > > Right. @grokos , do you see any potential problems in changing > > __tgt_offload_entry::size type from size_t to intptr_t? > As long as `intptr_t` has the same size as `size_t` it should be fine. Of > course, if this is not the case, then if libomptarget tries to load an older > image where `sizeof(__tgt_offload_entry::size) != sizeof(intptr_t)` then > backwards compatibility will have been broken. Fortunately, on all platforms > supported by released versions of libomptarget so far (x86_64, ppc64, > aarch64) if I'm not mistaken `sizeof(size_t) == sizeof(initptr_t)`, so I > don't think we'll break anything. @ABataev, as I understand clang CG assumes that intptr_t, size_t, and ptrdiff_t are the same types. Please look at clang/lib/CodeGen/CodeGenTypeCache.h, lines 44-49 ``` /// intptr_t, size_t, and ptrdiff_t, which we assume are the same size. union { llvm::IntegerType *IntPtrTy; llvm::IntegerType *SizeTy; llvm::IntegerType *PtrDiffTy; }; ``` So, I guess what we have here is Ok. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D68746/new/ https://reviews.llvm.org/D68746 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits