<font face="comic sans ms,sans-serif">hi ambika,<br>I am not sure about this solution as i just started working in this field. <br>How about taking analogy of a problem which ask us to find nearest common parent of two nodes in a tree.<br>

Let me know if I can be corrected. <br> <br clear="all"></font>- Anubhav<br>intern IIT M<br>B. Tech 4th year CSE<br>VIT University, Vellore.<br>
<br><br><div class="gmail_quote">On 31 May 2010 22:30,  <span dir="ltr"><<a href="mailto:llvmdev-request@cs.uiuc.edu">llvmdev-request@cs.uiuc.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

Send LLVMdev mailing list submissions to<br>
        <a href="mailto:llvmdev@cs.uiuc.edu">llvmdev@cs.uiuc.edu</a><br>
<br>
To subscribe or unsubscribe via the World Wide Web, visit<br>
        <a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
or, via email, send a message with subject or body 'help' to<br>
        <a href="mailto:llvmdev-request@cs.uiuc.edu">llvmdev-request@cs.uiuc.edu</a><br>
<br>
You can reach the person managing the list at<br>
        <a href="mailto:llvmdev-owner@cs.uiuc.edu">llvmdev-owner@cs.uiuc.edu</a><br>
<br>
When replying, please edit your Subject line so it is more specific<br>
than "Re: Contents of LLVMdev digest..."<br>
<br>
<br>
Today's Topics:<br>
<br>
   1. Re: How difficult is to fix this error: JIT does not support<br>
      address-of-label yet! [patch submitted] (Yuri)<br>
   2. Finding Merge nodes in CFG (ambika)<br>
   3. Re: How difficult is to fix this error: JIT does not      support<br>
      address-of-label yet! [patch submitted] (Eric Christopher)<br>
   4. Re: LLVM opportunities with Google Native Client (Fabio Kaminski)<br>
   5. Re: Finding Merge nodes in CFG (John Criswell)<br>
   6. libllvm on windows (John Lask)<br>
   7. Re: libllvm on windows (T?r?k Edwin)<br>
   8. Re: Finding Merge nodes in CFG (<a href="mailto:ambika@cse.iitb.ac.in">ambika@cse.iitb.ac.in</a>)<br>
   9. Error with instruction selection (<a href="mailto:Kalle.Raiskila@nokia.com">Kalle.Raiskila@nokia.com</a>)<br>
<br>
<br>
----------------------------------------------------------------------<br>
<br>
Message: 1<br>
Date: Sun, 30 May 2010 13:32:22 -0700<br>
From: Yuri <<a href="mailto:yuri@rawbw.com">yuri@rawbw.com</a>><br>
Subject: Re: [LLVMdev] How difficult is to fix this error: JIT does<br>
        not support address-of-label yet! [patch submitted]<br>
To: <a href="mailto:llvmdev@cs.uiuc.edu">llvmdev@cs.uiuc.edu</a><br>
Message-ID: <<a href="mailto:4C02CB56.8000105@rawbw.com">4C02CB56.8000105@rawbw.com</a>><br>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed<br>
<br>
I just implemented this feature and here is the patch:<br>
<a href="http://llvm.org/bugs/show_bug.cgi?id=7264" target="_blank">http://llvm.org/bugs/show_bug.cgi?id=7264</a><br>
<br>
Yuri<br>
<br>
<br>
------------------------------<br>
<br>
Message: 2<br>
Date: Mon, 31 May 2010 03:19:42 +0530<br>
From: ambika <<a href="mailto:ambika@cse.iitb.ac.in">ambika@cse.iitb.ac.in</a>><br>
Subject: [LLVMdev] Finding Merge nodes in CFG<br>
To: "<a href="mailto:llvmdev@cs.uiuc.edu">llvmdev@cs.uiuc.edu</a>" <<a href="mailto:llvmdev@cs.uiuc.edu">llvmdev@cs.uiuc.edu</a>><br>
Message-ID: <<a href="mailto:4C02DD76.2090008@cse.iitb.ac.in">4C02DD76.2090008@cse.iitb.ac.in</a>><br>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed<br>
<br>
Hi,<br>
<br>
I have basic block and I want to find a merge node just above this basic<br>
block.<br>
How can I do this?<br>
<br>
Thanks in advance.<br>
<br>
regards,<br>
Ambika<br>
<br>
<br>
------------------------------<br>
<br>
Message: 3<br>
Date: Sun, 30 May 2010 18:42:39 -0700<br>
From: Eric Christopher <<a href="mailto:echristo@apple.com">echristo@apple.com</a>><br>
Subject: Re: [LLVMdev] How difficult is to fix this error: JIT does<br>
        not     support address-of-label yet! [patch submitted]<br>
