[clang] fix alias ctad producing function template with no template parameters
Also fixes the same problem with error recovery for invalid template template
parameters.
This also adds asserts to the template constructors to make sure this
doesn't happen again.
[compiler-rt] Only build the embedded mach-o libraries when the ARM backend is available (#195313)
Fixes builds that only target AArch64, which I broke in #195184
18090 zonestat(1) summary report should respect given zonelist
Reviewed by: Andy Fiddaman <illumos at fiddaman.net>
Reviewed by: Bill Sommerfeld <sommerfeld at hamachi.org>
Reviewed by: Toomas Soome <tsoome at me.com>
Approved by: Gordon Ross <gordon.w.ross at gmail.com>
[lldb] Adjust TestDataFormatterCpp.py for arm64e (#195168)
For two of these cases, the initial open parenthesis comes much earlier.
Compare:
```
arm64e:
(actual=0x00000001000006c4 a.out`IUseCharStar::member_func(int) ...
arm64:
(a.out`IUseCharStar::member_func(int) ...
```
For the third case, the address was not the last part of the output
string. It looks more like this:
```
virt_member_func_ptr = 0x00000000000000005b3f0001047c46e0
(actual=0x00000001047c46e0 ...
```
[clang] fix alias ctad producing function template with no template parameters
Also fixes the same problem with error recovery for invalid template template
parameters.
This also adds asserts to the template constructors to make sure this
doesn't happen again.
[mlir][xegpu] Support for nD memrefs in `vector.transfer_read` with transposed permutation maps. (#195197)
Current implementation fails when loading from a 3d memref with perm map
(d0, d1, d2) -> (d2, d1).
[MLIR][XeVM] XeVM to LLVM: Update xevm.truncf handling (#194491)
Add support for more src/dst type combinations.
xevm.truncf no longer expects destination vector size to match source
vector size.
XeVM target: Turn on extension SPV_KHR_bfloat16
[flang] Fix crash on PARAMETER attribute applied to POINTER (#194885)
Issue #194725: This patch adds a POINTER check to the existing early-out guard in
`DeclarationVisitor::Pre(NamedConstantDef)` that already handles
CrayPointer/CrayPointee, so the error is diagnosed and we return before
reaching the assertion. A LIT test has been added as well.
Fix dynamic metadirective candidate selection
- Use one scored candidate path for static and dynamic metadirective variants.
- Dynamic user conditions are statically filtered and scored using their
non-user traits, then guarded at runtime with fir.if.
- Keeps construct/device/implementation traits enforced for dynamic
candidates and lets higher-scored static candidates beat lower-scored dynamic
candidates.
- Add regressions for construct mismatch, score ordering, and
implicit-nothing tie-breaking.
[VPlan] Run removeDeadRecipes early. (#190191)
The initial simplifyRecipes run can leave dead recipes, which
removeDeadRecipes can clean up, similar for dead instructions in the
input.
PR: https://github.com/llvm/llvm-project/pull/190191
sysutils/btop: Update to 1.4.7
Changes since 1.4.6:
Changelog v1.4.7
* Feat: Process following and following mode improvements.
* feat: Add Apple Silicon GPU support via IOReport API.
* feat: add Kanagawa Dragon theme.
* Add twilight theme.
* Add Swap upload/download speed graph option, Fix network graphs
overlap.
* Add Flexoki dark and light themes.
* Menu option to disable presets.
* Create orange.theme.
* Add E hotkey to collapse/expand all processes in tree mode.
* fix: restore Apple Silicon temp reporting on M2 Pro.
* fix regression from a switch to kIOMainPortDefault.
* Fix hide and info buttons.
* Fix mouse mapping for process kill buttons with vim keys enabled.
[22 lines not shown]
[clang] fix alias ctad producing function template with no template parameters
Also fixes the same problem with error recovery for invalid template template
parameters.
This also adds asserts to the template constructors to make sure this
doesn't happen again.
[SelectionDAG] Use Magic Algorithm for Splitting UDIV/UREM by Constant (#154968)
For integer types twice as large as a legal type, we have previously
generated a library call if another splitting technique was not
applicable.
With this change, we use an adaption of the Magic algorithm. This
algorithm is also used for UDIV/UREM by constants on legal types. The
implementation introduced here is a simple port of the already existing
implementation to types twice the size of a legal type. The core idea of
this algorithm is to replace (udiv x c) for a constant c with the bits
higher or equal to the s-th bit of the multiplication of x by (2^s +
o)/c
for some s and o. More details are available in Henry S. Warren, Jr.:
"Hacker's Delight", chapter 10.
An efficient handling of UDIV/UREM by constants on types twice as large
as a legal type is mostly relevant for 32-bit platforms. But some
projects may also benefit on 64-bit platforms. For example, the `fmt`
[3 lines not shown]
[lldb] Support arm64e in TestClearSBValueNonAddressableBits.py (#194748)
These values are expected to be different on arm64e where the raw
pointer value should have all the tagged bits and the stripped pointer
shouldn't.
[clang] fix alias ctad producing function template with no template parameters
Also fixes the same problem with error recovery for invalid template template
parameters.
This also adds asserts to the template constructors to make sure this
doesn't happen again.
[Coverage] Fix quadratic propagation in RawCoverageMappingReader (#194996)
```
llvm-cov export /tmp/Cov/bin/lld -instr-profile=/tmp/Cov/cov.profdata -format=lcov --sources lld/ELF/Arch/RISCV.cpp
```
does not finish after minutes.
Root cause: The expansion-region count propagation loop is bounded by
`VirtualFileMapping.size()`, the number of macro expansions.
In the TableGen-generated `RISCVGenDAGISel.inc` (depended on by
LLVMLTO), `NumFileMappings` is 74941 (largely due to the `TARGET_VAL`
macro). With 149887 mapping regions, the loop does not finish after more
than ten minutes.
Fix with an early break.
lang/gnat1?: fix build with GNU strip
After D55509 $STRIP_CMD has been set to GNU strip for these ports, and in some
cases this breaks, because GNU strip will refuse to strip non-writable files,
while LLVM strip is happy to (attempt to) strip them.
PR: 294657
Reported by: kib at FreeBSD.org
Reviewed by: kib at FreeBSD.org
Phabricator: D55509
MFC after: 8 days
(cherry picked from commit 3d69dd6df87f1ef85fb4869f15be3ddc6099e605)