[polly] r304502 - [CodeGen] Iterate over explicit instruction list for block statements. NFC
David Blaikie via llvm-commits
llvm-commits at lists.llvm.org
Mon Jun 5 11:39:50 PDT 2017
Does this need test coverage of some kind?
On Thu, Jun 1, 2017 at 5:14 PM Michael Kruse via llvm-commits <
llvm-commits at lists.llvm.org> wrote:
> Author: meinersbur
> Date: Thu Jun 1 19:13:49 2017
> New Revision: 304502
>
> URL: http://llvm.org/viewvc/llvm-project?rev=304502&view=rev
> Log:
> [CodeGen] Iterate over explicit instruction list for block statements. NFC
>
> For when statements do not contain all instructions of a BasicBlock
> anymore, the block generator needs to go through the explicit list of
> instructions it contains.
>
> Contributed-by: Nandini Singhal <cs15mtech01004 at iith.ac.in>
>
> Differential Revision: https://reviews.llvm.org/D33653
>
> Modified:
> polly/trunk/include/polly/ScopInfo.h
> polly/trunk/lib/CodeGen/BlockGenerators.cpp
>
> Modified: polly/trunk/include/polly/ScopInfo.h
> URL:
> http://llvm.org/viewvc/llvm-project/polly/trunk/include/polly/ScopInfo.h?rev=304502&r1=304501&r2=304502&view=diff
>
> ==============================================================================
> --- polly/trunk/include/polly/ScopInfo.h (original)
> +++ polly/trunk/include/polly/ScopInfo.h Thu Jun 1 19:13:49 2017
> @@ -1502,6 +1502,10 @@ public:
> Scop *getParent() { return &Parent; }
> const Scop *getParent() const { return &Parent; }
>
> + const std::vector<Instruction *> &getInstructions() const {
> + return Instructions;
> + }
> +
> const char *getBaseName() const;
>
> /// Set the isl AST build.
>
> Modified: polly/trunk/lib/CodeGen/BlockGenerators.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/polly/trunk/lib/CodeGen/BlockGenerators.cpp?rev=304502&r1=304501&r2=304502&view=diff
>
> ==============================================================================
> --- polly/trunk/lib/CodeGen/BlockGenerators.cpp (original)
> +++ polly/trunk/lib/CodeGen/BlockGenerators.cpp Thu Jun 1 19:13:49 2017
> @@ -441,8 +441,12 @@ void BlockGenerator::copyBB(ScopStmt &St
> isl_id_to_ast_expr *NewAccesses) {
> EntryBB = &CopyBB->getParent()->getEntryBlock();
>
> - for (Instruction &Inst : *BB)
> - copyInstruction(Stmt, &Inst, BBMap, LTS, NewAccesses);
> + if (Stmt.isBlockStmt())
> + for (Instruction *Inst : Stmt.getInstructions())
> + copyInstruction(Stmt, Inst, BBMap, LTS, NewAccesses);
> + else
> + for (Instruction &Inst : *BB)
> + copyInstruction(Stmt, &Inst, BBMap, LTS, NewAccesses);
> }
>
> Value *BlockGenerator::getOrCreateAlloca(const MemoryAccess &Access) {
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170605/9a9c2fe9/attachment.html>
More information about the llvm-commits
mailing list