[LLVMdev] Fwd: Improper Function::iterator increment
Nick Lewycky
nicholas at mxc.ca
Tue Feb 10 01:17:20 PST 2015
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 sum_single_loop (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::const_iterator ie = F.end();
> outs() << ie << "\n\n";
> for (Function::const_iterator 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 const_iterator 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
More information about the llvm-dev
mailing list