[Patch][LoopInfo] Use CGLoopInfo to generate loop hints

Hal Finkel hfinkel at anl.gov
Mon Jun 22 17:40:08 PDT 2015


Hi Tyler,

-                            Type::getInt32Ty(Ctx), Attrs.VectorizerWidth))};
+                            Type::getInt32Ty(Ctx), Attrs.VectorizeWidth))};

Could you please factor out the renamings from the functional change?

Thanks again,
Hal

----- Original Message -----
> From: "Tyler Nowicki" <tnowicki at apple.com>
> To: "llvm cfe" <cfe-commits at cs.uiuc.edu>
> Sent: Monday, June 22, 2015 12:50:32 PM
> Subject: Re: [Patch][LoopInfo] Use CGLoopInfo to generate loop hints
> 
> 
> 
> Hi,
> 
> Recent changes to OpenMP conflicted with the original patch. Here is
> the updated patch.
> 
> Any comments are much appreciated!
> 
> Tyler
> 
> 
> 
> 
> 
> 
> > On Jun 13, 2015, at 6:36 PM, Tyler Nowicki <tnowicki at apple.com>
> > wrote:
> > 
> > Hello,
> > 
> > I noticed a problem with my implementation of #pragma clang loop
> > vectorize(assume_safety). When it was specified on a loop other
> > loop hints were lost. The problem is that CGLoopInfo attaches
> > metadata a little bit differently than EmitCondBrHints in CGStmt.
> > For do-loops CGLoopInfo attaches metadata to the br in the body
> > block and for while and for loops, the inc block. EmitCondBrHints
> > on the other hand always attaches data to the br in the cond
> > block. When specifying assume_safety CGLoopInfo emits an empty
> > llvm.loop metadata shadowing the metadata in the cond block. Loop
> > transformations like rotate and unswitch would then eliminate the
> > cond block.
> > 
> > This patch unifies both approaches for adding metadata and modifies
> > the existing safety tests to include non-assume_safety loop hints.
> > 
> > Thanks,
> > 
> > Tyler
> > 
> > 
> > <0001-Use-CGLoopInfo-to-insert-loop-hints-to-fix-conflict-.patch>
> 
> 
> 
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
> 

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



More information about the cfe-commits mailing list