[NFC][lldb] move m_stop_info and m_stop_description up a class (#201858)
Now that Windows also clears stale thread info on resume
(https://github.com/llvm/llvm-project/pull/201595), `m_stop_description`
and `m_stop_info` can be moved into `NativeThreadProtocol`.
rdar://178725507
[Hexagon] Fix arch attribute mapping in ELFObjectFile (#201531)
hexagonAttrToFeatureString in ELFObjectFile.cpp used a hardcoded switch
listing each supported Hexagon arch version. The switch was not kept in
sync, so .hexagon.attributes entries for newer versions returned
std::nullopt and were silently dropped. The disassembler then ran
without v68 enabled and valid instructions were rendered as <unknown> in
llvm-objdump output.
Replace the switch with `"v" + utostr(Attr)` so any current or future
arch version recorded in build attributes is translated to a subtarget
feature string automatically.
Fixes #201594
Signed-off-by: Rishabh Bali <rbali at qti.qualcomm.com>
Co-authored-by: Rishabh Bali <rbali at hu-rbali-hyd.qualcomm.com>
AMDGPU/UniformityAnalysis: MIR Uniformity analysis for INLINEASM
If any of the defs are divergent, need to report instruction as
NeverUniform so that isUniformReg can calculate uniformity for each def.
[lldb] Handle accelerator plugin breakpoint actions on the client (#201489)
Wire up the client (ProcessGDBRemote) side of the accelerator plugin
breakpoint protocol so the breakpoints requested by lldb-server
accelerator plugins are actually set, hit, and acted upon.
The below is a related packet sequence from the test could help to
better see things in action.
```
python3.12 < 104> send packet: $qSupported:xmlRegisters=i386,arm,mips,arc;multiprocess+;fork-events+;vfork-events+;swbreak+;hwbreak+#cd
python3.12 < 299> read packet: $PacketSize=131072;QStartNoAckMode+;qEcho+;native-signals+;QThreadSuffixSupported+;QListThreadsInStopReply+;qXfer:features:read+;QNonStop+;jMultiBreakpoint+;QPassSignals+;qXfer:auxv:read+;qXfer:libraries-svr4:read+;qXfer:siginfo:read+;accelerator-plugins+;multiprocess+;fork-events+;vfork-events+#86
python3.12 < 32> send packet: $jAcceleratorPluginInitialize#50
python3.12 < 238> read packet: $[{"breakpoints":[{"by_address":null,"by_name":{"function_name":"mock_gpu_accelerator_initialize","shlib":null}],"identifier":1,"symbol_names":["mock_gpu_accelerator_compute"]}]],"identifier":1,"plugin_name":"mock","session_name":""}]]#2f
python3.12 < 104> send packet: $qSupported:xmlRegisters=i386,arm,mips,arc;multiprocess+;fork-events+;vfork-events+;swbreak+;hwbreak+#cd
python3.12 < 299> read packet: $PacketSize=131072;QStartNoAckMode+;qEcho+;native-signals+;QThreadSuffixSupported+;QListThreadsInStopReply+;qXfer:features:read+;QNonStop+;jMultiBreakpoint+;QPassSignals+;qXfer:auxv:read+;qXfer:libraries-svr4:read+;qXfer:siginfo:read+;accelerator-plugins+;multiprocess+;fork-events+;vfork-events+#86
intern-state < 314> send packet: $jAcceleratorPluginBreakpointHit:{"breakpoint":{"by_address":null,"by_name":{"function_name":"mock_gpu_accelerator_initialize","shlib":null}],"identifier":1,"symbol_names":["mock_gpu_accelerator_compute"]}],"plugin_name":"mock","symbol_values":[{"name":"mock_gpu_accelerator_compute","value":94768064848192}]]}]#ef
intern-state < 360> read packet: ${"actions":{"breakpoints":[{"by_address":null,"by_name":{"function_name":"mock_gpu_accelerator_finish","shlib":"a.out"}],"identifier":3,"symbol_names":[]}],{"by_address":{"load_address":94768064848192}],"by_name":null,"identifier":2,"symbol_names":[]}]],"identifier":2,"plugin_name":"mock","session_name":""}],"auto_resume_native":false,"disable_bp":true}]#44
intern-state < 188> send packet: $jAcceleratorPluginBreakpointHit:{"breakpoint":{"by_address":{"load_address":94768064848192}],"by_name":null,"identifier":2,"symbol_names":[]}],"plugin_name":"mock","symbol_values":[]}]#fd
intern-state < 220> send packet: $jAcceleratorPluginBreakpointHit:{"breakpoint":{"by_address":null,"by_name":{"function_name":"mock_gpu_accelerator_finish","shlib":"a.out"}],"identifier":3,"symbol_names":[]}],"plugin_name":"mock","symbol_values":[]}]#d7
[22 lines not shown]
py-owslib: updated to 0.36.0
0.36.0
1013 fix csapi failing tests
Remove legacy setuptools.command.text
remove comments from xml, because it may fail parsing it
Fix FutureWarning when truth-testing XML element
docs: update WMS example
capture dct:spatial as bbox, if it contains a box
use only pyproject configuration
delegate HTTP 401 and 403 to Python requests
Update dev setup docs to pyproject.toml
Handle WFS version mismatch
py-cbor2: updated to 6.1.2
6.1.2
- Fixed incorrect tracking of string references for definite-length text strings of length greater
than 65536
- Fixed ``cbor2.load()`` crash caused by incorrect handling
of internal read buffer extension during stream deserialization.
[Dexter] Add label nodes for line references
This patch adds a !label node to Dexter scripts, which references lines at
a position in the source program marked with "!dex_label <identifier>". Each
label use can be given a positive or negative offset, and file lookup is
based on the provided --source-root-dir (using the test file's directory if
none is provided).
[clang][bytecode] Only count taken jumps as steps (#201845)
There are several large array declarations in llvm-libc. They usually
look similar to this:
```c++
alignas(16) inline constexpr LogRR LOG_TABLE = {
{
{Sign::POS, 0, 0_u128},
{Sign::POS, -134, 0x8080abac'46f38946'662d417c'ed007a46_u128},
{Sign::POS, -133, 0x8102b2c4'9ac23a4f'91d082dc'e3ddcd38_u128},
{Sign::POS, -133, 0xc2492946'4655f45c'da5f3cc0'b3251dbd_u128},
{Sign::POS, -132, 0x820aec4f'3a222380'b9e3aea6'c444ef07_u128},
// ...
```
the `_u128` is a user-defined literal, so the hex constant to the left
of it is actually a `StringLiteral` and the UDL converts that to a
different type by iterating over all chars. It calls one function per
char, and that function contains the usual switch statement over all
ASCII characters.
[15 lines not shown]
Revert "[BOLT][AArch64] Transform cmpbr ~> cmp + br when inversion not possible (#185731)" (#202309)
This reverts commit 6b13656fd8386f979e061cc97e32b607ee3fcdf4.
We have identified various bugs hence reverting:
* relaxLocalBranches() should account for BB growth and adjust subsequent BB offsets in fragment
* multiple parallel workers are sharing the same allocator in DataflowInfoManager
* liveness is run lazily, potentially after the CFG has been modified
config: add functional 26.7 / 15.1
* Rebase for 15.1-RC3, volatile/26.7 for now
* OpenSSL 3.5 with FIPS, ports-only for now
* plugins and core as -devel only for now
* SMP configs adjusted for stale options
* Removed ndproxy
* PHP 8.5
To review:
# diff -ur config/26.1 config/26.7
[analyzer] Trigger checkLifetimeEnd callback from CFGLifetimeEnds element
This patch adds handling of the `CFGLifetimeEnd` element to the CSA, and
produces a newly created callback `checkLifetimeEnd` for each occurrence
of it.
It is useful to implement detection of dangling pointers as in:
```
void su_use_after_block () { int* p=0; { int x=1; p=&x; } *p = 2; }
// ^ p dangles
```
This patch does not implement the check itself. it is motivated by the
discussion in
https://discourse.llvm.org/t/what-is-the-status-of-scopeend-and-scopebegin/90861
--
[4 lines not shown]