search for: thisloop

Displaying 5 results from an estimated 5 matches for "thisloop".

Did you mean: theloop
2011 May 07
1
[LLVMdev] Loop transformations using LLVM
...ding IVs without iterating over instructions. But you may need to generalize it a bit for your purpose. A completely general approach to IV analysis is ScalarEvolution. You can query the expression for a loop header phi using ScalarEvolution::getSCEV. If it returns SCEVAddRecExpr with getLoop() == ThisLoop, then you've found an IV. You can build a new IV by replacing the "step" with SCEVAddExpr(1 + OrigStep). To materialize it in IR, you need to use a SCEVExpander. ...probably more complicated than you need. -Andy > > > From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-...
2007 Dec 11
2
[LLVMdev] LoopInfo Question
Hi, If I do a loop over the basic blocks in a LoopInfo object, is it going to loop over the basic blocks of the loop AND the subloops of the loop or just the BBs of the loop itself? Thanks! -bw
2011 May 05
0
[LLVMdev] Loop transformations using LLVM
Malveeka, You can use the LoopInfo analysis to find the induction variable. http://llvm.org/docs/doxygen/html/classllvm_1_1Loop.html#a72bbf45d2e00971f56bf8cfe4e1df01c Cheers, Nadav From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu] On Behalf Of Malveeka Tewari Sent: Thursday, May 05, 2011 14:51 To: llvmdev at cs.uiuc.edu Subject: [LLVMdev] Loop transformations
2011 May 05
2
[LLVMdev] Loop transformations using LLVM
Hi I am trying to write up a transformation for the following code where instead of incrementing the loop variable by 1, I increment it by 2 ie. for (i=0; i < THRES; *i++*) { //do something } gets transformed to for (i=0; i < THRES; *i+=2*) { //do something } I am thinking of transforming the llvm bit-code in the following way. Iterate over the function for the original code till I
2012 Jul 16
3
[LLVMdev] RFC: LLVM incubation, or requirements for committing new backends
...> +}; > + > +template <class BlockT, class InstrT, class RegiT> > +class LandInformation { > +public: > + BlockT *landBlk; > + std::set<RegiT> breakInitRegs; //Registers that need to "reg = 0", before > + //WHILELOOP(thisloop) init before entering > + //thisloop. > + std::set<RegiT> contInitRegs; //Registers that need to "reg = 0", after > + //WHILELOOP(thisloop) init after entering > + //thi...