Skip to content

[pull] main from llvm:main - #1730

Merged
pull[bot] merged 6 commits into
MPACT-ORG:mainfrom
llvm:main
Aug 8, 2026
Merged

[pull] main from llvm:main#1730
pull[bot] merged 6 commits into
MPACT-ORG:mainfrom
llvm:main

Conversation

@pull

@pull pull Bot commented Aug 8, 2026

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

RKSimon and others added 6 commits August 8, 2026 07:16
…a estimates (#214191)

Replaces the olds costs which were just instruction counts

Still working on the bool reduction costs - these will be handled in a followup
If allocation of the Use[] in allocHungoffUses fails (e.g. due to OOM),
it may happen that the destructor of User is called with NumUserOperands
> 0. Then `Use::zap` tries to destruct Uses that were not constructed in
the first place.

Example scenario for SwitchInst:
`SwitchInst::init()` is called, which means the constructor of the
parent class User went through successfully, which means the destructor
of User will be called eventually. If now `SwitchInst::init()` calls
first `setNumHungOffUseOperands(2)` and then `allocHungoffUses()` and
the allocation there fails, `~User()` is called and tries to destruct 2
Uses, which can lead to problems.

This patch consequently ensures that first the allocation happens and
then NumUserOperands is set accordingly, so that this problem is
prevented.
Both the Itanium and the MS ABI want some cache for dynamic types. This
moves the functionality from the Itanium ABI to the base class.
Similar to #207217

The RST-to-Markdown migration (#206181) converted the RST flag
`:numbered:` into `:numbered: true`.

MyST parses the toctree `numbered` option as `int_or_nothing`, so the
string `true` fails with:

```
'toctree': Invalid option value for 'numbered': true:
invalid literal for int() with base 10: 'true'
```

This breaks the `-W` (warnings-as-errors) `docs-clang-html` build. Make
`numbered` a valueless flag, which MyST accepts (equivalent to the
original RST behavior of numbering all levels).
This allows `CPPLanguageRuntime` to contain more than one ABI runtime.
For dynamic types, we ask each runtime if it knows how to deal with a
vtable symbol. For exception breakpoints, we will create all
breakpoints. Note that the MS ABI will only be added on Windows targets.
So the MS ABI will not be added to `m_abi_runtimes` on other targets.
I'm not sure why Git decided to add two duplicate declarations when
merging #212015, but this removes the duplicate ones.
@pull pull Bot locked and limited conversation to collaborators Aug 8, 2026
@pull pull Bot added the ⤵️ pull label Aug 8, 2026
@pull
pull Bot merged commit 5e30da9 into MPACT-ORG:main Aug 8, 2026
8 of 10 checks passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants