Hi Hal, Here are the split patches.
Thanks, Tyler
0001-Rename-Vectorizer-to-Vectorize-and-VectorizeUnroll-t.patch
Description: Binary data
0002-Moved-functionality-from-EmitCondBr-to-CGLoopInfo.patch
Description: Binary data
> On Jun 22, 2015, at 5:40 PM, Hal Finkel <hfin...@anl.gov> wrote: > > Hi Tyler, > > - Type::getInt32Ty(Ctx), Attrs.VectorizerWidth))}; > + Type::getInt32Ty(Ctx), Attrs.VectorizeWidth))}; > > Could you please factor out the renamings from the functional change? >>> >>> 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.
_______________________________________________ cfe-commits mailing list cfe-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits