[LLVMdev] Loads not hoisted out of the loop
Krzysztof Parzyszek
kparzysz at codeaurora.org
Fri Jan 18 10:00:18 PST 2013
On 1/18/2013 11:34 AM, Hal Finkel wrote:
>
> I agree. FWIW, I'm currently working on making the LLVM-based Fortran compiler non-hypothetical, and so for several reasons, I'd like to have a solution to this. If we can't think of anything better, we could always fall back to the N^2 metadata solution (explicit mark as no-alias all pairs that don't alias), but I'd rather we come up with something else.
How about having Fortran-specific metadata, and a Fortran-specific alias
analysis? The metadata could indicate how the properties of the
Fortran-frontend-generated types relate to the types that the IR code
uses to load/store data. For example:
f90_array_type = type { i32 size, double* data };
metadata = "attributes of f90_array_type, like restrict, should be
applied to the member pointer 'data'"
Is this something you've considered?
-Krzysztof
--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation
More information about the llvm-dev
mailing list