[mlir][Utils] Add verifyRanksMatch helper (NFC) (#175880)
This change builds on https://github.com/llvm/llvm-project/pull/174336,
which introduced shared VerificationUtils with an initial
verifyDynamicDimensionCount() method.
This patch adds a new verifyRanksMatch() verification utility that
checks if two shaped types have matching ranks and emits consistent
error messages. The utility is applied to several ops across multiple
MLIR dialects.
---------
Co-authored-by: Andrzej Warzyński <andrzej.warzynski at gmail.com>
math/manifold: Improve port
* Use upstream release archive
* Define LICENSE_FILE
* Clean up "make test" related parts
* Only extract samples dir on request (reduces I/O)
* Respect C/CXX flags set by framework
* Adjust Makefile layout to follow Porters Handbook more closely
and the tree overall
PR: 292089
Approved by: blanket (just fix it)
editors/micro: Update to 2.0.15
* Remove pre-build section
* Adjust passed build related strings so final binary is more likely
to match for reproducible builds
Changelog: https://github.com/zyedidia/micro/releases/tag/v2.0.15
PR: 292107
Approved by: maintainer timeout, 2+ weeks
[VPlan] Normalize selects to always select the data op when cond is true.
Fix a miscompile in the FindLast handling by normalizing selects
with the phi node as the first op to ones that select the data value
when the condition is true, by swapping operands and inverting the
condition.
This should ensure correct codegen for both cases.
Select normalization:
https://alive2.llvm.org/ce/z/yFdivK
Fixes a miscompile reported for 2abd6d6d7ac (#158088).
[TwoAddressInstruction][NPM] Conditionally preserve SlotIndexes in NPM (#173536)
In the New PM, `SlotIndexesAnalysis` should only be preserved when
`LiveIntervals` was cached and available, as `SlotIndexes` are only
maintained when `LiveIntervals` analysis is available.
This fixes potential stale `SlotIndexes` issues when running with NPM
where `LiveIntervals` analysis wasn't requested by prior passes.
nanobsd: Add a NO_ROOT build option
Add a -U option to build NanoBSD images without root privileges. It
relies on makefs/mkimg and metalog (mtree) files, similar to what
release engineering uses to build images.
Keep the current way to build NanoBSD images untouched. Once this
method gets battle tested, it may be used to build images as root as
well.
Reviewed by: imp, emaste
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D48793
nanobsd: Add a provisional populate /data function
Add a provisional _populate_data_part function. It populates the
optional /data partition, but using makefs(8), which is more in-line
with what release engineering uses to create images.
Reviewed by: emaste
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D48792
nanobsd: Add a provisional populate /cfg function
Add a provisional _populate_cfg_part function. It populates the /cfg
partition, but using makefs(8), which is more in-line with what release
engineering uses to create images.
Reviewed by: imp
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D48791
nanobsd: Add a provisional populate_part function
Add a _populate_part(ition) function that mimics the current
populate_slice. Note however, that this function is not
backward-compatible with populate_slice, hence the different name. A
"_" is prepended to signal that it still experimental.
It can be used to populate the /cfg and /data partition using makefs(8).
Initially not wired.
Reviewed by: imp
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D48790
nanobsd: Add a nano_makefs function
Add a NANO_MAKEFS global variable with options equivalent to NANO_NEWFS
to be used with a nano_makefs function for creating images.
Also add a function that adjusts the code size calculation, so makefs -s
won't error about the minimum rounded size. Ideally this shim should be
removed, therefore the suspicious _xxx prefix.
Initially not wired.
Reviewed by: imp
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D48789
nanobsd: Switch the / partition in fstab
Introduce a function tgt_switch_root_fstab() that switches the root
partition in the target file system tab file. Initially not wired.
Reviewed by: imp
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D48788
nanobsd: Add a NANO_TIMESTAMP variable
Initially not wired, this variable will hold the time stamp for all the
files of the final image.
By default uses the last commit time stamp, if empty, it will use the
start time of the NanoBSD build.
Reviewed by: imp
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D48787