[offload] Disable tests that fail on NVIDIA GPUs (#219227)
unified_shared_memory tests that use HSA_XNACK were missing REQUIRES:
amdgpu and the rest of the tests fail or timeout for some NVIDIA GPU
configurations.
This is to get an initial fully passing state for the tests on NVIDIA -
fixing will be a follow up.
biology/py-dna-features-viewer: Update to 3.1.5
Code modernization and clean up
Changes: https://github.com/Edinburgh-Genome-Foundry/\
DnaFeaturesViewer/releases
Reported by: portscout
[flang-rt][cuda] Build io-stmt-minimal.cpp as CUDA in the thin I/O PTX target (#219250)
In enable_cuda_compilation(), LANGUAGE CUDA and the CUDA compile options
are set on ${files}. The thin I/O PTX target appends io-stmt-minimal.cpp
to the source list, but that file is not part of ${files}, so it never
receives those properties. It is compiled as plain C++, produces no PTX
in a target with CUDA_PTX_COMPILATION enabled, and none of its
definitions reach the device library.
Since thin I/O also drops io-stmt.cpp and io-error.cpp, the symbols they
provided end up undefined, and device-side list-directed output fails at
link time, e.g.:
```
ptxas fatal : Unresolved extern function
'_ZN7Fortran7runtime2io24ExternalIoStatementStateILNS1_9DirectionE0EEC2ERNS1_16ExternalFileUnitEPKci'
```
Set LANGUAGE CUDA and the CUDA compile options on io-stmt-minimal.cpp so
it is`compiled as device code.
[lldb] Add builtin register type representation (#218725)
This patch introduces `RegisterTypeBuiltin`, an internal representation
of GDB predefined types such as `uint32`, `bool`, `ieee_half`, and
`data_ptr`.
- Store each builtin's encoding, display format, and optional fixed byte
size.
- Use `std::nullopt` for target-dependent types such as pointers.
- Teach `RegisterTypeBuilderClang` to create the corresponding Clang
`CompilerType`.
- Validate that the resulting type exactly matches the register size.
- Do not serialize builtins because GDB defines them implicitly by name.
- Add tests for fixed-size, named, pointer-sized, mismatched, and
non-serialized builtins.
This provides the scalar element types needed to build register vectors
in later patches. It does not parse or display vectors yet.
Co-authored-by: Bar Soloveychik <barsolo at fb.com>
[lldb] Remove ConstString from Language::MethodName (#218556)
This is a precursor to changing Module::LookupInfo (which uses
MethodName to extract basenames from inputs).
[lldb][NFC] Move VectorIterator to CPlusPlusLanguage (#218776)
The VectorIterator header was still in DataFormatter so I moved it.
While I was there, I also moved the implementation to its own file to
mimic other SyntheticChildrenFrontEnds (e.g. Coroutines).
[lldb] Change type of section names in ObjectFileWasm (#218549)
I plan on replacing the String type in LLDB's Section class. I'm
replacing all existing section definitions first.
[X86] Add TuningSlowPDEP/PEXT flags and control vector PDEP/PEXT scalarization with them (REAPPLIED) (#219246)
bdver4/znver1/znver2 have notoriously bad implementations of the
PDEP/PEXT scalar instructions - we're much better off keeping vector
expansions
Reapplied from #218980 after reversion at #219210 due to change in
pdep/pext scheduling at #217304
[analyzer] Do not attempt transition from sink node (#218970)
The method `CheckerContext::addSink`, which was added in 2020 by commit
1c8f999e0b59731a4214f76528f83e4196e1fcc3 contained the following code:
```
addTransition(State, generateSink(State, getPredecessor()))
```
At first glance this looks as if this generates a sink then transitions
TO that sink node; but in fact `generateSink` already adds the freshly
generated sink node to the graph, and then `addTransition` tries to add
a transition FROM the sink to a freshly generated non-sink node.
Note that `ExplodedNode::addPredecessor` (which is called by `makeNode`
to connect the freshly created node to its parent) asserts that the
parent node is not a sink -- but this assertion is narrowly dodged
because the early return at the beginning of
`CheckerContext::addTransitionImpl` is practically always [1] triggered
by the `addTransition` call in `addSink`. Due to this early return
`makeNode` is never reached and `addTransition` does nothing.
[22 lines not shown]
[analyzer][docs] Add documentation for the UseAfterLifetimeEnd checker (#218272)
In order to move the UseAfterLifetimeEnd checker out of alpha it needs a
documentation the user can get information from. This PR added the
documentation for the checker. Currently the documentation sits in the
alpha.core category, but once we move the checker out of alpha stage it
should be changed as well.
This PR is stacked on #216739 and also a supersedes #217122.
---------
Co-authored-by: Balázs Benics <benicsbalazs at gmail.com>