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

Marcello Maggioni hayarms at gmail.com
Mon Nov 21 03:44:17 PST 2011


2011/11/21 Tobias Grosser <tobias at grosser.es>:
> On 11/20/2011 04:36 PM, Marcello Maggioni wrote:
>>
>> Sorry for the noobish question, but what kind of subscripts generate a
>> SCEVCouldNotCompute  from the SCEV engine?
>> I tried for a while but I wasn't able to trigger that
>
> Hi Marcello,
>
> the SCEV returns SCEVCouldNotCompute in case it cannot analyze an expression
> or if the analysis would be to complicated. I am currently
> not sure if this may actually happen when calling getSCEV(), because
> getSCEV() could just return a SCEVUnknown referencing the Value itself.
> Maybe SCEVCouldNotCompute is just generated by functions like
> SE->getBackedgeTakenCount()?
>
> In case you cannot generate a test case that yields to this, I don't think
> there is a need to try more. Even without such a test case the patch should
> be OK.
>
> Cheers
> Tobi
>

Ok, thanks, I'll try other test cases to check if everything is ok,
better being sure.

About SCOPs with a "bitcast instruction" inside them I see that
ScopDetection discards those.
What problems can cause bitcasts to the Scop? Is it related to aliasing?

Marcello




More information about the llvm-dev mailing list