[RISCV] Add cost for @llvm.vector.splice.{left,right} (#179219)
Currently vector splice intrinsics are costed through getShuffleCost
when the offset is fixed. When the offset is variable though we can't
use a shuffle mask so it currently returns invalid.
This implements the cost in RISCVTTIImpl::getIntrinsicInstrCost as the
cost of a slideup and a slidedown, which matches the codegen.
It also implements the type based cost whenever the offset argument
isn't available.
It may be possible to reduce the cost in future when one of the vector
operands is known to be poison, in which case we only generate a single
slideup or slidedown.
tests: fix tests broken by #9744
The static option list caching mechanism is now invoked over a
nonexistant config.xm; caching no interfaces for the "*" static
options key. In order to fix that add a reset for the list.
Would be nicer to move reset to BaseListField since a number
of fields use the static option list for caching but they all
define their own.
Remove assumption that known type UIDs have a local alias
Currently this changes nothing, as all known types have a known
name (aka description), which is unlikely to ever change, and have
been assigned an alias for use with gpt -- which might change in the
future if we learn about types which no-one is ever likely to want
to use gpt(8) to create (but which might exist in tables processed).
Avoiding the assumptions is cheap (for both alias and name), so just
do it, and no-one will ever need to care in the future.
AMDGPU: Add syntax for s_wait_event values
Previously this would just print hex values. Print names for the
recognized values, matching the sp3 syntax.
[RISCV][TTI] Adjust the cost of `llvm.abs` intrinsic when `Zvabd` exists
When `Zvabd` exists, `llvm.abs` is lowered to `vabs.v` so the cost
is 1.
Reviewers: mshockwave, topperc, lukel97, skachkov-sc, preames
Reviewed By: topperc
Pull Request: https://github.com/llvm/llvm-project/pull/180146
AMDGPU: Add llvm.amdgcn.s.wait.event intrinsic (#180170)
Exactly match the s_wait_event instruction. For some reason we already
had this instruction used through llvm.amdgcn.s.wait.event.export.ready,
but that hardcodes a specific value. This should really be a bitmask
that
can combine multiple wait types.
gfx11 -> gfx12 broke compatabilty in a weird way, by inverting the
interpretation of the bit but also shifting the used bit by 1. Simplify
the selection of the old intrinsic by just using the magic number 2,
which should satisfy both cases.
tests: one more for protocol replacements; closes #9744
The tests aren't complete but they do cover parseReplaceSimple()
in its latest form so that's good enough.
Just as a note the tests are designed to be render-agnostic so
that we always start with our rule input and produce pf.conf
compatible rulesets with the tests. There are two purposes here:
1. Catch regressions when parsers are changed and that also includes
switching the parser implementation completely in the future.
2. Make sure that the files are actually compilable by pf.conf and
this should be covered later (the conf files are there on the
disk for that purpose).
This is the right type of testing for the purpose since the pf.conf
syntax is virtually static and will require little maintenance.
Just needs a lot more coverage for the missing features/rule types.
CONTRIBUTING.md: Fix links to section
Signed-off-by: Minsoo Choo <minsoochoo0122 at proton.me>
Sponsored by: The FreeBSD Foundation
Pull Request: https://github.com/freebsd/freebsd-src/pull/2010
[ARM] Treat strictfp vector rounding operations as legal
Previously, the strictfp variants of rounding operations (FLOOR, ROUND,
etc) were handled in SelectionDAG via the default expansion, which
splits vector operation into scalar ones. This results in less efficient
code.
This change declares the strictfp counterparts of the vector rounding
operations as legal and modifies existing rules in tablegen descriptions
accordingly.
spiped: update to 1.6.4.
spiped-1.6.4
* Fixes a bug which can cause spiped to abort if a RST packet arrives
from one side of a pipe at the same time as a FIN packet arrives from
the other end.
spiped-1.6.3
* Add -b <bind address> (spiped and spipe) to bind the outgoing address.
spiped-1.6.2
* Warn if the maximum number of connections is reached in spiped.
* Add --syslog (spiped) to send warnings to syslog when daemonized.
* Significantly improve performance of AES-CTR and SHA256 on amd64 and aarch64.
* Add ability to suppress POSIX runtime checks during compilation to simplify
cross-compiling.
www/gohugo: Update to 0.155.3
ChangeLog: https://github.com/gohugoio/hugo/releases/tag/v0.155.3
* hugolib: Don't render default site redirect for non-primary isHTML output
formats
* server: Fix stuck server global error logging
* build(deps): bump github.com/evanw/esbuild from 0.27.2 to 0.27.3
* server: Fix panic when the server browser error handler tried to use a config
in a state of flux
Approved by: doceng@ (implicit)
[Clang][HIP][CUDA] Validate that variable type fits in address spaces (#178909)
Currently, Clang only checks arrays and structures for size at a
top-level view, that is it does not consider whether they will fit in
the address space when applying the address space attribute. This can
lead to situations where a variable is declared in an address space but
its type is too large to fit in that address space, leading to
potentially invalid modules.
This patch proposes a fix for this by checking the size of the type
against the maximum size that can be addressed in the given address
space when applying the address space attribute.
This does not currently handle instantiations of dependent variables, as
the attributes are not re-processesd at that time. This is planned for
further investigation and a follow-up patch.
---------
Signed-off-by: Steffen Holst Larsen <HolstLarsen.Steffen at amd.com>
Co-authored-by: Steffen Holst Larsen <HolstLarsen.Steffen at amd.com>