This patch adds a job to the bazel checks workflow to run the bazel
build/test. This patch only tests a couple projects just to get things
going. The plan is to expand to more projects eventually and setup a GCS
bucket for caching so jobs complete quickly by using cached artifacts.
This should add minimal load to the CI given the low frequency of bazel
PRs, and especially when we enable GCS based caching due to bazel's
effective use of caching. Google is also sponsoring the Linux Premerge
CI and is interested in having premerge bazel builds which is why it
makes sense to do premerge testing of this alternative build system
using those resources.
insertelt DestVec, (fneg (extractelt SrcVec, Index)), Index
-> shuffle DestVec, (shuffle (fneg SrcVec), poison, SrcMask), Mask
In previous, the above transform was only possible if the Extract/Insert
Index was the same; this patch makes the above transform possible
even if the two indexes are different.
Proof: https://alive2.llvm.org/ce/z/aDfdyG
Fixes: https://github.com/llvm/llvm-project/issues/125675
Add a command-line tool `llvm-cas` to inspect the OnDisk CAS for
debugging purpose. It can be used to lookup/update ObjectStore or
put/get cache entries from ActionCache, together with other debugging
capabilities.
This patch fixes the unexpected result in monotonicity check for
`@step_is_variant` in `monotonicity-no-wrap-flags.ll`. Currently, the
SCEV is considered non-monotonic if it contains an expression which is
neither loop-invariant nor an affine addrec. In `@step_is_variant`, the
`offset_i` satisfies this condition, but `offset_i + j` was classified
as monotonic.
The root cause is that a non-outermost loop was passed to monotonicity
checker instead of the outermost one. This patch ensures that the
correct outermost loop is passed.
We weren't setting `m_should_detach` when going through the
`DoConnectRemote` code path. This meant that when you would attaches to
a remote process with `gdb-remote <port>` and use Ctrl+D, it would kill
the process instead of detach from it.
rdar://156111423
Add a number of simple target shuffles (fixed shuffle mask or simple
immediate control) to
isGuaranteedNotToBeUndefOrPoison/canCreateUndefOrPoisonForTargetNode
that have known test coverage and obviously don't introduce
undef/poison.
These were found by adding an assert for unhandled target shuffles and
running over CodeGen/X86 - providing explicit test coverage is
incredibly difficult as ISD::VECTOR_SHUFFLE nodes will typically handle
freeze nodes before we lower to these target shuffle nodes.
This patch is limited to single-word replacements to fix spelling
and/or grammar to ease the review process. Punctuation and markdown
fixes are specifically excluded.
This fixes incompleteness and inconsistency for test files added in
adc7932461, by
- renaming
`libcxx/test/std/time/time.traits.is.clock/trait.is.clock.compile.pass.cpp`
to `libcxx/test/std/time/time.traits/is.clock.compile.pass.cpp`,
- renaming
`libcxx/test/libcxx/time/time.traits.is.clock/trait.is.clock.compile.verify.cpp`
to `libcxx/test/libcxx/time/time.traits/is.clock.verify.cpp` , and
- adding comments clarifying what are being tested.
List-directed child input is allowed to advance to new records in some
circumstances, and list-directed output should be as well so that e.g.
NAMELIST output via a defined WRITE(FORMATTED) generic doesn't get
truncated by FORT_FMT_RECL.
Fixes https://github.com/llvm/llvm-project/issues/166804.
When an overflow or other floating-point exception occurs at compilation
time while folding a conversion of a math library call to a smaller
type, don't confuse the user by mentioning the conversion; just note
that the exception was noted while folding the intrinsic function.
Currently we handle BoxChars separately and a little differently to the
other BoxType's, however realistically they can be handled the same and
should be to simplify the pass as much as we can.
In C++17, static constexpr members are implicitly inline, so they no
longer require an out-of-line definition.
The comments for these variables are also present in:
mlir/include/mlir/Dialect/Bufferization/IR/BufferizationBase.td
Identified with readability-redundant-declaration.
In C++17, static constexpr members are implicitly inline, so they no
longer require an out-of-line definition.
Identified with readability-redundant-declaration.
In C++17, static constexpr members are implicitly inline, so they no
longer require an out-of-line definition.
Identified with readability-redundant-declaration.
In C++17, static constexpr members are implicitly inline, so they no
longer require an out-of-line definition.
Identified with readability-redundant-declaration.
Transform sequences like:
```
s_cselect_b64 s[12:13], -1, 0
s_or_b32 s6, s12, s13
```
where s6 is dead to:
`s_cselect_b64 s[12:13], -1, 0`
---------
Signed-off-by: John Lu <John.Lu@amd.com>
Add support for the following new AArch64 Neon intrinsics:
```
float16x8_t vmmlaq_f16_mf8_fpm(float16x8_t, mfloat8x16_t, mfloat8x16_t, fpm_t);
float32x4_t vmmlaq_f32_mf8_fpm(float32x4_t, mfloat8x16_t, mfloat8x16_t, fpm_t);
```
normal lines and PP directives.
Handling PP directives differently can be desired, like in #161848.
Changing the default is not an option, there are tests for exactly the
current behaviour.
Updates the derived Op-classes for the main transform ops to have all
the arguments, etc, from the auto-generated classes. Additionally
updates and adds missing snake_case wrappers for the derived classes
which shadow the snake_case wrappers of the auto-generated classes,
which were hitherto exposed alongside the derived classes.
Generalize handleMaxMinNumReductions to handle any number of
F(Max|Min)Num reductions by collecting a vector of reductions to
convert.
We then add NaN checks for all of them, followed by adjusting the branch
controlling the vector loop region, and updating the resume phis.
Addresses a TODO from https://github.com/llvm/llvm-project/pull/148239
PR: https://github.com/llvm/llvm-project/pull/161735
PDB doesn't include the typedefs for types, so all types use their full
name. For `std::string` and friends, this means they show up as
`std::basic_string<char, std::char_traits<char>, std::allocator<char>>`.
This PR updates the `std::{,w,u8,u16,u32}string(_view)` tests to account
for this and runs them with PDB.
This patch introduces a new virtual method
`TargetInstrInfo::isSafeToMove()` to allow backends to control whether a
machine instruction can be safely moved by optimization passes.
The `BranchFolder` pass now respects this hook when hoisting common
code. By default, all instructions are considered safe to to move.
For LoongArch, `isSafeToMove()` is overridden to prevent
relocation-related instruction sequences (e.g. PC-relative addressing
and calls) from being broken by instruction motion. Correspondingly,
`isSchedulingBoundary()` is updated to reuse this logic for consistency.
Fixes#163681
This PR aims at fixing the nvdsl examples which got a bit out of sync
not being tested in the CI.
The fixed bugs were related to the following PRs:
- move to nanobind #118583
- split gpu module initialization #135478