[RISCV][MC] Emit ISA mapping symbols on .option arch/rvc/norvc/pop (#193123)
When .option arch, .option rvc, .option norvc, or .option pop changes
the active ISA, emit a "$x<ISAString>" mapping symbol before the next
instruction so that tools can determine the ISA in effect for each code
region.
Also emit ISA mapping symbols on begin of first instruction to make sure
link with different object still can disassemble correctly.
Based on #67541
---------
Co-authored-by: Joseph.Faulls <Joseph.Faulls at imgtec.com>
[clang][modules] Fix false positive -Wweak-vtables in named modules (#193136)
The -Wweak-vtables warning was incorrectly firing for classes defined in
C++20 module units. This warning does not apply to module units as the
vtable should be owned by the module and emitted only once.
Fixes #193004
Reapply "[JTS][Passes] Enable JTS By Default" (#193409)
Reverts llvm/llvm-project#193399
The last assertion failure seen on the BOLT buildbot should be fixed by
ee06802dc4a85b4a05ae75c1853bca8e58f76f6d.
[JTS] Correctly handle all zero profile values in VP metadata (#193402)
We can end up with cases where the VP metadata only has zero profile
values, for example if all of the functions end up being external and
uninstrumented. This caused fixes an assertion failure on the BOLT
builder that came up last time we tried to turn the pass on by default.
[lldb] Fix potential TestAlwaysRunThreadNames flakiness (#193405)
Change the stepped function to spin on a flag until the helper thread
advances the counter, so the step-over can only complete if the helper
thread actually ran.
Fixes #193398
[llvm-mc][AsmMatcherEmitter] Fix the minimum ConversionTable entry size (#191977)
When working on a target with fully customized instruction
conversion method, there's a build failure due to the case that in the
target's generated asm matcher, the size of `ConversionTable` entry is 2
(i.e., the minimum size defined in `AsmMatcherEmitter` TableGen
backend).
However, for a target that has customized conversion method for all
instructions, a `ConversionTable` entry should be looking like: `{
CVT_<the-custom-conversion-method>, <the-position-of-operand>, CVT_Done
}`, where the position of operand for custom conversion is by-default 0.
This commit includes a test case to illustrate this scenario, along with
a little fix.
AMDGPU: Back-propagate wqm for sources of side-effect instruction
For readfirstlane instruction, as it would get undefined value if exec
is zero. To handle the case that only helper lanes execute the parent
block, we let the readfirstlane to execute under wqm. But this is not
enough. If the parent block was also executed by non-helper lanes, we
also need to make sure its sources were calculated under wqm. Otherwise,
if the instruction that generate the source of readfirstlane was
executed under exact mode, the value would contain garbage data in help
lane. The garbage data in helper lane maybe returned by the
readfirstlane running under wqm.
To fix this issue, we need to enforce the back-propagation of wqm for
instructions like readfirstlane. This was only done if the instruction
was possibly in the middle of wqm region (by checking OutNeeds).
[LV][RISCV][NFC] Add explicit LMUL controls via computeFeasibleMaxVF
Add components of maxVF and its support for scalable
vectorization. The default for unspecified RISCV is
LMUL=4 with this change, so some tests will have
the flag that controls max LMUL to extend to LMUL=8
when the request is made.
[LV][RISCV][NFC] Add explicit LMUL controls via computeFeasibleMaxVF
Add components of maxVF and its support for scalable
vectorization. The default for unspecified RISCV is
LMUL=4 with this change, so some tests will have
the flag that controls max LMUL to extend to LMUL=8
when the request is made.
[lldb] Add exe_ctx to examples commands (#193347)
Updates example python commands to use `SBExecutionContext` where
beneficial. This was to remove uses of
`GetSelected{Target,Thread,Frame}`.
While making this changes, I also renamed `dict` parameters to
`internal_dict`. In examples, it's better not to shadow `dict`, which is
the builtin type and constructor for dictionaries.
Lastly, I removed a command (`section_ptr_refs`) whose function was
disabled, and non-functional (it calls a non-existent function
`load_dylib`).
[clang-tidy] Suggest materializing temporary ranges in readability-use-anyofallof (#185791)
While the check still correctly identifies that the loop can be replaced
with `any_of`/`all_of`, reusing these temporaries directly in the
replacement is often unsafe or leads to compilation errors. So we
suggest a `note: ` for these cases.
Closes https://github.com/llvm/llvm-project/issues/185593