[SandboxVec][Legality] Fix a warning when build with GCC (NFC) (#214907)
Remove `maybe_unused` attribute from ResultReason member, beacuse it
used in `getReason` method. This PR fixes:
llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Legality.h:186:33:
error: ‘maybe_unused’ attribute ignored [-Werror=attributes]
186 | [[maybe_unused]] ResultReason Reason;
| ^~~~~~
[ORC] Construct EPCGenericMemoryAccess from ExecutionSession. (#215097)
Construct EPCGenericMemoryAccess objects from ExecutionSessions, rather
than ExecutorProcessControl objects. This is a step towards migrating
EPCGenericMemoryAccess off of raw callSPSWrapper* calls and on to the
new Proxy objects (d99bd3ed157).
[PowerPC][AIX] Reject .weak_definition like ELF (#156072)
weak_definition is a Mach-O-specific directive and is not supported on
XCOFF. Previously it crashed the XCOFF streamer via report_fatal_error
in emitSymbolAttribute. Return false for MCSA_WeakDefinition like
MCELFStreamer does, so the parser rejects it with the same diagnostic as
ELF.
Revert "[libc] Add realpath to linux entrypoints" (#215156)
Reverts llvm/llvm-project#212925, the tests assume that `/tmp` is a
real, valid directory on the system, which is not true for all
buildbots. `libc-riscv32-qemu-yocto-fullbuild-dbg` in particular seems
to have a symlink or similar from `/tmp` to `/var/volatile/tmp`. See
https://github.com/llvm/llvm-project/pull/212925#issuecomment-5234167255.
[VPlan] Don't classify irregular element types as contiguous. (#215121)
Before classifying an access as continuous, check if it has an irregular
type. If so, do not widen incorrectly. This matches the logic of the
inner loop code path.
[BFI] Extract computeMassInIrreducibleLoop. NFC (#215137)
This is a load-bearing irreducible loop extension of the Wu-larus
algorithm.
Give it its own function.
[Clang] Fix -Wunused-variable in #211482 (#215134)
This is only used in asserts, so fails in a release build without
asserts with -Werror -Wunused-variable with the latest clang.
[BOLT] Relax conditional tail calls in non-simple functions (#214400)
In compact code model relaxLocalBranches() skipped non-simple functions
that may have conditional tail calls targeting symbols in other far away
functions, which could fail during JITLink because the targets are out
of range.
Fix this by having relaxLocalBranches() process non-simple functions,
for which trampolines are added at the end of function body using
unconditional branches (128MB range) to reach far away targets.
[BFI] Detect irreducible SCC from CycleInfo instead of by failing. NFC (#214941)
BFI computes block frequencies with the Wu-Larus algorithm, extended (in
2014) to irreducible SCCs by modelling each one as a loop with multiple
headers.
Irreducible SCCs are detected by failing: mass distribution runs until
`addToDist` hits a retreating local edge to a non-header, then aborts,
packages the SCCs it found, and reruns.
CycleInfo already reports reducibility, so mark the innermost enclosing
loop (or the top level) while initializeLoops walks the cycle forest,
and package the marked regions before distributing any mass. The abort
paths and both undo sites become asserts.
Aided by Claude Opus 5