[polly] r250411 - Do not add accesses for intra-ScopStmt scalar def-use chains
Tobias Grosser via llvm-commits
llvm-commits at lists.llvm.org
Thu Oct 15 11:10:00 PDT 2015
On 10/15/2015 04:45 PM, Michael Kruse via llvm-commits wrote:
> Author: meinersbur
> Date: Thu Oct 15 09:45:48 2015
> New Revision: 250411
>
> URL: http://llvm.org/viewvc/llvm-project?rev=250411&view=rev
> Log:
> Do not add accesses for intra-ScopStmt scalar def-use chains
>
> When pulling a llvm::Value to be written as a PHI write, the former
> code did only check whether it is within the same basic block, but it
> could also be the same non-affine subregion. In that case some
> unecessary pair of MemoryAccesses would have been created.
>
> Two unit test were explicitely checking for the unecessary writes,
> including the comments that the writes are unecessary.
Thank you Michael for fixing this.
> --- polly/trunk/test/Isl/CodeGen/non-affine-phi-node-expansion-3.ll (original)
> +++ polly/trunk/test/Isl/CodeGen/non-affine-phi-node-expansion-3.ll Thu Oct 15 09:45:48 2015
> @@ -18,12 +18,6 @@ loop:
> ; CHECK-NEXT: %p_val1 = fadd float 1.000000e+00, 2.000000e+00
> ; CHECK-NEXT: %p_val2 = fadd float 1.000000e+00, 2.000000e+00
> ; CHECK-NEXT: store float %p_val0, float* %merge.phiops
> -; CHECK-NEXT: store float %p_val1, float* %val1.s2a
> -; CHECK-NEXT: store float %p_val2, float* %val2.s2a
> -
> -; FIXME -> The last two writes are not really needed and can be dropped if the
> -; incoming block of the PHI and the value that is used share the same
> -; non-affine region.
By just dropping the CHECK lines we do not really verify that the
instruction is not generated any more. I added in r250435 the
'CHECK-NEXT: br i1' lines back that ensure the one store checked for
is indeed the only store emitted.
Best,
Tobias
More information about the llvm-commits
mailing list