To: Yuri <<a href="mailto:yuri@rawbw.com">yuri@rawbw.com</a>><br>
Cc: <a href="mailto:llvmdev@cs.uiuc.edu">llvmdev@cs.uiuc.edu</a><br>
Message-ID: <<a href="mailto:F2D7213F-F8FC-44A4-9B07-8256C36D1589@apple.com">F2D7213F-F8FC-44A4-9B07-8256C36D1589@apple.com</a>><br>
Content-Type: text/plain; charset=us-ascii<br>
<br>
<br>
On May 30, 2010, at 1:32 PM, Yuri wrote:<br>
<br>
> I just implemented this feature and here is the patch:<br>
> <a href="http://llvm.org/bugs/show_bug.cgi?id=7264" target="_blank">http://llvm.org/bugs/show_bug.cgi?id=7264</a><br>
<br>
Just to follow up to the list Reid replied to this in the bug.  I commented as well.<br>
<br>
-eric<br>
<br>
<br>
------------------------------<br>
<br>
Message: 4<br>
Date: Sun, 30 May 2010 23:53:17 -0300<br>
From: Fabio Kaminski <<a href="mailto:fabiokaminski@gmail.com">fabiokaminski@gmail.com</a>><br>
Subject: Re: [LLVMdev] LLVM opportunities with Google Native Client<br>
To: <a href="mailto:bradchen@google.com">bradchen@google.com</a><br>
Cc: <a href="mailto:llvmdev@cs.uiuc.edu">llvmdev@cs.uiuc.edu</a><br>
Message-ID:<br>
        <<a href="mailto:AANLkTimFgmdOXczADU92h4h-Bkl1hhFCfx9SpngSOvIQ@mail.gmail.com">AANLkTimFgmdOXczADU92h4h-Bkl1hhFCfx9SpngSOvIQ@mail.gmail.com</a>><br>
Content-Type: text/plain; charset="iso-8859-1"<br>
<br>
Oww Awsome!!!<br>
<br>
<br>
can we spect the V8 using LLVM some day too?? :)<br>
<br>
it will make possible a real browser multilanguage JIT for all the compilers<br>
ported to llvm (why nobody deliver something like that either !?! hehehe)<br>
<br>
and the advance in LLVM jit itself (a powerfull dinamic jit)<br>
<br>
its very cool to know google is embracing LLVM Platform.. more brainpower to<br>
taking it to the next level!<br>
<br>
wish the best in this project..(and remembering how long i had to wait to<br>
chromium arrives in the linux platform)<br>
<br>
On Sat, May 29, 2010 at 5:44 PM, Brad Chen <<a href="mailto:bradchen@google.com">bradchen@google.com</a>> wrote:<br>
<br>
> Google Native Client <<a href="http://code.google.com/p/nativeclient" target="_blank">http://code.google.com/p/nativeclient</a>> is an<br>
> open-source project working to deliver a native-code environment for Web<br>
> browsers that is (at least) as safe and portable as JavaScript and other<br>
> technologies we take for granted on the Web. Many LLVM developers have<br>
> already noticed our recent blog post<<a href="http://blog.chromium.org/2010/03/native-client-and-web-portability.html" target="_blank">http://blog.chromium.org/2010/03/native-client-and-web-portability.html</a>> about<br>


> using LLVM as the basis of our instruction set portability strategy. We are<br>
> looking for a few engineers with deep knowledge of LLVM, code generation,<br>
> and system bring-up to join the core team delivering Portable Native Client<br>
> to our developer community.<br>
><br>
> Feel free to contact me at <a href="mailto:bradchen@google.com">bradchen@google.com</a> for more information about<br>
> the project. Those of you who know Rafael Espindola can also consider<br>
> contacting him. Rafael recently joined the project full-time.<br>
><br>
> Brad Chen<br>
> Engineering Manager<br>
> Google Native Client<br>
><br>
><br>
> _______________________________________________<br>
> LLVM Developers mailing list<br>
> <a href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a>         <a href="http://llvm.cs.uiuc.edu" target="_blank">http://llvm.cs.uiuc.edu</a><br>
> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
><br>
><br>
-------------- next part --------------<br>
An HTML attachment was scrubbed...<br>
URL: <a href="http://lists.cs.uiuc.edu/pipermail/llvmdev/attachments/20100530/94556147/attachment-0001.html" target="_blank">http://lists.cs.uiuc.edu/pipermail/llvmdev/attachments/20100530/94556147/attachment-0001.html</a><br>


