16758 Commits

Author SHA1 Message Date
LLVM GN Syncbot
0067d92d53 [gn build] Port f8416c864353 2026-03-27 12:21:03 +00:00
LLVM GN Syncbot
f59191aa24 [gn build] Port dc1411163170 2026-03-27 12:21:02 +00:00
Nico Weber
5a403150b4 [gn] port c1ea10a854dcbb (clangd-remap) 2026-03-27 08:20:53 -04:00
Nikita Popov
dfefc03769
[lit] Explicitly unset timer to free thread stack (#188717)
Currently the virtual address space usage of lit fluctuates wildly, with
peak usage exceeding 4GB, which results in subsequent thread spawning
errors on 32-bit systems.

The cause of this is a circular reference in TimeoutHelper._timer (via the
callback), which causes the 8MB thread stack to not be immediately
reclaimed when the timer is cancelled.

We can avoid this by explicitly unsetting the timer.
2026-03-26 16:57:41 +01:00
Nico Weber
249a3d19dd [gn build] Port 28318d5db86f 2026-03-26 11:08:39 -04:00
Nico Weber
a5cd44f4f7 [gn] port 25904ac91554 2026-03-26 11:08:36 -04:00
Nico Weber
f08f7ecc7a [gn] "port" 80831832e03f 2026-03-26 11:07:22 -04:00
Aiden Grossman
d7a39cc97e
[Utils] Add ability to configure git-llvm-push from .gitconfig (#187398)
This lets someone set git config options at whatever scope (per-repo,
global, etc.) for the options that they care about. This provides
similar functionality to just wrapping the script in a shell script with
one's desired options without the need to do that.

We need to be careful about how when we get the flags and how to execute
the git command to get the flags. For now, we do this before normal
argument parsing and fail silently to avoid printing output if someone
passes something like --quiet through the git config. This means options
like --verbose and --dry-run don't work for this specific command, but I
think that is a reasonable tradeoff.
2026-03-25 17:10:50 -07:00
Nick Begg
b7d8831f8c
[lit] dealloc ApplyResult objects as they're waited on (#188642)
In _wait_for(), all async tasks are waited for. However, the objects
are held in the async_result list until the function calls complete.
This leads to about 3.6gig mem usage on my system when running
check-llvm, even though these objects aren't needed after the ar.get()
call.

Dealloc them as we go instead.

Addresses #188641
2026-03-26 00:07:34 +00:00
Nico Weber
b6ef20edc3 [gn] port 0eb8f018a1c8 2026-03-25 19:53:33 -04:00
Nico Weber
0000e52e2a [gn] port 731bcb5a1c774 (tblgen aarch64 builtins) 2026-03-25 11:52:09 -04:00
Nico Weber
902b89b946 [gn] fix typo in 627f6aa1cd930e6a 2026-03-25 10:46:55 -04:00
Nico Weber
627f6aa1cd [gn build] Port daec3b9fb6e2 (clang hlsl header tblgen) 2026-03-25 10:22:43 -04:00
Jakub Kuderski
9c6054d29d
[lldb][ADT] Fix LLDB/GDB formatters for PointerUnion after recactoring (#188483)
In #188242, we replaced `PointerUnion`'s `PointerIntPair` storage with
`PunnedPointer<void*>`. The old formatters relied on the PIP synthetic
provider (LLDB) / `get_pointer_int_pair helper` (GDB) which no longer
work.

Instead, read raw bytes from `PunnedPointer` and compute the active tag
from template argument type alignments -- the same fixed-width encoding
the C++ implementation uses. When template arg enumeration is truncated
(e.g., function-local types in GDB), the formatters fall back to showing
a tag-stripped `void*` instead of silently misdecoding.

Alternatives that didn't work out:
- Adding a C++ helper (`getActiveMemberIdx`) callable from Python: gets
optimized out even with `__attribute__((used, noinline))`, and
expression evaluation fails for synthetic children.
- Using `isa`/`dyn_cast` checks from Python: requires expression
evaluation, which does not work for local types or synthetic children
without a frame context.

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-25 10:16:01 -04:00
Nico Weber
857a40547c [gn] port a5a7f6266ef05 2026-03-25 09:35:42 -04:00
Mehdi Amini
6a045c29a9
Revert "[GlobalISel][LLT] Introduce FPInfo for LLT (Enable bfloat, ppc128float and others in GlobalISel) (#155107)" (#188344)
This reverts commit b1aa6a45060bb9f89efded9e694503d6b4626a4a and commit
ce44d63e0d14039f1e8f68e6b7c4672457cabd4e.

This fails the build with some older gcc:

llvm/include/llvm/CodeGenTypes/LowLevelType.h:501:35: error: call to
non-constexpr function ‘static llvm::LLT llvm::LLT::integer(unsigned
int)’
     return integer(getSizeInBits());
                                   ^
2026-03-24 21:40:36 +00:00
Denis.G
b1aa6a4506
[GlobalISel][LLT] Introduce FPInfo for LLT (Enable bfloat, ppc128float and others in GlobalISel) (#155107)
Added extra information in LLT to support ambiguous fp types during
GlobalISel. Original idea by @tgymnich

Main differences from https://github.com/llvm/llvm-project/pull/122503
are:
* Do not deprecate LLT::scalar
* Allow targets to enable/disable IR translation with extenden LLT via
`TargetOption::EnableGlobalISelExtendedLLT` (disabled by default)
* `IRTranslator` use `TargetLoweringInfo` for appropriate `LLT`
generation.
* For this reason added flag in GlobalISelMatchTable` to allow switch
between legacy and new extended LLT names
* Revert using stubs like `LLT::float32` for float types as they are
real now. Added `TODO` for such cases.

Also MIRParser now may parse new type indentifiers.

---------

Co-authored-by: Tim Gymnich <tim@gymni.ch>
Co-authored-by: Ryan Cowan <ryan.cowan@arm.com>
2026-03-24 08:40:39 -04:00
David Spickett
f243d8656b
[llvm][utils] Handle Issue/PR authors having no display name set (#186094)
user.login is the account name and user.name is an optional display name
(often their full name). I got an email generated from a colleague's PR
that said:
```
Author: None (<their username>)
```

As they hadn't set user.name in their account. Which isn't a problem,
but it would be neater if we didn't print None.

So I've added a helper function to handle that. If the user has set
both, the output is as it was before, if the user has not, we just show
the login name.

The login name can apparently be None too. In that case we'll print
"None" for it. This does not seem to be a common case though, and I'm
not sure printing anything else would be any more useful.
2026-03-24 09:54:09 +00:00
Arthur Eubanks
53e3ed82f6
[gn build] Port commits (#188129)
f7d5e593d38a
b2edc0a3f8a5
3e4efe3ed4a2
2026-03-23 14:15:46 -07:00
Nico Weber
651482267d [gn] port a2c0c436999 2026-03-22 15:13:03 -04:00
Nico Weber
0e7a8ac6c1 [gn build] Port c6ba0e00161e 2026-03-22 15:13:03 -04:00
Nico Weber
c58f32215d [gn build] Port 78729251fbb2 2026-03-22 15:13:03 -04:00
Nico Weber
2be28d65fb [gn] "port" 0ec9f7ebbdf72a94
Just use an empty list always.
2026-03-21 16:48:38 -04:00
Alex MacLean
0d251db0f1
[NVPTX] Split NVVM annotation query helpers out of NVPTXUtilities (NFC) (#187349) 2026-03-20 08:36:04 -07:00
Nico Weber
d339d0053c [gn] port a021a93e5320d8 2026-03-20 10:50:10 -04:00
Nico Weber
17d2890e7e [gn] port 7bf871c39f739 2026-03-20 10:50:10 -04:00
Nico Weber
9ab77fa8da [gn] port aa3465793a250
Exposed by 8ccda467e100.
2026-03-20 10:02:23 -04:00
Oliver Old
689afb5ecd
Windows release build: Add checksum verification for downloaded source archives (#187113)
Add checksum verification for libxml2, zlib, and zstd source archives
via `cmake -E *sum` and `cmake -E compare_files` commands.

This also adds the following minor changes:
* Factor out libxml2 version into variable.
* Check `tar` return code.
2026-03-20 09:25:56 +01:00
Nico Weber
3991dcbbd5 [gn] port 81e8a1e59ee28e54 2026-03-19 19:23:54 -04:00
Nico Weber
8ccda467e1 [gn] port 02451f54d642ae
Also remove dependency on TargetsToBuild, which was apparently never
needed.
2026-03-19 19:22:07 -04:00
Nico Weber
8771fd92f6 [gn build] Port d18a784d4106 2026-03-19 19:15:25 -04:00
Nico Weber
7a544217fe [gn build] Port b17db271d030 2026-03-19 19:15:24 -04:00
Nico Weber
d7dc03bc5b [gn build] Port 4f298d4efa2f 2026-03-19 19:15:24 -04:00
Nico Weber
13d99cecf0 [gn build] Port 39b6a4d84ad8 2026-03-19 19:15:24 -04:00
Aiden Grossman
d434d82010
[MLGO] Modernize type annotations in mlgo-utils (#187408)
Use the 3.10+ syntax while supporting older versions usin an import from
__future__.
2026-03-19 00:42:36 +00:00
Aiden Grossman
0d01afffe1 [Utils] Format git-llvm-push
So that I do not constantly run into formatting diffs when working on
future PRs.
2026-03-18 23:01:28 +00:00
Aiden Grossman
f4199fa996
[Utils] Add --use-gh-cli-token flag
This enables automatically getting the token from the gh CLI tool which
was a requested feature.

Reviewers: petrhosek, ilovepi

Reviewed By: petrhosek, ilovepi

Pull Request: https://github.com/llvm/llvm-project/pull/186695
2026-03-18 15:31:03 -07:00
Jay Foad
0b49adc32c
[AMDGPU] Rename AMDGPUMachineFunction to AMDGPUMachineFunctionInfo. NFC. (#187276)
This is derived from MachineFunctionInfo not MachineFunction.
2026-03-18 20:29:47 +00:00
Nico Weber
e1c81fa24e [gn build] Port e4a2d9cd8a63 2026-03-18 10:26:16 -04:00
Nico Weber
c051449e27 [gn build] Port d0d0a665c238 2026-03-18 10:26:16 -04:00
Nico Weber
e9b95ce4a7 [gn build] Port 6b3cf50d958c 2026-03-18 10:26:16 -04:00
Nico Weber
6ef0b80d9d [gn build] Port 681f1a5ee987 2026-03-18 10:26:16 -04:00
Nico Weber
0f6cd5c183 [gn build] Port 55db533b74fe 2026-03-18 10:26:16 -04:00
Nico Weber
c94403dbd3 [gn build] Port 45fe4bbdde13 2026-03-18 10:26:16 -04:00
Nico Weber
dfc02b7744 [gn] port c1f6fd24aa637d6a 2026-03-18 10:14:01 -04:00
Luke Lau
570c388685
[llvm][utils] Give git-llvm-push u+x permissions (#187211)
There's a hashbang at the top of the script so I presume the intention
is that it can be executed directly, but it seems to be lacking
executable permissions. This sets the user executable bit so running
./llvm/utils/git-llvm-push works
2026-03-18 17:14:29 +08:00
Nico Weber
b04b9e58aa [gn] port 55b271ddc1fd968 2026-03-17 12:48:18 -04:00
Oliver Old
60f478a159
Add Zstandard to Windows release build (#186772)
This PR adds Zstandard to the Windows release build script to enable
Zstandard support in LLVM.

Part 2 of https://github.com/llvm/llvm-project/issues/184177.

This PR supersedes #186631, which got closed because of a force push
mishap.
2026-03-17 17:04:35 +01:00
Balázs Benics
9e43b35bef
[clang][ssaf] Add --ssaf-list-{extractor,format} flags (#185428)
These flags only work with the `clang` driver.
The `cc1` driver would ignore these flags.
Probably it could be implemented differently, but it's already better
than having nothing.
2026-03-17 08:41:22 +00:00
Oliver Old
63ebca6a50
Add zlib to Windows release build (#186630)
This PR adds zlib to the Windows release build script to enable zlib
support in LLVM.

Part 1 of https://github.com/llvm/llvm-project/issues/184177.
2026-03-17 09:16:26 +01:00