Hi,

Recent changes to OpenMP conflicted with the original patch. Here is the 
updated patch.

Any comments are much appreciated!

Tyler

Attachment: 0001-Use-CGLoopInfo-to-insert-loop-hints-to-fix-conflict-.patch
Description: Binary data



> On Jun 13, 2015, at 6:36 PM, Tyler Nowicki <tnowi...@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@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to