diff options
author | Veera <32646674+veera-sivarajan@users.noreply.github.com> | 2025-03-12 08:25:24 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-03-12 08:25:24 -0400 |
commit | 5073b5fdfaf90f5d94640cf9031c73d27a91e394 (patch) | |
tree | df8327bebe0a2a25d414830724756489f17a050a /llvm/lib/CodeGen/CommandFlags.cpp | |
parent | 059ada405c1ebb9dc8a9c370d97ff0f447ba8b6c (diff) | |
download | llvm-5073b5fdfaf90f5d94640cf9031c73d27a91e394.zip llvm-5073b5fdfaf90f5d94640cf9031c73d27a91e394.tar.gz llvm-5073b5fdfaf90f5d94640cf9031c73d27a91e394.tar.bz2 |
[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
Diffstat (limited to 'llvm/lib/CodeGen/CommandFlags.cpp')
0 files changed, 0 insertions, 0 deletions