[X86] isHorizontalBinOp - discard any shuffle that resolves to an all sentinel shuffle mask (#175931)
If the mask resolves to all-undef/zero then it can't be used - these can
theoretically appear if we're combining before the source operands have
constant folded away (in this case due to the avg intrinsic not folding
away until later into legalisation) - yet another case of working around
a poorly topological sorted DAG
Fixes #175802
[analyzer] Invalidate the object in opaque ctor calls regardless if an arg refers to it (#170887)
The conservative call invalidation logic is a bit complicated, and would
deserve some refactoring.
When a call has some arguments, we escape them. Except, if its a pointer
to constant storage - because we assume that the program honors
const-correctness.
In that case, it puts it in the "Preserved" list to keep its contents.
However, if we had a constructor call that's job is to initialize an
object had a const pointer/reference parameter then the invalidation
didn't take place.
This meant that if the object was on the stack, that we start warning
about uninitialized fields when accessed. (See the example) Similar
could be achieved on the heap of course.
We should have honored the fact that the constructor should initialize
[7 lines not shown]
[Metadata][profcheck] Handle identical MDNodes in getMergedProfMetadata
This fixes a bug where !prof metadata was dropped from SelectInsts when GVN simplified/merged them.
Guarded by -profcheck-disable-metadata-fixes. Exposed by the tests in
Transforms/SampleProfile.
[AArch64] Add lowering for NEON saturating shift intrinsics (#171485)
This patch extends on the work done in #161840 and adds lowering with
bitcasts for saturating shift intrinsics.
bootimage: fix a build error of zaurus live-image on parallel build
Add an explicit dependency of ${FATFILES} on ${TARGETFS} since
necessary files are assumed to be extracted during ${TARGETFS} image
build (not sure how it worked before).
Should be pulled up to netbsd-11.
[flang][NFC] Converted five tests from old lowering to new lowering (part 8) (#175881)
Tests converted from test/Lower: block.f90, call-copy-in-out.f90,
call-implicit.f90, call.f90, character-compare.f90
pfctl: allow new page character (^L) in pf.conf
PF configuration files can contains many things.
Using the new page characters (i.e. ^L, \014) to mark the beginning
of parts is useful because many editors such as emacs and vim has
facilities to jump next/previous ones.
PR: 86635
MFC after: 2 weeks
Submitted by: MOROHOSHI Akihiko <moro at remus.dti.ne.jp>
Submitted by: Simon Wollwage <rootnode+freebsd at wollwage.com>
Sponsored by: Rubicon Communications, LLC ("Netgate")
[DAG] SDPatternMatch - Implement m_IntrinsicWOChain matchers (#175626)
Resolve #174436
Implemented matchers for intrinsics.
The usage looks something like:
```cpp
sd_match(N , m_IntrinsicWOChain<Intrinsic::${INTRINSIC_ID}>(/* match possible operands of the intrinsic */));
```