search for: loopunrollruntime

Displaying 6 results from an estimated 6 matches for "loopunrollruntime".

2015 Oct 12
2
question about llvm partial unrolling/runtime unrolling
...<loop body> } I set allowPartial and Runtime to both 1 ( llvm::createLoopUnrollPass(Threshold, count, 1, 1) ) Also overload the UnrollingPreferences structure to gives values to all the Partial* members, but the loop still doesn't unroll. The unrolling process hits this code in LoopUnrollRuntime.cpp // Only unroll loops with a computable trip count and the trip count needs // to be an int value (allowing a pointer type is a TODO item) const SCEV *BECountSC = SE->getBackedgeTakenCount(L); if (isa<SCEVCouldNotCompute>(BECountSC) || !BECountSC->getType()->isInteg...
2014 Jun 22
2
[LLVMdev] Failed to Unroll a Seemingly Simple Loop
Hi, I found LLVM cannot unroll the loop in the example below, while gcc can. Before I dig more about this issue, is this behavior as designed? bool bar(int i); void foo(int *a, int x, int y) { for (int i = 0; i < 4; ++i) { if (bar(i)) { break; } a[i] = i; } } Btw, if s/break/continue, LLVM is able to unroll it. Thanks, Jingyue -------------- next part --------------
2015 Oct 16
2
question about llvm partial unrolling/runtime unrolling
...> I set allowPartial and Runtime to both 1 ( > llvm::createLoopUnrollPass(Threshold, count, 1, 1) ) > Also overload the UnrollingPreferences structure to gives values to all > the Partial* members, but the loop still doesn't unroll. > > The unrolling process hits this code in LoopUnrollRuntime.cpp > > // Only unroll loops with a computable trip count and the trip count > needs > // to be an int value (allowing a pointer type is a TODO item) > const SCEV *BECountSC = SE->getBackedgeTakenCount(L); > if (isa<SCEVCouldNotCompute>(BECountSC) || > !B...
2015 Feb 13
10
[LLVMdev] [3.6 Release] RC3 has been tagged
Hello testers, Start your engines, RC3 has just been tagged (at r229050 on the branch). If this one looks good, it will become the release. There has been quite a bit of activity on the branch since RC2; let's hope it's all goodness :-) Please let me know how it looks, and upload binaries to the sftp as usual. Thanks for all your efforts so far! - Hans
2014 Jan 16
11
[LLVMdev] Loop unrolling opportunity in SPEC's libquantum with profile info
I am starting to use the sample profiler to analyze new performance opportunities. The loop unroller has popped up in several of the benchmarks I'm running. In particular, libquantum. There is a ~12% opportunity when the runtime unroller is triggered. This helps functions like quantum_sigma_x (http://sourcecodebrowser.com/libquantum/0.2.4/gates_8c_source.html#l00149). The function accounts
2015 Jul 29
1
[LLVMdev] Error when i am using command make -j4 command in cygwin to compile safecode
...l.cpp for Release+Asserts build llvm[2]: Compiling Interval.cpp for Release+Asserts build llvm[3]: Building X86.td assembly matcher with tblgen llvm[2]: Compiling IntervalPartition.cpp for Release+Asserts build llvm[3]: Compiling LegalizeTypesGeneric.cpp for Release+Asserts build llvm[3]: Compiling LoopUnrollRuntime.cpp for Release+Asserts build llvm[2]: Compiling IteratedDominanceFrontier.cpp for Release+Asserts build llvm[3]: Building X86.td assembly writer #1 with tblgen llvm[2]: Compiling LazyCallGraph.cpp for Release+Asserts build llvm[3]: Compiling LegalizeVectorOps.cpp for Release+Asserts build llvm[3]:...