[all-commits] [llvm/llvm-project] 5073b5: [CVP] Infer `nuw`/`nsw` flags for TruncInst (#130504)

Veera via All-commits all-commits at lists.llvm.org
Wed Mar 12 05:25:46 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 5073b5fdfaf90f5d94640cf9031c73d27a91e394
      https://github.com/llvm/llvm-project/commit/5073b5fdfaf90f5d94640cf9031c73d27a91e394
  Author: Veera <32646674+veera-sivarajan at users.noreply.github.com>
  Date:   2025-03-12 (Wed, 12 Mar 2025)

  Changed paths:
    M clang/test/CodeGen/attr-counted-by.c
    M llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
    M llvm/test/Transforms/CorrelatedValuePropagation/icmp.ll
    M llvm/test/Transforms/CorrelatedValuePropagation/range.ll
    M llvm/test/Transforms/CorrelatedValuePropagation/sext.ll
    A llvm/test/Transforms/CorrelatedValuePropagation/trunc.ll
    M llvm/test/Transforms/CorrelatedValuePropagation/zext.ll

  Log Message:
  -----------
  [CVP] Infer `nuw`/`nsw` flags for TruncInst (#130504)

Proof: https://alive2.llvm.org/ce/z/U-G7yV

Helps: https://github.com/rust-lang/rust/issues/72646 and
https://github.com/rust-lang/rust/issues/122734

  Rust compiler's current output: https://godbolt.org/z/7E3fET6Md

IPSCCP can do this transform but it does not help the motivating issue
since it runs only once early in the optimization pipeline.

Reimplementing this in CVP folds the motivating issue into a simple
`icmp eq` instruction.
  
  Fixes #130100



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