[libc++][test] Improve `fold_left` `check_lvalue_range` coverage. (#183990)
This makes the test `fold_left` and `fold_left_with_iter` with and
without telemetrics similar to what we do in `check_iterator`.
[NFC][AMDGPU] Fix `gfx90a`+ MFMA builtins (#191537)
`gfx90a` added a set of MFMA instructions that are not available on
prior GFXIPs. The Clang builtins for these were requiring the
`mai-insts` feature, which is incorrect (`gfx908` supports this and does
not support the added MFMAs). This led to opaque bugs where we'd check
with `__has_builtin` for the availability of the builtin, target 908,
and get an ISEL failure.
[compiler-rt] Disable soft_rss_limit_mb_test.cpp (#191370)
The test has been failing flakily for a while; see PRs #170911, #171469,
#188441.
Co-authored-by: Vitaly Buka <vitalybuka at gmail.com>
[clang][modules-driver] Add missing PrependArg for Clang module precompile jobs (#191610)
In `createClangModulePrecompileJob`, the `PrependArg` parameter was not
being passed for the newly created Clang module precompile job.
This causes failures for setups where the clang executable is a wrapper
(e.g., the llvm-driver wrapper).
See
https://github.com/llvm/llvm-project/pull/191258#issuecomment-4227294864
[MC,CodeGen] Update .prefalign for symbol-based preferred alignment (#184032)
https://discourse.llvm.org/t/rfc-enhancing-function-alignment-attributes/88019/17
The recently-introduced .prefalign only worked when each function was in
its own section (-ffunction-sections), because the section size gave the
function body size needed for the alignment rule.
This led to -ffunction-sections and -fno-function-sections AsmPrinter
differences (#155529), which is rather unusual.
This patch fixes this AsmPrinter difference by extending .prefalign to
accept an end symbol and a required fill operand:
.prefalign <log2_align>, <end_sym>, nop
.prefalign <log2_align>, <end_sym>, <fill_byte>
The first operand is a log2 alignment value (e.g. 4 means 16-byte
alignment). The body size (end_sym_offset - start_offset) determines the
alignment:
[19 lines not shown]
[MC] Remove MCTargetOptions parameter from MCContext constructor (#191596)
Now that MCAsmInfo stores the MCTargetOptions pointer (set by
TargetRegistry::createMCAsmInfo #180464), MCContext can retrieve it via
MCAsmInfo. Remove the redundant MCTargetOptions parameter from the
MCContext constructor and update all callers.
[clang-tidy] Fix FP in bugprone-exception-escape with unevaluated exception specs (#190593)
Functions whose exception spec has not yet been evaluated have no body
in the AST. Because the compiler does not generate call sites for these
functions before evaluating their spec, they cannot propagate
exceptions.
Closes https://github.com/llvm/llvm-project/issues/188730
Revert "[lld][AMDGPU] Support R_AMDGPU_ABS32_(LO|HI) relocations" (#191591)
Reverts llvm/llvm-project#191550
Merged without understanding getImplicitAddend and test convention, and
less than 4 hours after a colleague rubber stamping with "I am not ELF
or linker expert but to me looks good."
[lld][AMDGPU] Support R_AMDGPU_ABS32_(LO|HI) relocations (#191550)
Summary:
These relocations are extremely rare, but they are listed as an expected
relocation in https://llvm.org/docs/AMDGPUUsage.html#relocation-records
and you can theoretically make them happen so we should probably support
it in the linker.
Changed stat passes to count instructions before and after optimizations (#188837)
Created this for instcount and func-properties-analysis to be able to
see the change the optimization pipelines have on stats