Displaying 4 results from an estimated 4 matches for "loop_step".
2006 Mar 16
2
[LLVMdev] Stupid '-load-vn -licm' question (LLVM 1.6)
...gt; [#uses=1]
br bool %matches9, label %ret_true, label %regex2
regex2: ; preds = %regex6
%c = load ubyte* %iter ; <ubyte> [#uses=1]
%matches = seteq ubyte %c, 98 ; <bool> [#uses=1]
br bool %matches, label %ret_true, label %loop_step
loop_step: ; preds = %regex2
%next = getelementptr ubyte* %iter, int 1 ;
<ubyte*> [#uses=1]
br label %loop_test
loop_test: ; preds = %loop_step, %entry
%iter = phi ubyte* [ %begin, %entry ], [ %next, %
loop_step ]...
2006 Mar 17
0
[LLVMdev] Stupid '-load-vn -licm' question (LLVM 1.6)
...br bool %matches9, label %ret_true, label %regex2
>
> regex2: ; preds = %regex6
> %c = load ubyte* %iter ; <ubyte> [#uses=1]
> %matches = seteq ubyte %c, 98 ; <bool> [#uses=1]
> br bool %matches, label %ret_true, label %loop_step
>
> loop_step: ; preds = %regex2
> %next = getelementptr ubyte* %iter, int 1 ; <ubyte*>
> [#uses=1]
> br label %loop_test
>
> loop_test: ; preds = %loop_step, %entry
> %iter = phi ubyte* [ %begin, %entry ],...
2006 Mar 17
3
[LLVMdev] Stupid '-load-vn -licm' question (LLVM 1.6)
...only are
the loads eliminated, but the tests are actually reduced to a switch
statement using '-anders-aa -load-vn -gcse -simplifycfg -instcombine':
regex6: ; preds = %loop_test
%c8 = load ubyte* %iter ; <ubyte> [#uses=1]
switch ubyte %c8, label %loop_step [
ubyte 97, label %ret_true
ubyte 98, label %ret_true
]
Unfortunately, this generates really weird code on the LLVM 1.6
PowerPC backend:
LBB_matches_1: ; regex6
lbz r4, 0(r3)
LBB_matches_2: ; NodeBlock
rlwinm r5, r4, 0, 24, 31...
2006 Mar 17
0
[LLVMdev] Stupid '-load-vn -licm' question (LLVM 1.6)
...98
> beq cr0, LBB_matches_8 ; ret_true
> b LBB_matches_5 ; NewDefault
> LBB_matches_4: ; LeafBlock
> rlwinm r4, r4, 0, 24, 31
> cmpwi cr0, r4, 97
> beq cr0, LBB_matches_8 ; ret_true
> LBB_matches_5: ; NewDefault
> LBB_matches_6: ; loop_step
>
> I'm particularly confused by the rlwinm instructions that keep
> turning up in PowerPC output, and the double test against 98. I
> don't have a problem or anything; I'm just trying to figure out
> what's going on. :-)
Ah! The backend is running -lowerswitch...