[llvm] TargetLibraryInfo: Use pointer index size to determine getSizeTSize(). (PR #118747)
Sergei Barannikov via llvm-commits
llvm-commits at lists.llvm.org
Thu Dec 5 08:02:28 PST 2024
================
@@ -1465,13 +1465,19 @@ unsigned TargetLibraryInfoImpl::getSizeTSize(const Module &M) const {
// Historically LLVM assume that size_t has same size as intptr_t (hence
// deriving the size from sizeof(int*) in address space zero). This should
- // work for most targets. For future consideration: DataLayout also implement
- // getIndexSizeInBits which might map better to size_t compared to
- // getPointerSizeInBits. Hard coding address space zero here might be
- // unfortunate as well. Maybe getDefaultGlobalsAddressSpace() or
- // getAllocaAddrSpace() is better.
+ // work for most targets. For future consideration: Hard coding address space
+ // zero here might be unfortunate. Maybe getMaxIndexSizeInBits() is better.
----------------
s-barannikov wrote:
Probably not a big difference, but...
`size_t` is a C language concept not directly related to data layout, which is more of a machine concept.
The size of `size_t` can as well be less than whatever `get*IndexSizeInBits` returns.
Would it make more sense to handle `size_t` similar to `int`? (See `getIntSize`, `setIntSize`.)
https://github.com/llvm/llvm-project/pull/118747
More information about the llvm-commits
mailing list