[AArch64][GlobalISel] Merge SDAG check into GlobalISel check
As GlobalISel no longer fails to lower these intrinsics, and SDAG and GI generated code is identical, the two test checks can safely be merged into one.
[AArch64][GloballISel] Put result of fp16 -> s16 convert intrinsic on fpr
Previously, RegBankSelect would place the result of an fp16 -> s16 conversion intrinsic on a gpr. This would cause Instruction Selection to fail, as there are no 16-bit gprs.
Floating point convert intrinsics affected:
fcvtnu / fcvtns
fcvtau / fcvtas
fcvtmu / fcvtms
fcvtpu / fcvtps
[Object][ELF] Fix section header zero check
The PN_XUM is a necessary condition for reading shdr0
regardless of the value of e_shoff. Without this,
readShdrZero falsely returns the garbage value in ELF
header instead of emitting warning.
devel/git-flow-next: Add new port
Modern reimplementation of git-flow in Go that offers greater
flexibility while maintaining backward compatibility with the original
git-flow and git-flow-avh.
PR: 293234
[clang][ARM] Refactor argument handling in `EmitAArch64BuiltinExpr` (NFC)
Refactor `EmitAArch64BuiltinExpr` so that all AArch64/NEON builtins
handled by this hook share a common path for generating LLVM IR
arguments (collected into the `Ops` SmallVector<Value*>).
Previously, the argument emission loop unconditionally skipped the
trailing argument:
```cpp
for (unsigned i = 0, e = E->getNumArgs() - 1; i != e; ++i)
```
This was originally intended to ignore the extra Sema-only argument
used by overloaded NEON builtins (e.g. the type discriminator passed
by `__builtin_neon_*` intrinsics). However, this logic was applied
unconditionally.
This patch updates the loop to skip the trailing argument only when
[28 lines not shown]
[lldb] Improve ansi::OutputWordWrappedLines (#181165)
This PR fixes a few issues including one that prevented the use of
llvm::StringRef. Follow up to #180947.
Some behaviour for rarely seen inputs has been defined. For example
empty strings. In normal use with command descriptions we do not expect
this to happen, but now it's a utility function, it's easier to reason
about if we cover all possible inputs.
* Empty string in now results in an empty string out. Rather than a
single newline. This is less surprising, since no lines were split.
* Bugs were fixed in the handling of single word inputs. If a single
word cannot fit within the column limit we just print it unmodified.
* Leading spaces are trimmed from input and if that results in no text,
empty string is returned. Another unexpected input, but cheap to handle
and makes the rest of the code a bit simpler.
* llvm::StringRef is now used for the input text. This was enabled by
fixing a bug in checking whether end had reached final_end. I think the
[6 lines not shown]
[clang] Fix some static initialization race-conditions (#181367)
- clang/StaticAnalyzer: fix static init in findKnownClass. Prior to this patch two threads running in findKnownClass could result in a race condition.
- clang/Stmt: fix StmtClassNameTable array initialization: prior to this patch there was a race condition when two threads check`if(Initialized)` at the same time.
- clang/ParsedAttrInfo: fix race condition in getAttributePluginInstances. Prior to this patch two threads could enter `if(empty())` check.
- clang/CodeGen: correctly restore diagnostic handler in HandleTranslationUnit. Prior to this patch an early exit from HandleTranslationUnit could result in not restoring previous diagnostic handler.
[MC][ARM] Don't set funcs to Thumb as a side effect of .hidden (#181156)
When assembling a source file which switches between Arm and Thumb state
using `.arm` and `.thumb`, if you defined a function in Arm state and
mark it as hidden at dynamic link time using `.hidden`, but don't
actually issue the `.hidden` directive until you have switched back to
Thumb state, then the function would be accidentally marked as Thumb as
a side effect of making it hidden.
This happened in `ARMELFStreamer::emitSymbolAttribute`, and the comment
suggests that it was semi-deliberate: it was intended to happen as a
side effect of `.type foo,%function`, because the function label might
have already been defined without a type, and shouldn't be marked as
Thumb until it's known that it's a function. But I think it was an
accident that the same behavior also applies to any other addition of a
symbol attribute, such as `.hidden`: the call to `setIsThumbFunc` was
conditioned on whether the symbol has function type after setting the
attribute, not whether function type was the attribute _actually being
set_. So if you set the symbol to function type and _then_ use
[9 lines not shown]
py-hanko: updated to 0.33.0
0.33.0
New features and enhancements
Signing
Explicitly define a no-op stamping style
Miscellaneous
Integrate some actual signing hardware into CI processes.
Bugs fixed
Use embedded intermediate certificates when validating existing timestamps.
Take 2 on attempted build fix.
The issue seems to be the
#define makequietsignallingl makequietsignalling
which happens when ! defined(__HAVE_LONG_DOUBLE)
That worked before as
long double f = makequietsignalling(...);
(effectively) just did a type conversion from double to long double
(which might be a no-op, but is still a type conversion) and so was
OK.
But the new method
makequietsignalling(&ldvar, ...)
[10 lines not shown]
interfaces: multi-dhcp6c support and custom PD association #7647
This splits off rtsold and dhcp6c into separate processes
which frees us from the restrictions of faked iterative IDs
for PD associations. For NA we simply default to 0 now.
I'm not entirely sure why we settled for a single deamon of
dhcp6c back in the day, but there are certianly downsides to
it and I don't see something that wasn't fixed in the meantime
that makes this not work.
[AArch64] optimize manual addp (#181549)
add patterns for 64-bit `addp` and `faddp`
```
vpadd_s16_intrin:
addp v0.4h, v0.4h, v1.4h
ret
vpadd_s16_manual:
uzp1 v2.4h, v0.4h, v1.4h
uzp2 v0.4h, v0.4h, v1.4h
add v0.4h, v2.4h, v0.4h
ret
```
So, add some logic to catch the deinterleaving shuffle and convert to
`addp`.
AMDGPU: Use fpmath metadata on f16 log/log10 intrinsics (#180489)
result by default, and the old expansion with the afn flag. The
old result was good enough for OpenCL conformance, so consider
the fpmath metadata and use the fast path. This is done in
AMDGPUCodeGenPrepare for the same reason that sqrt is handled here,
which is the DAG does not have a way to access fpmath metadata
from the original instruction.
This is not yet of practical use, because the log calls sourced
from OpenCL are not actually marked with this metadata and there
isn't a method to produce it from the source languages.
[Flang][OpenMP] Fix nested PARALLEL SECTIONS validation (#179419)
### Problem
Flang’s OpenMP semantic checker was mistakenly rejecting valid nested
constructs such as PARALLEL SECTIONS, PARALLEL DO, and other combined
parallel work-sharing directives.
The checker treated all work-sharing constructs identically and enforced
the work-sharing region nesting rules, even for a combined parallel
work-sharing construct that defined its own parallel region.
This resulted in the checker reporting the use of nested PARALLEL
SECTIONS within another parallel region as illegal OpenMP code
### Fixes: https://github.com/llvm/llvm-project/issues/179250
---------
Co-authored-by: Jay Satish Kumar Patel <kumarpat at pe31.hpc.amslabs.hpecorp.net>