search for: loop_test

Displaying 4 results from an estimated 4 matches for "loop_test".

2006 Mar 16
2
[LLVMdev] Stupid '-load-vn -licm' question (LLVM 1.6)
...ure that this will prove embarrassingly obvious. :-) Cheers, Eric ; ModuleID = 'regex-opt.bc' implementation ; Functions: bool %matches(ubyte* %begin, ubyte* %end) { entry: %scan_end = getelementptr ubyte* %end, int -1 ; <ubyte*> [#uses=1] br label %loop_test regex6: ; preds = %loop_test %c8 = load ubyte* %iter ; <ubyte> [#uses=1] %matches9 = seteq ubyte %c8, 97 ; <bool> [#uses=1] br bool %matches9, label %ret_true, label %regex2 regex2: ; preds = %regex6 %c = load ubyte*...
2006 Mar 17
0
[LLVMdev] Stupid '-load-vn -licm' question (LLVM 1.6)
...; > Cheers, > Eric > > ; ModuleID = 'regex-opt.bc' > > implementation ; Functions: > > bool %matches(ubyte* %begin, ubyte* %end) { > entry: > %scan_end = getelementptr ubyte* %end, int -1 ; <ubyte*> > [#uses=1] > br label %loop_test > > regex6: ; preds = %loop_test > %c8 = load ubyte* %iter ; <ubyte> [#uses=1] > %matches9 = seteq ubyte %c8, 97 ; <bool> [#uses=1] > br bool %matches9, label %ret_true, label %regex2 > > regex2: ; preds = %regex6...
2006 Mar 17
3
[LLVMdev] Stupid '-load-vn -licm' question (LLVM 1.6)
...-gcse" instead of "-load-vn -licm" That works! Thank you. The bytecodes look really good--not 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: LB...
2012 Feb 02
0
[LLVMdev] How to improve code generated for 'getelementptr' ?
...;; %while.body ;; =>This Inner Loop Header: Depth=1 sw R2 , R0, 0 add R0 , 4 cmpne R1 , R0 bcc24 _BB2_2 nop _BB2_3: ;; %while.end b r15 nop --- For reference, the .ll file: --- ; ModuleID = 'loop_test.c' target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:32-f64:32:32-v64:32:32-v128:32:32-n32-s0:32:32-a0:0:32-S32" target triple = "arch--" define void @Init1(i32* nocapture %data) nounwind { entry: br label %for.body for.body:...