[PATCH] D13487: [Polly] Load/Store scalar accesses before/after the statement itself

Tobias Grosser via llvm-commits llvm-commits at lists.llvm.org
Sat Oct 17 09:50:01 PDT 2015


grosser added a subscriber: grosser.
grosser added a comment.

> Meinersbur added inline comments.

> 

> ================

>  Comment at: lib/CodeGen/BlockGenerators.cpp:1114

>  @@ +1113,3 @@

>  +    // Implicit writes induced by PHIs must be written in the incoming blocks.

>  +    if (isa<TerminatorInst>(ScalarInst)) {

>  +      BasicBlock *ExitingBB = ScalarInst->getParent();

> 

>  ----------------

> 

> grosser wrote:

> 

> > Was there a specific reason you moved away from the MA->isPHI()? Your new code seems to be functional equivalent, as TerminatorInstructions are only used as memory access instructions for PHI nodes, but I find this less clear than MA->isPHI().

> 

> 

> Exit PHI node handling creates SCALAR access for incoming values, to handle them as escaping values. Effectively, it means that the created alloca has the suffix .phiops instead of .s2a.

> 

> Also see ScopInfo::addPHIWriteAccess()


OK. Maybe add a test case that would have failed with the code I proposed.

Best,
Tobias


http://reviews.llvm.org/D13487





More information about the llvm-commits mailing list