[all-commits] [llvm/llvm-project] 30982a: [ConstraintElimination] Make decompose() infallible

Nikita Popov via All-commits all-commits at lists.llvm.org
Mon Nov 14 01:42:21 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 30982a595da66c4224ca0c2601fbad16ce75a78a
      https://github.com/llvm/llvm-project/commit/30982a595da66c4224ca0c2601fbad16ce75a78a
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2022-11-14 (Mon, 14 Nov 2022)

  Changed paths:
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
    M llvm/test/Transforms/ConstraintElimination/large-constant-ints.ll

  Log Message:
  -----------
  [ConstraintElimination] Make decompose() infallible

decompose() currently returns a mix of {} and 0 + 1*V on failure.
This changes it to always return the 0 + 1*V form, thus making
decompose() infallible.

This makes the code marginally more powerful, e.g. we now fold
sub_decomp_i80 by treating the constant as a symbolic value.

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




More information about the All-commits mailing list