Yingwei Zheng
Yingwei Zheng
#### What is it? - [x] Bugfix (user facing) - [ ] Feature (user facing) - [ ] Codebase improvement (dev facing) - [ ] Meta improvement to the project...
This patch removes APIs that creating NUW neg. It is a trivial case because `sub nuw 0, X` always gets simplified into zero. I believe there is no optimization opportunities...
This patch passes APInt by const reference in m_SpecificInt instead of by value. Specifically, it refactors `m_SpecificInt(uint64_t V)` to avoid APInt construction and dangling reference. I believe it is safe...
This patch calculates knownbits from fp instructions/dominating fcmp conditions. It will enable more optimizations with signbit idioms.
Hi all, I am an LLVM developer working on the middle-end optimizations. Recently I found an anti-pattern in some Rust applications from my [benchmark](https://github.com/dtcxzyw/llvm-opt-benchmark). All of them come from `hashbrown::raw::RawTableInner::free_buckets`:...
This patch adds supports for rvv1p0 and its extensions (zvbb/zvbc/zvfh/zvfhmin/zvfbfmin/zvfbfwma/zvkb/zvl*b). Doc: https://dtcxzyw.github.io/riscv-isa-manual-host/unpriv-isa-asciidoc.html#vector The machine code is generated with the llvm toolchain: ``` // llvm-mc -filetype=obj -triple=riscv64 -mattr=+v,+zvbb,+zvbc,+zvfh,+experimental-zvfbfmin,+experimental-zvfbfwma < tmp.S |...
Alive2: https://alive2.llvm.org/ce/z/g8marn ```llvm ---------------------------------------- define i1 @src1() { #0: %x = sqrt float -2494298614702763169545800705376256.000000 %y = bitcast float %x to i32 %cmp = icmp slt i32 %y, 0 ret i1...