[all-commits] [llvm/llvm-project] c5aacb: [ValueTracking] Add fast path to avoid second recu...

goldsteinn via All-commits all-commits at lists.llvm.org
Wed Mar 6 11:28:30 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: c5aacb0dbcb19b154441852763785f0356e5218b
      https://github.com/llvm/llvm-project/commit/c5aacb0dbcb19b154441852763785f0356e5218b
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-03-06 (Wed, 06 Mar 2024)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp

  Log Message:
  -----------
  [ValueTracking] Add fast path to avoid second recursive call in `isKnownPositive`; NFC

Just a simple compile time improvement. This function isn't used much,
however, so its not particularly impactful.

Closes #83638


  Commit: 862e742292f4a46c4d3879e9cc0d9902ef87f107
      https://github.com/llvm/llvm-project/commit/862e742292f4a46c4d3879e9cc0d9902ef87f107
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-03-06 (Wed, 06 Mar 2024)

  Changed paths:
    A llvm/test/Transforms/InstCombine/binop-itofp.ll

  Log Message:
  -----------
  [InstCombine] Add tests for folding `(fp_binop ({s|u}itofp x), ({s|u}itofp y))`; NFC


  Commit: 0f5849eeeebc410e420ee11b7e59b4dd28c65318
      https://github.com/llvm/llvm-project/commit/0f5849eeeebc410e420ee11b7e59b4dd28c65318
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-03-06 (Wed, 06 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/test/Transforms/InstCombine/add-sitofp.ll
    M llvm/test/Transforms/InstCombine/binop-itofp.ll

  Log Message:
  -----------
  [InstCombine] Move folding `(add (sitofp x), (sitofp y))` impl to InstructionCombiner; NFC


  Commit: 946ea4e3ca4c908bfa7c196b982795f5c390b923
      https://github.com/llvm/llvm-project/commit/946ea4e3ca4c908bfa7c196b982795f5c390b923
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-03-06 (Wed, 06 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/test/Transforms/InstCombine/add-sitofp.ll
    M llvm/test/Transforms/InstCombine/binop-itofp.ll
    M llvm/test/Transforms/InstCombine/pr33453.ll

  Log Message:
  -----------
  [InstCombine] Add folds for `(fp_binop ({s|u}itofp x), ({s|u}itofp y))`

The full fold is one of the following:
1) `(fp_binop ({s|u}itofp x), ({s|u}itofp y))`
    -> `({s|u}itofp (int_binop x, y))`
2) `(fp_binop ({s|u}itofp x), FpC)`
    -> `({s|u}itofp (int_binop x, (fpto{s|u}i FpC)))`

And support the following binops:
    `fmul` -> `mul`
    `fadd` -> `add`
    `fsub` -> `sub`

Proofs: https://alive2.llvm.org/ce/z/zuacA8

The proofs timeout, so they must be reproduced locally.

Closes #82555


Compare: https://github.com/llvm/llvm-project/compare/a6c84079f69f...946ea4e3ca4c

To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list