llvm-project
llvm-project copied to clipboard
The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
This revision makes the subprogramFlags field in the DISubprogrammAttr optional. This is necessary since the DISubprogram attached to a declaration may have none of the subprogram flags set.
I have completed some work on code size optimization, but I noticed that BOLT emits a segment named .bolt.org.text, which accounts for nearly half of the code size in the...
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...
After https://github.com/llvm/llvm-project/pull/69498 I started to get the following asserts in the protobuf compiler `protoc` linked with libc++ built with -fno-exceptions and -fsanitize=cfi-icall: `../../third_party/libc++/src/src/new.cpp:62: assertion !std::__is_function_overridden(static_cast(&operator new)) failed: libc++ was configured...
One-sided binary search, aka meta binary search, has been in the public domain for decades, and has the general advantage of being Ω(1) rather than the classic algorithm's Ω(log(n)), with...
Crash itself is reproducible on Godbolt https://godbolt.org/z/q8z4GPxGT Reproducer (`flang-new -fopenmp test.f90`) ```console $ cat test.f90 integer :: x integer, external, pointer :: y !$omp parallel private(x) firstprivate(y) x = y(1)...
By default the scheduling info of instructions into a BUNDLE are given a latency of 0 as they operate on the implicit register of the bundle. This modifies that for...
Clang only gets `size_t` right. GCC doesn't mess up: https://godbolt.org/z/WT1jhdx1h
- **[PatternMatching] Add generic API for matching constants using custom conditions** - **[InstCombine] Add example usage for new `Checked` matcher API** The new API is: `m_CheckedInt(Lambda)`/`m_CheckedFp(Lambda)` - Matches non-undef constants...