[LLVMdev] Minimum Array Size

Nick Lewycky nicholas at mxc.ca
Mon Sep 10 17:40:43 PDT 2012


Hal Finkel wrote:
> Hello,
>
> clang currently seems to generate the same code for both:
>
> double something_a(char A[const static 256]) {
>    ...
> }
>
> and for:
>
> double something_b(char (*const A)) {
>    ...
> }
>
> even though in the first case the programmer has told us that the array
> A is at least 256 bytes in length (and, thus, will not be null). Do we
> currently have a way to pass this information to LLVM?

No, but I'm interested in this. C++ references imply that 'n' bytes of 
the pointer may be dereferenced, and we have no way of capturing that 
fact. It would feed into llvm::isSafeToLoadUnconditionally().

Nick



More information about the llvm-dev mailing list