[polly] r261474 - [FIX] Compare SCEVs not values during SCEV expansion

Tobias Grosser via llvm-commits llvm-commits at lists.llvm.org
Sun Feb 21 10:46:16 PST 2016


On 02/21/2016 07:16 PM, Johannes Doerfert wrote:
>> On 02/21/2016 05:36 PM, Johannes Doerfert via llvm-commits wrote:
>>> Author: jdoerfert
>>> Date: Sun Feb 21 10:36:00 2016
>>> New Revision: 261474
>>>
>>> URL: http://llvm.org/viewvc/llvm-project?rev=261474&view=rev
>>> Log:
>>> [FIX] Compare SCEVs not values during SCEV expansion
>>>
>>>    This fixes a compile time bug in SPEC2006 403.gcc, namely an endless
>>>    recursion in the ScopExpander::visitUnknown function.
>>
>> A test case would be good. Was there  a specific reason you could not add a
>> test case?
> I tried but could not generate one. Only when I run it with clang I
> triggered the problem. Tried to extract the module as Polly sees it but
> it didn't help.

How did you extract the code from clang?

The following commands should be equivalent to 'clang -O3 -mllvm -polly':

	clang -O3 -mllvm -disable-llvm-optzns -S -emit-llvm -o out.ll
	opt -O3 -polly

Not that extracting test cases with 'clang -O0 -S -emit-llvm' does not 
give the same results. When -O0 is specified clang e.g. does not emit
type based alias analysis metadata which could prevent Polly from 
optimizing code that it would have optimized otherwise.

Best,
Tobias


More information about the llvm-commits mailing list