[llvm-dev] Scalar Evolution Analysis

Min-Yih Hsu via llvm-dev llvm-dev at lists.llvm.org
Sat Nov 6 14:28:12 PDT 2021


Maybe llvm::PredicatedScalarEvolution is the one you’re looking for.
IIRC, it was created for loop versioning, so it might insert some runtime checks.

-Min

> On Nov 6, 2021, at 12:44 AM, Bangtian Liu via llvm-dev <llvm-dev at lists.llvm.org> wrote:
> 
> Hi,
> 
> I have the following code as an example:  
>  int j=-1;  
> for (int i = 0; i < 100; ++i) 
> {       
>      if (c[i] > 0.) {      
>               j++;      
>               e[j] = d[i];   
>  }  }
> 
> How can I use LLVM's existing SCEV module to infer that e[j] could be consecutive if consecutive iterations' conditions are true?
> 
> Bests,
> 
> Bangtian
> 
> 
> 
> -- 
> Bangtian Liu   刘 邦天 
> CS PhD Candidate
> 
> Department of Computer Science 
> University of Toronto
> Pratt 265C, 6 King's College Road, Toronto, ON M5S 3G4, Canada
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20211106/ed00d0fc/attachment.html>


More information about the llvm-dev mailing list