[PATCH] [OPENMP] llvm.loop.vectorize.enable metadata are lost after critical edge splitting

Hal Finkel hfinkel at anl.gov
Tue Sep 30 14:37:25 PDT 2014


----- Original Message -----
> From: "Andrew Trick" <atrick at apple.com>
> To: "zinovy nis" <zinovy.nis at gmail.com>, chandlerc at gmail.com, atrick at apple.com
> Cc: llvm-commits at cs.uiuc.edu
> Sent: Tuesday, September 30, 2014 4:29:08 PM
> Subject: Re: [PATCH] [OPENMP] llvm.loop.vectorize.enable metadata are lost	after critical edge splitting
> 
> Is it incorrect to leave the loop metadata on the original branch
> when splitting the edge?
> 
> GVN already requires DomTree, so no change to the pipeline is needed
> if you use it.
> 
> In splitCriticalEdges, if LoopInfo is available you can use it.
> Otherwise you can use the DomTree. If the DomTree check fails (ie.
> both targets dominate the latch) then just invalidate the metadata.
> 
> I think there is a fundamental problem with the metadata design--it's
> ridiculous to assume that any pass that splits critical edges has
> LoopInfo--but that should at least workaround your problem.

Is that a flaw in the design of the metadata, or just in the fact that the utility functions used to manipulate the metadata are part of LoopInfo?

 -Hal

> 
> http://reviews.llvm.org/D5539
> 
> 
> 
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
> 

-- 
Hal Finkel
Assistant Computational Scientist
Leadership Computing Facility
Argonne National Laboratory



More information about the llvm-commits mailing list