[all-commits] [llvm/llvm-project] f60671: [LV] Remove nondeterminacy by changing LoopVectori...

wmi-11 via All-commits all-commits at lists.llvm.org
Mon Jan 27 16:55:13 PST 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: f60671f049bcbe1de8f24ca2bb50aa23564e6a7f
      https://github.com/llvm/llvm-project/commit/f60671f049bcbe1de8f24ca2bb50aa23564e6a7f
  Author: Wei Mi <wmi at google.com>
  Date:   2020-01-27 (Mon, 27 Jan 2020)

  Changed paths:
    M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
    A llvm/test/Transforms/LoopVectorize/reduction-order.ll

  Log Message:
  -----------
  [LV] Remove nondeterminacy by changing LoopVectorizationLegality::Reductions
from DenseMap to MapVector

The iteration order of LoopVectorizationLegality::Reductions matters for the
final code generation, so we better use MapVector instead of DenseMap for it
to remove the nondeterminacy. reduction-order.ll in the patch is an example
reduced from the case we saw. In the output of opt command, the order of the
select instructions in the vector.body block keeps changing from run to run
currently.

Differential Revision: https://reviews.llvm.org/D73490




More information about the All-commits mailing list