[lldb-dap] Migrate lldb-dap tests in `lldb-dap/breakpoint` (#208166)
migrate breakpointLocations, logpoints, setBreakpoints
exceptionBreakpoints and functionBreakpoints test
[MCSched] Allow tuning LoadLatency/MispredictPenalty (#203139)
This means an existing scheduling model can be tweaked at runtime to
support an unknown processor rather than adding an entirely new model.
This is done with TargetSubtargetInfo so that specific targets can
override the relevant callbacks and the mechanism can eventually work
with LTO.
[libc][baremetal] expose `malloc_usable_size` from freelist heap (#208337)
Expose the `malloc_usable_size` API by reconstruct the `BlockRef` from a
pointer to the head of user payload. The operation is cheap as we only
do a query to the block header to obtain the metadata.
Assisted-by: Gemini based automation tools (human-in-the-loop)
[BOLT] Skip function instead of aborting on jump table analysis failure (#206742)
`analyzeJumpTable()` runs twice on a candidate jump table: once from
`analyzeMemoryAt` while the referencing function is being disassembled,
and
again from `populateJumpTables()` after disassembly. The second run is
stricter,
because the check that an entry points at an instruction
(`getInstructionAtOffset`) only fires once the target function reaches
the
`Disassembled` state. A table can therefore be accepted the first time
and
rejected the second -- for instance when an entry lands at an address
with no
instruction (a symbol whose declared size is larger than its
disassembled
extent). `populateJumpTables()` reached `llvm_unreachable("jump table
heuristic
failure")` and aborted in that case.
[14 lines not shown]
[flang][cuda] Decouple CUFInit from CUDA language features (#209846)
In some cases, we do not want to emit the CUFInit function in the main.
Add a specific language feature for it so we can decouple it.
[TableGen][GISel] Fix Matcher Creation for C++23 libc++ (#209783)
libc++ in C++23 mode evaluates make_unique eagerly, which requires
InstructionMatcher to be defined at the constexpr call to make_unique.
Currently, it's defined later in the file.
This patch moves the call to make_unique to the C++ file so that
InstructionMatcher is fully defined at time of instantiation.
[CIR] Fix a pair of CIR Build failures: (#209896)
HLSL added a bunch of diagnostics for entry functions that messed with
the matrix test, see here:
https://github.com/llvm/llvm-project/pull/184892/
The solution is to just mark the test as a library triple.
Builtin-trap stopped translating in classic codegen, so the call after
it is now missing (and there is an unreachable after it),w hich actually
better matches our behavior see:
https://github.com/llvm/llvm-project/pull/197789
This patch fixes both tests.
[NFC][PowerPC] Delete redundant ISD::TRUNCATE from setTargetDAGCombine (#200902)
there is
```
setTargetDAGCombine({ISD::TRUNCATE, ISD::VECTOR_SHUFFLE});
if (Subtarget.useCRBits()) {
setTargetDAGCombine({ISD::TRUNCATE, ISD::SETCC, ISD::SELECT_CC}); }
```
we do not need to set the (ISD::TRUNCATE again when
Subtarget.useCRBits()
[flang][cuda] Skip implicit managed/unified attribution for COMMON objects (#209855)
Objects in Fortran `COMMON` blocks may not carry `ATTRIBUTES(MANAGED)`
or `ATTRIBUTES(UNIFIED)`. The implicit attribution added in
[#209292](https://github.com/llvm/llvm-project/pull/209292) did not
account for this, causing a spurious semantic error when a pointer in a
`COMMON` block was implicitly attributed. This change adds a
`!object->commonBlock()` guard to `SetImplicitCUDADataAttr` so that
COMMON members are left unattributed.