[driver][AIX] Accept '32_64' and 'any' as valid value for OBJECT_MODE (#205180)
If OBJECT_MODE is set to '32_64' or 'any', the driver accepts the
setting silently.
[LV] Add range of tests accessing pointers with bounded IVs (NFC). (#205912)
Add a range of tests covering loads/stores with pointers with
bounded/clamped IV accesses, like A[i%2].
[RISCV] Support floating point registers with -fzero-call-used-regs (#204929)
This patch adds support for clearing floating-point registers with the
`zero-call-used-regs` attribute. It supports all combinations of
floating-point sizes (fp16, fp32, fp64, fp128) and extensions (F, D, Q).
Like #194883, this uses pseudo-instructions to clear the registers. Note
that `PseudoClearFPR64` is manually expanded in `riscv-expand-pseudo`.
For RV32, we expand it to `fcvt.d.w reg, x0, rtz`, but for RV64 we use
the more efficient `fmv.d.x reg, x0`. This also matches GCC behavior.
Finally, using non-GPR values for `zero-call-used-regs` in the Clang
driver is still rejected as the backend doesn't support clearing vector
registers.
[libc++] Specify `encoding='utf-8'` in `conformance` script (#189534)
In some environments, especially Windows with active code page other
than 65001, some characters in the CSV files cause parse errors without
explicitly specifying the UTF-8 encoding.
Explicitly using `encoding='utf-8'` in `click.File` fixes such errors.
[bolt] Prevent using inplace to add compatibility
BSD sed doesn't implement -i as inplaced modify file. We use copy and
replace as a workaround to avoid this.
[clang] use typo-corrected name qualifier for template names
This also prevents error-recovery from forming a member specialization which is
not a class member, which leads to crashes-on-invalid.
Fixes #204561
[lldb][Windows] use Unicode path limit (#206060)
`MAX_PATH` is defined as `260`. `PosixApi.h` already defines `PATH_MAX`
as `32,768` characters which is the max path limit for Unicode paths on
Windows.
Use this in lldb on Windows to avoid path truncation.
[X86] Mark AsmPrinter Module Passes as Required (#206164)
This won't impact them working on optnone functions, but could impact
whether or not they get called in opt-bisect, which would be wrong.
[flang][OpenMP] Support lowering of metadirective (part 3)
Enable metadirective lowering for loop-associated variants such as
`do`, `simd`, `parallel do`, and `do simd`.
When a metadirective resolves to a loop-associated directive, the
associated DO construct is made available to the selected variant so
existing OpenMP loop lowering can process it. Standalone metadirectives
use the following sibling DO evaluation, while begin/end metadirectives
use the first substantive nested evaluation from the metadirective block.
For example, when the `vendor(llvm)` selector matches:
!$omp metadirective when(implementation={vendor(llvm)}: parallel do)
do i = 1, n
y(i) = a*x(i) + y(i)
end do
the selected `parallel do` variant is lowered with the DO loop that
[66 lines not shown]