Displaying 2 results from an estimated 2 matches for "scevgep2".
Did you mean:
scevgep
2012 Jan 23
1
[LLVMdev] How to identify the first BB in a loop of non-constant trip count?
...t_edge
.lr.ph: ; preds = %0
%tmp = zext i32 %n to i64
br label %2
; <label>:2 ; preds = %2, %.lr.ph
%indvar = phi i64 [ 0, %.lr.ph ], [ %indvar.next, %2 ]
%scevgep = getelementptr i32* %a, i64 %indvar
%scevgep2 = getelementptr i32* %b, i64 %indvar
%3 = load i32* %scevgep2, align 4, !tbaa !0
store i32 %3, i32* %scevgep, align 4, !tbaa !0
%indvar.next = add i64 %indvar, 1
%exitcond = icmp eq i64 %indvar.next, %tmp
br i1 %exitcond, label %._crit_edge, label %2
._crit_edge:...
2010 Nov 23
2
[LLVMdev] Unrolling an arithmetic expression inside a loop
...hread model: posix
What I get from clang is:
1) In exec0 it recognizes that it doesn't need the tables and doesn't
create them and also, it simplifies the expression, so that the
generated code inside the loop is just a multiplication:
%scevgep = getelementptr i32* %X, i64 %indvar
%scevgep2 = getelementptr i32* %Y, i64 %indvar
%scevgep9 = getelementptr i32* %res, i64 %indvar
%3 = load i32* %scevgep, align 4, !tbaa !0
%4 = load i32* %scevgep2, align 4, !tbaa !0
%5 = mul nsw i32 %4, %3
store i32 %5, i32* %scevgep9, align 4, !tbaa !0
2) In exec1 however it fails to re...