[LLVMdev] How to make Polly ignore some non-affine memory accesses

Tobias Grosser tobias at grosser.es
Sun Oct 23 15:20:50 PDT 2011


On 10/23/2011 02:31 PM, Tobias Grosser wrote:
> On 10/22/2011 08:41 AM, Marcello Maggioni wrote:
[..]
>> Seems like it tries to load a symbol that it doesn't find ...
>> I have synchronized all clang/llvm/polly to the latest version and I
>> compiled them all together. Loading polly with "opt" works strangely
>> ... :
>>
>> opt -S -load ${PATH_TO_POLLY_LIB}/LLVMPolly.dylib -mem2reg -no-aa
>> -targetlibinfo -tbaa -basicaa -preverify -domtree -verify -mem2reg
>> -instcombine -simplifycfg -tailcallelim -simplifycfg -reassociate
>> -domtree -loops -loop-simplify -lcssa -loop-rotate -instcombine
>> -scalar-evolution -loop-simplify -lcssa -indvars -polly-prepare
>> -postdomtree -domfrontier -regions -polly-region-simplify
>> -scalar-evolution -loop-simplify -lcssa -indvars -postdomtree
>> -domfrontier -regions  -loop-simplify -indvars  -enable-iv-rewrite
>> not_so_simple_loop.s
>>
>> strange ...
> Very strange. I have seen such problems previously and they were often
> related to enabling rtti (runtime type info) or exceptions in Polly, but
> no clang or the other way around. I am not sure if this is the case her.
>
> Another possibility is that clang does not use the RegionInfo stuff and
> it gets dead code eliminated.
I am even more convinced this is the case. Can you try the attached 
patch and report if it works for you?

Cheers
Tobi
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Add-LinkAllPasses-to-clang.patch
Type: text/x-diff
Size: 901 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20111023/bda7aa18/attachment.patch>


More information about the llvm-dev mailing list