{"push_id":1225721163,"size":1,"distinct_size":1,"ref":"refs/heads/mjr/polly_pass_reordering","head":"b013b306735bec599acdcbcd71826def874965d4","before":"ca37ec7380b254a6b136410f9f975dc8c48a3de1","commits":[{"sha":"b013b306735bec599acdcbcd71826def874965d4","author":{"name":"Matthias Reisinger","email":"5c6a18273082f9019b72900b262199742a1dfe88@gmail.com"},"message":"Reorganize pass-pipeline for Polly\n\nWe now move Polly after LoopRotate since at this point the LLVM IR is more amenable to Polly. For example, a simple gemm kernel like\n\n@polly function gemm!(A,B,C)\n    m,n = size(A)\n    n,o = size(B)\n    for i=1:m, j=1:o, k=1:n\n        C[i,j] += A[i,k] * B[k,j]\n    end\nend\n\ncould not be optimized before this change. However, this new position after LoopRotate also makes it necessary to rerun InstCombine before Polly to get rid of redundant phi instructions that are introduced by LCSSA. Additionally we add Polly's CodePreparation and CodegenCleanUp passes. Parts of these changes have already been discussed in https://groups.google.com/forum/#!topic/polly-dev/P2RZUlKRo0I. The reason why they were held back was to see if further adaptions to the pass-pipeline will become apparent, but for now this configuration seems to be convenient.","distinct":true,"url":"https://api.github.com/repos/MatthiasJReisinger/julia/commits/b013b306735bec599acdcbcd71826def874965d4"}]}
{"actor":{"display_login":"MatthiasJReisinger"}}