Displaying 2 results from an estimated 2 matches for "val1a".
Did you mean:
val1
2011 Oct 07
2
[LLVMdev] Aliasing confusion
Hi all,
I'm having trouble understanding how llvm determines if pointers
alias. Consider the following two functions that each do a redundant
load:
define float @A(float * noalias %ptr1) {
%ptr2 = getelementptr float* %ptr1, i32 1024
%val1a = load float* %ptr1
store float %val1a, float* %ptr2
%val1b = load float* %ptr1
ret float %val1b
}
define float @B(float * noalias %ptr1, float * noalias %ptr2) {
%val1a = load float* %ptr1
store float %val1a, float* %ptr2
%val1b = load float* %ptr1
ret float %val1b
}
When I throw...
2011 Oct 07
0
[LLVMdev] Aliasing confusion
...> wrote:
> Hi all,
>
> I'm having trouble understanding how llvm determines if pointers
> alias. Consider the following two functions that each do a redundant
> load:
>
> define float @A(float * noalias %ptr1) {
> %ptr2 = getelementptr float* %ptr1, i32 1024
> %val1a = load float* %ptr1
> store float %val1a, float* %ptr2
> %val1b = load float* %ptr1
> ret float %val1b
> }
>
>
> define float @B(float * noalias %ptr1, float * noalias %ptr2) {
> %val1a = load float* %ptr1
> store float %val1a, float* %ptr2
> %val1b = load...