search for: allowpartial

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

2012 Aug 06
3
[LLVMdev] How to call some transformation passes (LoopRotate and LoopUnroll) from my own pass
...D); AU.addPreservedID(LCSSAID); } However, I couldn't figure out how to call the LoopRotate and LoopUnroll passes since I cannot use addRequiredID or addRequired for these two transformations. In Scalar.h, I found: > Pass *createLoopUnrollPass(int Threshold = -1, int Count = -1, int AllowPartial = -1); > Pass *createLoopRotatePass(); Is to call these methods the way to go? How?, can somebody show me an excerpt? P.S. I tried hard on Google but I couldn't find anything related. Thanks! Jorge
2015 Oct 12
2
question about llvm partial unrolling/runtime unrolling
...if anyone can help me on this. What I want to do is to turn loop (n) { <loop body> } into loop (n/4) { <loop body> <loop body> <loop body> <loop body> } loop (n%4) { <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 wi...
2015 Oct 16
2
question about llvm partial unrolling/runtime unrolling
...<loop body> > } > > into > > loop (n/4) > { > <loop body> > <loop body> > <loop body> > <loop body> > } > loop (n%4) > { > <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 &g...
2012 Aug 06
0
[LLVMdev] How to call some transformation passes (LoopRotate and LoopUnroll) from my own pass
...> > However, I couldn't figure out how to call the LoopRotate and > LoopUnroll passes since I cannot use addRequiredID or addRequired for > these two transformations. > > In Scalar.h, I found: > >> Pass *createLoopUnrollPass(int Threshold = -1, int Count = -1, int AllowPartial = -1); >> Pass *createLoopRotatePass(); > > > Is to call these methods the way to go? How?, can somebody show me an > excerpt? The create*Pass methods give you a Pass instance that you can add to a pass manager. If you're replacing "opt", you should look at the op...