<br>
------------------------------<br>
<br>
Message: 5<br>
Date: Sun, 30 May 2010 23:55:46 -0600<br>
From: John Criswell <<a href="mailto:criswell@illinois.edu">criswell@illinois.edu</a>><br>
Subject: Re: [LLVMdev] Finding Merge nodes in CFG<br>
To: ambika <<a href="mailto:ambika@cse.iitb.ac.in">ambika@cse.iitb.ac.in</a>><br>
Cc: "<a href="mailto:llvmdev@cs.uiuc.edu">llvmdev@cs.uiuc.edu</a>" <<a href="mailto:llvmdev@cs.uiuc.edu">llvmdev@cs.uiuc.edu</a>><br>
Message-ID: <<a href="mailto:4C034F62.7060207@illinois.edu">4C034F62.7060207@illinois.edu</a>><br>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed<br>
<br>
ambika wrote:<br>
> Hi,<br>
><br>
> I have basic block and I want to find a merge node just above this basic<br>
> block.<br>
> How can I do this?<br>
><br>
<br>
Can you clarify what you mean by a "merge node?"  Are you looking for<br>
the proper place to insert a phi node?  Are you trying to find the first<br>
basic block that dominates the basic block of interest, or do you mean<br>
something else entirely?<br>
<br>
-- John T.<br>
<br>
> Thanks in advance.<br>
><br>
> regards,<br>
> Ambika<br>
> _______________________________________________<br>
> LLVM Developers mailing list<br>
> <a href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a>         <a href="http://llvm.cs.uiuc.edu" target="_blank">http://llvm.cs.uiuc.edu</a><br>
> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
><br>
<br>
<br>
<br>
------------------------------<br>
<br>
Message: 6<br>
Date: Mon, 31 May 2010 16:32:27 +0930<br>
From: John Lask <<a href="mailto:jvlask@hotmail.com">jvlask@hotmail.com</a>><br>
Subject: [LLVMdev] libllvm on windows<br>
To: <a href="mailto:llvmdev@cs.uiuc.edu">llvmdev@cs.uiuc.edu</a><br>
Message-ID: <BLU0-SMTP66EFCB44694C08EF9B0665C6EE0@phx.gbl><br>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed<br>
<br>
I am looking to use llvm on windows. I know there is a pre-compiled llvm<br>
windows distribution, but this does not seem to provide libllvm. The<br>
software that I am looking to use makes use of libllvm (it is unix<br>
based, but I would like to port it to windows). I really did not wish to<br>
spend my time compiling llvm (i.e. installing it's dependencies) from<br>
scratch. What options do I have ?<br>
<br>
<br>
------------------------------<br>
<br>
Message: 7<br>
Date: Mon, 31 May 2010 11:16:08 +0300<br>
From: T?r?k Edwin <<a href="mailto:edwintorok@gmail.com">edwintorok@gmail.com</a>><br>
Subject: Re: [LLVMdev] libllvm on windows<br>
To: <a href="mailto:llvmdev@cs.uiuc.edu">llvmdev@cs.uiuc.edu</a><br>
Message-ID: <<a href="mailto:4C037048.4030306@gmail.com">4C037048.4030306@gmail.com</a>><br>
Content-Type: text/plain; charset=ISO-8859-1<br>
<br>
On 05/31/2010 10:02 AM, John Lask wrote:<br>
> I am looking to use llvm on windows. I know there is a pre-compiled llvm<br>
> windows distribution, but this does not seem to provide libllvm. The<br>
> software that I am looking to use makes use of libllvm (it is unix<br>
> based, but I would like to port it to windows). I really did not wish to<br>
> spend my time compiling llvm (i.e. installing it's dependencies<br>
<br>
There are no dependencies. You just need cmake to generate a visual<br>
studio project file.<br>
<br>
Best regards,<br>
--Edwin<br>
<br>
<br>
------------------------------<br>
<br>
Message: 8<br>
Date: Mon, 31 May 2010 16:11:15 +0530<br>
From: <a href="mailto:ambika@cse.iitb.ac.in">ambika@cse.iitb.ac.in</a><br>
Subject: Re: [LLVMdev] Finding Merge nodes in CFG<br>
To: "John Criswell" <<a href="mailto:criswell@illinois.edu">criswell@illinois.edu</a>><br>
Cc: "<a href="mailto:llvmdev@cs.uiuc.edu">llvmdev@cs.uiuc.edu</a>" <<a href="mailto:llvmdev@cs.uiuc.edu">llvmdev@cs.uiuc.edu</a>><br>
Message-ID:<br>
        <<a href="mailto:4c942266c42a7d8722bd7d3f6fe05be0.squirrel@www.cse.iitb.ac.in">4c942266c42a7d8722bd7d3f6fe05be0.squirrel@www.cse.iitb.ac.in</a>><br>
Content-Type: text/plain;charset=iso-8859-1<br>
<br>
Actually I have collected some pointer information in the form [ p -> a,c<br>
]. Now suppose at some node I have information as [p->a,c]. Now i want to<br>
find a merge node above this node where this information is actually<br>
geting merged.<br>
So if I get a merge node above this, I can check in its predecessors if<br>
their out has only [p->a] or [p->c] and if not so then I will look for the<br>
next merge node above this one, and so on.<br>
<br>
> ambika wrote:<br>
>> Hi,<br>
>><br>
>> I have basic block and I want to find a merge node just above this basic<br>
>> block.<br>
>> How can I do this?<br>
>><br>
><br>
> Can you clarify what you mean by a "merge node?"  Are you looking for<br>
> the proper place to insert a phi node?  Are you trying to find the first<br>
> basic block that dominates the basic block of interest, or do you mean<br>
> something else entirely?<br>
><br>
> -- John T.<br>
><br>
>> Thanks in advance.<br>
>><br>
>> regards,<br>
>> Ambika<br>
>> _______________________________________________<br>
>> LLVM Developers mailing list<br>
>> <a href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a>         <a href="http://llvm.cs.uiuc.edu" target="_blank">http://llvm.cs.uiuc.edu</a><br>
>> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
>><br>
><br>
><br>
<br>
<br>
<br>
<br>
------------------------------<br>
<br>
Message: 9<br>
Date: Mon, 31 May 2010 15:47:26 +0200<br>
From: <<a href="mailto:Kalle.Raiskila@nokia.com">Kalle.Raiskila@nokia.com</a>><br>
Subject: [LLVMdev] Error with instruction selection<br>
To: <<a href="mailto:llvmdev@cs.uiuc.edu">llvmdev@cs.uiuc.edu</a>><br>
Message-ID: <<a href="mailto:1275313646.13411.91.camel@LLVMbuilder.research.nokia.com">1275313646.13411.91.camel@LLVMbuilder.research.nokia.com</a>><br>
Content-Type: text/plain; charset="utf-8"<br>
<br>
Hello,<br>
I'm seeing a miscompilation from the following code:<br>
<br>
declare <4 x float>* @getPtr()<br>
define <4 x float> @func() {<br>
        %rv1 = call <4 x float>* @getPtr()<br>
        %rv2 = call <4 x float>* @getPtr()<br>
        %rv3 = load <4 x float>* %rv1<br>
        ret <4 x float> %rv3<br>
}<br>
<br>
The load ends up loading from the pointer returned by the 2nd function<br>
call.<br>
I traced down the problem to calling the<br>
SelectionDAGISel::SelectCodeCommon on the load instruction. Before<br>
calling that the DAG looks OK. The selected target load ends up pointing<br>
to the "physical function call return register node" instead of the<br>
CopyFromReg node that copies the result of the 1st call to a temporary<br>
register. The physical return register is then overwritten in the next<br>
call. (This is visible when calling "llc -view-isel-dags<br>
-view-sched-dags". The first graph is OK, the second is not.)<br>
<br>
The problem goes away if I:<br>
-have the getPtr return anything else than <4xfloat>* or <4xi32>* (e.g.<br>
<4xfloat> or float* work just fine)<br>
-do not load from or store to the pointer - e.g. just returning the<br>
pointer works.<br>
-target any other processor than CellSPU (ok, some backends assert on<br>
this code, and the PIC assebly I didn't understand :) )<br>
<br>
Any explanation on what is going on or hints on how to fix this are<br>
highly appreciated!<br>
<br>
thanks,<br>
kalle<br>
<br>
<br>
<br>
<br>
------------------------------<br>
<br>
_______________________________________________<br>
LLVMdev mailing list<br>
<a href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
<br>
<br>
End of LLVMdev Digest, Vol 71, Issue 49<br>
***************************************<br>
</blockquote></div><br>