[llvm-dev] Particular type of loop optimization

Marcello Maggioni via llvm-dev llvm-dev at lists.llvm.org
Tue Feb 2 09:58:54 PST 2016


Do you have alias analysis enabled?

Marcello
> On 2 Feb 2016, at 08:35, Gleison Souza via llvm-dev <llvm-dev at lists.llvm.org> wrote:
> 
> Dear LLVMers,
> 
>     I am trying to implement a particular type of loop optimization, but I am having problems with global variables. To solve this problem, I would like to know if LLVM has some pass that moves loads outside loops. I will illustrate with an example. I want to transform this code below. I am writing in C for readability, but I am analysing LLVM IR:
> 
> int *vectorE;
> 
> void foo (int n) {       
>   int i;
>   for (i = 0; i < n; i++)
>     vectorE[i] = i;
> }
> 
> into this one:
> 
> int *vectorE;
> 
> void foo (int n) {       
>   int i;
>   int* aux = vectorE;
>   for (i = 0; i < n; i++)
>     aux[i] = i;
> }
> 
> Regards,
> 
> Gleison
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://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/20160202/bd9614bd/attachment.html>


More information about the llvm-dev mailing list