[llvm-dev] Indices for extractvalue and insertvalue

Xin Tong via llvm-dev llvm-dev at lists.llvm.org
Mon Jan 2 14:01:42 PST 2017


Hi

Can someone explain to me why we cant use uint64_t for extractvalue
and insertvalue indices, while GEP on arrays can have indices of any
integer type. Basically if I load an array with UINT_MAX+O (O>=2)
elements, I can not extract its last element.

Given this restriction I feel we have a bug here (uint64_t is passed
as a unsigned). This cant happen because of the if (NumElements >
1024) guard, but its a bug anyways.

https://github.com/llvm-mirror/llvm/blob/master/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp#L634

Thanks,
-Xin


More information about the llvm-dev mailing list