[LLVMdev] [POLLY] fix Bug 15817

Jack Howarth howarth at bromo.med.uc.edu
Thu Jun 6 07:43:17 PDT 2013


On Wed, Jun 05, 2013 at 07:52:05PM -0700, Tobias Grosser wrote:
> On 06/05/2013 06:24 AM, Jack Howarth wrote:
>> On Wed, Jun 05, 2013 at 08:47:03AM -0400, Jack Howarth wrote:
>>> On Tue, Jun 04, 2013 at 11:51:31PM -0700, Tobias Grosser wrote:
>>>> On 05/31/2013 01:09 PM, Jack Howarth wrote:
>>>>> On Fri, May 31, 2013 at 10:59:52AM -0700, Tobias Grosser wrote:
>>>>>> On 05/31/2013 10:11 AM, Sebastian Pop wrote:
>>>>>>> Sebastian Pop wrote:
>>>>>>>> Sebastian Pop wrote:
>>>>>>>>> Jack Howarth wrote:
>>>>>>>>>>       The attached patch eliminates http://llvm.org/bugs/show_bug.cgi?id=15817 by removing the remaining
>>>>>>>>>> "; XFAIL:*" added in http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20130415/171812.html.
>>>>>>>>>> The Isl/CodeGen/scevcodegen-1.ll testcase in polly appears as an XPASS in current llvm/polly 3.3
>>>>>>>>>> and trunk svn for both x86_64-apple-darwin* and x86_64 Fedora 15 when built against isl 0.11.1/2 and
>>>>>>>>>> cloog 0.18.0. The attached patch eliminates this unexpected XPASS seen with newer isl/cloog.
>>>>>>>>>>                 Jack
>>>>>>>>>
>>>>>>>>>> Index: test/Isl/CodeGen/scevcodegen-1.ll
>>>>>>>>>> ===================================================================
>>>>>>>>>> --- test/Isl/CodeGen/scevcodegen-1.ll	(revision 182998)
>>>>>>>>>> +++ test/Isl/CodeGen/scevcodegen-1.ll	(working copy)
>>>>>>>>>> @@ -1,7 +1,6 @@
>>>>>>>>>>     ; RUN: opt %loadPolly -polly-codegen-isl -polly-codegen-scev %s
>>>>>>>>>>     ; -polly-independent causes: Cannot generate independent blocks
>>>>>>>>>>     ;
>>>>>>>>>> -; XFAIL:*
>>>>>>>>>>     target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
>>>>>>>>>>     target triple = "x86_64-unknown-linux-gnu"
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> If I remove that XFAIL the testcase is ICEing on my ARM laptop with:
>>>>>>>>>
>>>>>>>>> opt: ../tools/polly/lib/Analysis/ScopDetection.cpp:353: bool polly::ScopDetection::isValidInstruction(llvm::Instruction&, polly::ScopDetection::DetectionContext&) const: Assertion `!Context.Verifying && "IndVar"' failed.
>>>>>>>>>
>>>>>>>>
>>>>>>>> This was with ISL as of this commit:
>>>>>>>>
>>>>>>>> commit 02b2b6f2298d6beca919692219a287986e984347
>>>>>>>> Author: Sven Verdoolaege <skimo at kotnet.org>
>>>>>>>> Date:   Tue Apr 9 17:37:46 2013 +0200
>>>>>>>>
>>>>>>>>
>>>>>>>> When updating ISL to master as of today, I get a compile error when building polly:
>>>>>>>>
>>>>>>>> commit 1df91d8515ec88dc7f7f597168ad0f34f26de5a7
>>>>>>>> Author: Sven Verdoolaege <skimo at kotnet.org>
>>>>>>>> Date:   Wed Apr 17 12:38:51 2013 +0200
>>>>>>>>
>>>>>>>>        isl_ast_codegen.c: contruct_shifted_executed: use isl_val
>>>>>>>>
>>>>>>>>        Signed-off-by: Sven Verdoolaege <skimo at kotnet.org>
>>>>>>>>
>>>>>>>>
>>>>>>>> In file included from ../tools/polly/lib/DeadCodeElimination.cpp:23:0:
>>>>>>>> /home/spop/s/isl/usr/include/isl/union_map.h:114:23: error: isl_multi_aff has not been declared
>>>>>>
>>>>>> Hi Sebastian,
>>>>>>
>>>>>> the test case is expected to fail. It shows an open bug with
>>>>>> -enable-codegen-scev and the independent blocks pass. The problem was
>>>>>> that it was not consistently failing. I fixed this in r183025.
>>>>>>
>>>>>> Cheers,
>>>>>> Tobias
>>>>>
>>>>> Tobias,
>>>>>      Oddly I am still seeing...
>>>>>
>>>>> XPASS: Polly :: Isl/CodeGen/scevcodegen-1.ll (124 of 250)
>>>>
>>>> This file should not exist any more. It was removed (and moved to
>>>> test/IndependentBlocks/indvars.ll). Could you check if this is a stale
>>>> file that was just not removed correctly?
>>>>
>>>> Thanks,
>>>> Tobias
>>>
>>> Tobias,
>>>     I still see test/Isl/CodeGen/scevcodegen-1.ll in the polly 3.3 release branch (svn).
>>> It is also shown to still be present by the urls...
>>>
>>> http://llvm.org/svn/llvm-project/polly/branches/release_33/test/Isl/CodeGen/scevcodegen-1.ll
>>>
>>> but does seem to be removed in trunk...
>>>
>>> http://llvm.org/svn/llvm-project/polly/trunk/test/Isl/CodeGen/
>>>
>>> Can we get those changes into the polly 3.3 release tarball?
>>>          Jack
>>>
>>
>> Tobias,
>>     I can also confirm that the changes in current polly trunk solve the problem...
>>
>> Scanning dependencies of target check-polly
>> [100%] Running polly regression tests
>> Testing Time: 3.52s
>>    Expected Passes    : 218
>>    Expected Failures  : 24
>>    Unsupported Tests  : 7
>> [100%] Built target check-polly
>> Scanning dependencies of target polly-test
>> [100%] Built target polly-test
>>
>> Let me know when you have them backported to polly 3.3 release branch.
>
> I back ported the changes to the 3.3 release branch. Thanks for checking  
> both branches.
>
> Cheers,
> Tobi

Tobi,
   Current 3.3 release svn for llvm/compiler-rt/clang/polly/testsuite now builds without
polly-test failures with -DLLVM_ENABLE_ASSERTIONS=OFF -DCMAKE_BUILD_TYPE=Release in cmake.
Thanks for fixing this in time for the 3.3 release.
        Jack





More information about the llvm-dev mailing list