[VPlan] Pass underlying instr to getMemoryOpCost in ::computeCost.
Pass underlying instruction to getMemoryOpCost in
VPReplicateRecipe::computeCost if UsedByLoadStoreAddress is true.
Some targets use the underlying instruction to improve costs,
and this is needed to match the legacy cost model.
Fixes https://github.com/llvm/llvm-project/issues/177780.
Fixes https://github.com/llvm/llvm-project/issues/177772.
[VPlan] Fall back to legacy cost model if PtrSCEV is nullptr.
There are some cases when PtrSCEV can be nullptr. Fall back to legacy
cost model, to not call isLoopInvariant with nullptr.
Fixes a crash after 0c4f8094939d2.
[BOLT] Don't fold hot text mover functions in ICF (#180367)
Hot text mover functions are placed in special sections (e.g.,
.never_hugify) to avoid being placed on hot/huge pages. Folding them
with functions from other sections could defeat this purpose.
Add a check in ICF's isIdenticalWith() to prevent folding when either
function is a hot text mover.
[AMDGPU] Fix instruction size for 64-bit literal constant operands
PR #156602 changed the condition for using 64-bit literal encoding, but it
didn't update the instruction size calculation. This caused a size mismatch
between the `MachineInstr` and the `MCInst`.
[PowerPC] Use MCAssembler::getEmitter instead of getEmitterPtr. NFC
PPCELFStreamer and PPCXCOFFStreamer are MCObjectStreamer subclasses
where the emitter is guaranteed non-null. Use getEmitter() instead of
getEmitterPtr(). getEmitterPtr is reserved for MCAsmStreamer users.
MC: Move generateCompactUnwindEncodings to MCObjectStreamer. NFC (#180381)
... removing the need to pass MCAsmBackend as a parameter.
This allows MCStreamer.cpp to not include MCAsmBackend.h.
[libclang/python] Type-annotate SourceLocation and SourceRange (#180193)
This adds type annotations to the `SourceLocation` and `SourceRange`
classes, enough to pass a strict typecheck. This resolves 29 strict
typing errors as the next step towards
https://github.com/llvm/llvm-project/issues/76664