[IR] Handle nofree noalias in canBeFreed() (#200194)
Based on the argument nofree semantics specified in
https://github.com/llvm/llvm-project/pull/195658, we can conclude that
an argument with both nofree and noalias cannot be freed.
This also handles the case of readonly + noalias, to be consistent with
the logic for functions (and because we had a FIXME for it...)
[lldb] Reduce size of Mangled class (#200181)
The Mangled class is used in several places in LLDB, most notably as a
direct member of Symbol. This makes this class one of the most
frequently long-lived allocations in LLDB.
In commit a2672250be871bdac18c1a955265a98704434218 , this class got a
(large) cache that stores information about demangled data. This cache
is stored in a std::optional member, which means the memory for the
class is allocated within our Mangled object. It should be noted that
this cache is only used when we actually demangle the name, which
doesn't happen for every mangled name we encounter.
The additional cache member caused that the size of Mangled went from
16B to 152B by default (that is, even if the Mangled name was never
demangled).
This patch replaces the std::optional with a unique_ptr which stores the
cache on first use in a separate heap allocation. This changes decreases
the amount of allocated memory when debugging a relatively small
Objective-C project from 1.57GiB to 1.18GiB (-400MiB).
[clang-tools-extra][docs] Convert maintainers file to Markdown (#200365)
Following the way clang does it.
* Moved files to .md (done in #200769).
* Reformatted into Markdown.
* Changed the stub file docs/Maintainers.rst into docs/Maintainers.md
and used a myst directive for the include.
* In the config file, added myst parser and ".md" as a recognised file
extension.
After this change, all maintainers files in llvm-project will be in
Markdown format.
[clang-tools-extra] Move maintainer files to .md files (#200769)
Without any formatting changes. This will break the docs build, but a
follow up (#200365) will fix the formatting and so on.
devel/level-zero: try to unbreak the port's build on 32-bit arches
There's no point to provide a `size_t' overload in the presence of
both `uint32_t' and `uint64_t' ones, since one of them will clash.
Reported by: pkg-fallout
cad/qcadjsapi: new port required by cad/qcad
Remark: maintainer set to mr, because it has to be maintained with QCAD.
PR: 295682
Approved by: mr (maintainer)
cad/qcad: upgrade to v3.32.9.0
Note: flavors removed, because with Qt5 only the bundled legacy OpenNURBS is
supported. Only Qt6 seems active.
Remark: two new ports, cad/qtjsapi and cad/qcadjsapi are released separately,
but without them you get the error "No script handler found".
PR: 295682
Approved by: mr (maintainer)
cad/qtjsapi: new port required by cad/qcad
Remark: maintainer set to mr, because it has to be maintained with QCAD.
PR: 295682
Approved by: mr (maintainer)
Fix up PROM's where reg is encoded as a 64-bit and a 32-bit value
(e.g. 00000400 0fc62020 00000010), but we want 2 x 64-bit values.
U45 with OBP 4.21.2 has jbus-i2c configured like this.
geo/qgis: fix build with llvm 22
- use -O0 on textrenderer/qgsfontmanager.cpp otherwise c++ spins forever
- set SKIP_PRECOMPILE_HEADERS ON on qgsexpression_texts.cpp otherwise llvm
errors with "OptimizationLevel differs in precompiled file vs. current file"
joint work with tb@, thanks!
[X86] matchShuffleAsVSHLD - fix incorrect shift factor (#200754)
#200604 left the non-commuted case to still scale by 8bits instead of the src scalar bit size