[all-commits] [llvm/llvm-project] 3a995c: [SCEV] Move SCEVLostPoisonFlags() check into SCEVE...

Nikita Popov via All-commits all-commits at lists.llvm.org
Mon Oct 25 13:37:36 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 3a995c918e8e21ae6fd94f761851b620fbafaf19
      https://github.com/llvm/llvm-project/commit/3a995c918e8e21ae6fd94f761851b620fbafaf19
  Author: Nikita Popov <nikita.ppv at gmail.com>
  Date:   2021-10-25 (Mon, 25 Oct 2021)

  Changed paths:
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp

  Log Message:
  -----------
  [SCEV] Move SCEVLostPoisonFlags() check into SCEVExpander

Always insert values into ExprValueMap, and instead skip using them
in SCEVExpander if poison-generating flags have been lost. This
ensures that all values that are in ValueExprMap are also in
ExprValueMap, so we can use the latter to invalidate the former.

This change is probably not entirely NFC for the case where
originally the SCEV had no nowrap flags but they were inferred
later, in which case that would now allow reusing the existing
value for expansion.

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




More information about the All-commits mailing list