<div style="line-height:1.7;color:#000000;font-size:14px;font-family:arial"><div style="line-height:1.7;color:#000000;font-size:14px;font-family:arial"><div style="line-height:1.7;color:#000000;font-size:14px;font-family:arial">Hi Tobias,</div><div style="line-height:1.7;color:#000000;font-size:14px;font-family:arial"><div><br></div>According to your suggestion, I have fixed this problem by refusing scops<span style="line-height: 1.7;">, in which a loop header is part of the </span><span style="line-height: 1.7;">scop, but the entire loop is not. Please find the attached patch file and revise it.</span><div><div><br></div><div><div>Cheers,</div><div>Star Tan</div></div></div><pre>>-------- Original Message --------
>Subject: Re: [polly] r183025 - Test that independent block pass does not 
>transform induction variables
>Date: Mon, 03 Jun 2013 01:08:42 -0700
>From: Tobias Grosser <<a href="mailto:tobias@grosser.es">tobias@grosser.es</a>>
>To: Sebastian Pop <<a href="mailto:spop@codeaurora.org">spop@codeaurora.org</a>>
>CC: <a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a>, Tobias Grosser <<a href="mailto:grosser@fim.uni-passau.de">grosser@fim.uni-passau.de</a>>
>
>On 06/02/2013 06:54 AM, Sebastian Pop wrote:
>> Tobias Grosser wrote:
>>> Author: grosser
>>> Date: Fri May 31 12:44:38 2013
>>> New Revision: 183025
>>>
>>> URL: http://llvm.org/viewvc/llvm-project?rev=183025&view=rev
>>> Log:
>>> Test that independent block pass does not transform induction variables
>>>
>>> The original test case showed a problem with the independet blocks pass and
>>> we decided to XFAIL it for now. Unfortunately the failure is not detected if
>>> we build without asserts and the verification of the independent block pass
>>> is not run. This change tests now for the actual reason of the failure and
>>> should trigger even in a non asserts build. We did not yet solve the underlying
>>> bug, but this should at least make the test suite behavior consistent.
>>
>> When I first read the title, I thought you solved the problem by special casing
>> SCEV synthesizable IVs in independent block pass.
>
>No, unfortunately not.
>
>I believe special casing is not an option here. In fact, I believe there
>is no solution within the independent blocks pass. The failing test case
>shows that translating out of SSA is not possible. I attached another
>test case that illustrates that leaving the PHI node as it is is also
>not an option.
>
>I believe we rather should refuse to handle such situations for now. A
>check that seems to be save is to refuse to scops, in which a loop
>header is part of the scop, but the entire loop is not. This is probably
>something we already do implicatively for the non -polly-codegen-scev case.
>
>What do you think?
>
>Cheers,
>Tobias
>
>
>
</pre></div></div></div><br><br><span title="neteasefooter"><span id="netease_mail_footer"><span title="neteasefooter"><span id="netease_mail_footer"><a href="#" target="_blank"></a></span></span>
</span></span>