Displaying 2 results from an estimated 2 matches for "storedaddr".
Did you mean:
storeaddr
2016 May 27
2
Handling post-inc users in LSR
...2 %n, 1
br i1 %cmp7, label %for.body.preheader, label %for.end
for.body.preheader: ; preds = %entry
%n_sext = sext i32 %n to i64
br label %for.body
for.body:
%K.in = phi i64 [ %n_sext, %for.body.preheader ], [ %K, %for.body ]
%K = add i64 %K.in, 1
%StoredAddr = getelementptr i32, i32* %P, i64 %K
%StoredValue = trunc i64 %K to i32
store volatile i32 %StoredValue, i32* %StoredAddr
%cmp = icmp sgt i64 %K, 1
br i1 %cmp, label %for.body, label %for.end
for.end:
ret void
}
# Output in AArch64 where you can see redundant add instructions for...
2016 May 27
0
Handling post-inc users in LSR
...preheader, label %for.end
>
> for.body.preheader: ; preds = %entry
> %n_sext = sext i32 %n to i64
> br label %for.body
>
> for.body:
> %K.in = phi i64 [ %n_sext, %for.body.preheader ], [ %K, %for.body ]
> %K = add i64 %K.in, 1
>
> %StoredAddr = getelementptr i32, i32* %P, i64 %K
> %StoredValue = trunc i64 %K to i32
> store volatile i32 %StoredValue, i32* %StoredAddr
> %cmp = icmp sgt i64 %K, 1
> br i1 %cmp, label %for.body, label %for.end
>
> for.end:
> ret void
> }
>
>
> # Output in AArch64 wher...