[lldb][Fortran] Addressed feedback about code styling and changed one of the tests to contain different types in arguments and return type, not just integers
[lldb][Fortran] Added llvm RTTI support to FortranFunction, renamed variable names in functions, GetFunctionType static function to get function type pointer and addressed feedback about code style
[HLSL] Migrate pre-commit HLSL CI to Windows (and off Beanz's closet Mac) (#230639)
Pre-commit validation of HLSL and DirectX changes includes a run of
[offload test suite](https://github.com/llvm/offload-test-suite), which
currently executes on a Mac laptop in Beanz' closet. This change updates
the pipeline to run on a self-hosted Windows runner, with software GPU
offload coverage through D3D12 WARP.
The original pipeline was running `check-llvm` and `check-clang` test
groups. Since DirectX has become an official LLVM target this is no
longer necessary. The HLSL & DirectX tests that are included in the
`check-llvm`/`check-clang` groups are already being run by existing
pre-commit CIs.
The pipeline now executes only offload tests suite runtime tests on WARP
and plus the LLVM `dxil-dis` tool tests, which only depend on `llc`,
`llvm-objcopy` and the 'filecheck` tools from the LLVM build.
Fixes llvm/wg-hlsl#477
[lld-macho] Require a 64-bit host for arm64e-auth-pointer.s (#238623)
The test's far.o case needs a 4 GiB zerofill section, but lld keeps
section sizes in size_t, so on 32-bit hosts the section is empty, _far
isn't far, and the expected error never comes. This broke
clang-armv8-lld-2stage. Like dead-strip.s, require llvm-64-bits.
Fixes https://lab.llvm.org/buildbot/#/builders/122/builds/329
Assisted-by: Claude
[Clang][BPF] Preserve every subscript of multi-dimensional array members (#237589)
A member access is relocated with CO-RE either inside
`__builtin_preserve_access_index()` or through the preserve_access_index
attribute on the record. For an array member with more than one
subscript, the builtin works, but the attribute does not. With
```
#define __pai __attribute__((preserve_access_index))
struct S { long x; int y; } __pai;
union V { long l; struct S m[2][3]; } __pai;
struct T {
struct S a[2][3];
union V g[3][2];
struct S (*q)[3];
struct S *p[3];
struct S v[2][3][4];
} __pai;
```
the relocations for `t->a[1][2].y` are:
[63 lines not shown]
[MLIR][SCF] Handle empty ranges in mlir::loopUnrollByFactor. (#237094)
## TL; DR
This patches fixes empty ranges such as $[42, 0; 4]$ in
`mlir::loopUnrollByFactor`
According to the SCF documentation, the precondition is
> Lower bound, upper bound, and step are interpreted as signed integers
by default, or as unsigned integers if the unsignedCmp unit attribute is
present. The step is required to be strictly positive.
However, even though in the case that lower bound, upper bound, and step
are all positive, we can construct an empty range such as $[42, 0; 4]$,
which leads to wrong behavior as reported in triton-lang/triton/issues/12525
[Flang] [Driver] Add -fplt and -fno-plt options (#235622)
The option is supported in clang and not in flang. This commit adds this
support. -fno-plt makes external calls use GOT indirection instead of
the PLT. The driver forwards it only for ELF x86 and AArch64, and the
default remains PLT.
[DirectX] Port DXContainerGlobals to NewPM
Standard NewPM pass porting. There are a lot of function_refs because
this pass uses a lot of Analyses. I don't think there is a cleaner way
to do this.
Reviewers: bogner
Pull Request: https://github.com/llvm/llvm-project/pull/238167
[lld][MachO] Fix missing class name when merging categories into a class (#237948)
mergeCategoriesIntoBaseClass preset extInfo.baseClass, so
parseCatInfoToExtInfo skipped the branch that set baseClassName, and the
symbols of the merged lists were named without the class. Set the name
at both sites.