[LLVMdev] Fwd: Improper Function::iterator increment (original) (raw)
Nick Lewycky nicholas at mxc.ca
Tue Feb 10 01:17:20 PST 2015
- Previous message: [LLVMdev] Fwd: Improper Function::iterator increment
- Next message: [LLVMdev] Fwd: Improper Function::iterator increment
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
This is a bit of a long shot, but your loop looks fine, and I noticed a bug in one of the functions you call from your loop body. Try this for WaveScalar::setLabel:
Twine twine(k);
(*succ)->setName(twine);
(*succ)->setName(Twine(k));
and see whether that makes any difference?
Nick
Pranav Kant wrote:
Input to this pass is the bitcode format of simple code below :
int sumsingleloop (int a){ int su = 0, i; for (i=0;i<a;i++) su = su + i; return su; }
On Mon, Feb 9, 2015 at 2:32 AM, David Blaikie <dblaikie at gmail.com_ _<mailto:dblaikie at gmail.com>> wrote:
On Sun, Feb 8, 2015 at 11:23 AM, Pranav Kant <pranav913 at gmail.com_ _<mailto:pranav913 at gmail.com>> wrote: So, you mean to say that the above implementation is correct and should work fine. So far as I can see - but I could be missing something. I initially thought that the above way is not the correct way anymore since 3.5.0 might have changed few things. Anyways here is my dirty code I have written for my research project that I took the above snippet from : https://github.com/pranavk/spatial-computing/blob/master/waves.cpp#L105 Someone (not necessarily me) will presumably need the input/command/arguments/whatever required to trigger the infinite loop in this code that you're seeing, as well as the code there.
On Sun, Feb 8, 2015 at 10:25 PM, David Blaikie <dblaikie at gmail.com <mailto:dblaikie at gmail.com>> wrote: This may be difficult yo reproduce or debug without a more complete (though preferably minimal) test case. On Feb 8, 2015 8:31 AM, "Pranav Kant" <pranav913 at gmail.com_ _<mailto:pranav913 at gmail.com>> wrote: void Wave::init (const Function &F){ Function::constiterator ie = F.end(); outs() << ie << "\n\n"; for (Function::constiterator I = F.begin(), IE = F.end(); I != IE; I++, K++){ outs() << I << "\n"; // some manipulation with I } } I used the above shown function in my pass in LLVM 3.4.2 and it used to work fine but when I am compiling this pass with 3.5.0, this is a never ending loop. Can someone please suggest me what can be wrong here ? Upon some debugging, I found out that constiterator I never becomes equal to IE, rather it goes past IE when incremented and hence loop never ends. Following is the output upon executing above code. 0x2e08248 <- address of ie 0x2e16630 <- address of I initially 0x2e08250 <- incremented I 0x2e165e0 0x2e16630 0x2e08250 0x2e165e0 0x2e16630 0x2e08250 -- Regards, Pranav Kant, Department of Computer Science National Institute of Technology Hamirpur http://pricked.in/ -- Regards, Pranav Kant, Department of Computer Science National Institute of Technology Hamirpur http://pricked.in/
LLVM Developers mailing list LLVMdev at cs.uiuc.edu <mailto:LLVMdev at cs.uiuc.edu> http://llvm.cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
-- Regards, Pranav Kant, Department of Computer Science National Institute of Technology Hamirpur http://pricked.in/
-- Regards, Pranav Kant, Department of Computer Science National Institute of Technology Hamirpur http://pricked.in/
LLVM Developers mailing list LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
- Previous message: [LLVMdev] Fwd: Improper Function::iterator increment
- Next message: [LLVMdev] Fwd: Improper Function::iterator increment
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]