LLVM/project 941809bclang/lib/Format WhitespaceManager.cpp, clang/unittests/Format FormatTest.cpp

[clang-format] Align different categories together (#172242)

How the program figured out which lines to move along the aligned lines
changed in 75c85bafb830e5. Aligning the lines caused the information to
be out of date for aligning different categories later on. It caused a
regression.

Fixes #171021.

new, with the options `AlignConsecutiveAssignments` and
`AlignConsecutiveDeclarations` enabled

```C++
const char *const MatHtoolCompressorTypes[] = {"sympartialACA", "fullACA",
                                               "SVD"};
const char        HtoolCitation[]           = "@article{marchand2020two,\n"
                                              "  "
                                              "  "
                                              "  "

    [13 lines not shown]
DeltaFile
+8-0clang/unittests/Format/FormatTest.cpp
+1-0clang/lib/Format/WhitespaceManager.cpp
+9-02 files

LLVM/project f19c83fllvm/utils/git requirements_linting.txt requirements_linting.txt.in

[Github][CI] Add `doc8` to `code-linter` dependency (#172256)

This is needed by https://github.com/llvm/llvm-project/pull/172123 to
avoid potential CI failures.
DeltaFile
+23-1llvm/utils/git/requirements_linting.txt
+1-0llvm/utils/git/requirements_linting.txt.in
+24-12 files

LLVM/project 818ac70compiler-rt/lib/hwasan/scripts hwasan_symbolize

 [HWASan] Compatible with Windows path retrieval (#172194)

Fix #134853

Since the Windows path separator is typically `\\`, Here, we use `pathlib` to
ensure that the separator is in Unix format.
Additionally, since the file itself specifies the use of python3 (pathlib
requires python3), some python2 code has been removed.
DeltaFile
+2-7compiler-rt/lib/hwasan/scripts/hwasan_symbolize
+2-71 files

LLVM/project e9b1f56llvm/lib/Target/AMDGPU AMDGPURegBankLegalizeRules.cpp, llvm/test/CodeGen/AMDGPU bitreverse.ll

[AMDGPU][GlobalISel] Add RegBankLegalize support for G_BITREVERSE (#172101)

DeltaFile
+27-19llvm/test/CodeGen/AMDGPU/bitreverse.ll
+2-6llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-bitreverse.mir
+6-0llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
+35-253 files

LLVM/project 031ec80clang/lib/CodeGen CGBuiltin.cpp, clang/test/CodeGen ms-intrinsics.c

[CodeGen] Fix volatile inst, to match MSVC code semantics on windows (#171862)

Fix #126516

Use AtomicOrdering::Monotonic's atomic loading to let the backend
automatically select the appropriate instructions to match MSVC semantics.
DeltaFile
+8-8clang/test/CodeGen/ms-intrinsics.c
+2-0clang/lib/CodeGen/CGBuiltin.cpp
+10-82 files

LLVM/project eccecefllvm/lib/SandboxIR Instruction.cpp

cleanup comment
DeltaFile
+0-4llvm/lib/SandboxIR/Instruction.cpp
+0-41 files

LLVM/project 5a4e40allvm/lib/SandboxIR Instruction.cpp

[SandboxIR] Refactor `SandboxIR::PHINode::removeIncomingValueIf()` to delegate the removal directly to the underlying `llvm::PHINode::removeIncomingValueIf`.
DeltaFile
+8-8llvm/lib/SandboxIR/Instruction.cpp
+8-81 files

LLVM/project 1ea201dllvm/include/llvm/CodeGen TargetLowering.h, llvm/lib/CodeGen AtomicExpandPass.cpp

[WoA] Remove extra barriers after ARM LSE instructions with MSVC (#169596)

https://github.com/llvm/llvm-project/commit/c9821abfc023fba684c8ef8589c49cba8083f579
added extra fences after sequentially consistent stores for
compatibility with MSVC's seq_cst loads (ldr+dmb). These extra fences
should not be needed for ARM LSE instructions that have both
acquire+release semantics, which results in a two way barrier, and
should be enough for sequential consistency.

Fixes https://github.com/llvm/llvm-project/issues/162345

Change-Id: I9148c73d0dcf3bf1b18a0915f96cac71ac1800f2
DeltaFile
+7,585-2,403llvm/test/CodeGen/AArch64/atomic-ops-lse.ll
+1,747-6llvm/test/CodeGen/AArch64/atomic-ops.ll
+0-1,019llvm/test/CodeGen/AArch64/atomic-ops-msvc.ll
+18-13llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+7-15llvm/lib/CodeGen/AtomicExpandPass.cpp
+8-7llvm/include/llvm/CodeGen/TargetLowering.h
+9,365-3,4631 files not shown
+9,367-3,4657 files

LLVM/project cd35cee.ci premerge_advisor_explain.py

feedback

Created using spr 1.3.7
DeltaFile
+0-1.ci/premerge_advisor_explain.py
+0-11 files

LLVM/project 367aa32.ci premerge_advisor_explain.py

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.7

[skip ci]
DeltaFile
+0-1.ci/premerge_advisor_explain.py
+0-11 files

LLVM/project a4f2110.ci premerge_advisor_explain.py

feedback

Created using spr 1.3.7
DeltaFile
+0-1.ci/premerge_advisor_explain.py
+0-11 files

LLVM/project 848094c.github/workflows/containers/github-action-ci-windows Dockerfile

[Github][CI] Bump Windows CI Container Python to v3.12.3 (#172383)

This is primarily intended to upgrade past python 3.9 so that we can
continue building MLIR after
https://discourse.llvm.org/t/rfc-adopt-regularly-scheduled-python-minimum-version-bumps/88841/9
lands. This also makes us consistent with the Linux container.

I tested this locally by building the container with this change applied
and running the entire premerge pipeline within the freshly built
container.
DeltaFile
+1-4.github/workflows/containers/github-action-ci-windows/Dockerfile
+1-41 files

LLVM/project 41ffab0.ci generate_test_report_lib.py

[CI] Fix generate_report call parameters

The recursive call to generate_report if the failure information was
too big was not type-correct because it was never updated after we added
support for parsing ninja logs. This did not cause test failures or
runtime failures because we never looked at that variable or any
afterwards in this case, and list_failures was set as a keyword arg.
This might have caused issues somewhere though, and certainly does trip
up a type checker.

Found using pyright in vscode.
DeltaFile
+1-0.ci/generate_test_report_lib.py
+1-01 files

LLVM/project ff64261.ci generate_test_report_lib_test.py

[CI] Remove unused variable

Left over from testing a while ago and never removed before committing.
DeltaFile
+0-30.ci/generate_test_report_lib_test.py
+0-301 files

LLVM/project b77fd1e.ci generate_test_report_lib_test.py generate_test_report_lib.py

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+52-24.ci/generate_test_report_lib_test.py
+27-3.ci/generate_test_report_lib.py
+16-14.ci/premerge_advisor_explain.py
+6-2.ci/utils.sh
+101-434 files

LLVM/project 5b1085e.ci utils.sh premerge_advisor_explain.py

[𝘀𝗽𝗿] changes to main this commit is based on

Created using spr 1.3.7

[skip ci]
DeltaFile
+6-2.ci/utils.sh
+3-0.ci/premerge_advisor_explain.py
+9-22 files

LLVM/project f49e82f.ci utils.sh premerge_advisor_explain.py

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+6-2.ci/utils.sh
+3-0.ci/premerge_advisor_explain.py
+9-22 files

LLVM/project 965fecfflang/test/Semantics/OpenMP declare-reduction-functions.f90 critical-hint-clause.f90

[flang][NFC] Strip trailing whitespace from tests (13 of 14)

Only some fortran source files in flang/test/Semantics/OpenMP have been
modified. The remaining files will be cleaned up in subsequent commits.
DeltaFile
+13-13flang/test/Semantics/OpenMP/declare-reduction-functions.f90
+11-12flang/test/Semantics/OpenMP/critical-hint-clause.f90
+10-10flang/test/Semantics/OpenMP/atomic-hint-clause.f90
+6-6flang/test/Semantics/OpenMP/default-clause.f90
+5-6flang/test/Semantics/OpenMP/allocate07.f90
+5-5flang/test/Semantics/OpenMP/deprecation.f90
+50-5222 files not shown
+88-9028 files

LLVM/project faf879aclang/include/clang/Lex PreprocessorOptions.h, clang/include/clang/Options Options.td

[clang][lex] Introduce new single-module-parse mode (#135813)

This PR introduces new single-module preprocessing mode. It is very
similar to single-file-parse mode, but has the following differences:
* Single-file mode skips over all inclusion directives, while the
single-module mode skips only over import directives and does resolve
textual inclusion directives.
* Single-file mode enters all branches of a conditional directive with
an undefined identifier, while the single-module enters none of them.

This will be used from the dependency scanner to quickly discover a
subset of modular dependencies of a TU/module. The dependencies aren't
being imported in this mode, but the file-inclusion preprocessor
callback does get invoked.
DeltaFile
+92-0clang/test/Modules/single-module-parse-mode.c
+24-4clang/lib/Lex/PPDirectives.cpp
+7-5clang/lib/Lex/PPExpressions.cpp
+7-0clang/include/clang/Lex/PreprocessorOptions.h
+4-0clang/include/clang/Options/Options.td
+134-95 files

LLVM/project 1fbf33cclang/lib/CodeGen CGOpenMPRuntime.cpp, clang/test/OpenMP target_data_use_device_addr_codegen.cpp target_task_affinity_codegen.cpp

[OpenMP][Clang] Use `ATTACH` map-type for list-items with base-pointers. (#153683)

This adds support for using `ATTACH` map-type for proper
pointer-attachment when mapping list-items that have base-pointers.

For example, for the following:

```c
  int *p;
  #pragma omp target enter data map(p[1:10])
```

The following maps are now emitted by clang:
```
  (A)
  &p[0], &p[1], 10 * sizeof(p[1]), TO | FROM
  &p, &p[1], sizeof(p), ATTACH
```


    [117 lines not shown]
DeltaFile
+788-351clang/lib/CodeGen/CGOpenMPRuntime.cpp
+476-434clang/test/OpenMP/target_data_use_device_addr_codegen.cpp
+293-242clang/test/OpenMP/target_task_affinity_codegen.cpp
+280-241clang/test/OpenMP/reduction_implicit_map.cpp
+280-230clang/test/OpenMP/target_map_array_section_no_length_codegen.cpp
+194-273clang/test/OpenMP/target_data_map_codegen_hold.cpp
+2,311-1,77165 files not shown
+5,463-3,97671 files

LLVM/project 8af59b2compiler-rt/lib/sanitizer_common/symbolizer/scripts build_symbolizer.sh

[sanitizers] build symbolizer with lld (#172093)

Without this, we use the system /usr/bin/ld, which is an older LLD.

That can lead to problems with LTO and breaks the aarch64 buildbot.
DeltaFile
+1-1compiler-rt/lib/sanitizer_common/symbolizer/scripts/build_symbolizer.sh
+1-11 files

LLVM/project bd81f41utils/bazel/llvm-project-overlay/clang-tools-extra/clang-tidy BUILD.bazel

[bazel] Fix for 908a5a8292ea1 (#172385)

DeltaFile
+1-0utils/bazel/llvm-project-overlay/clang-tools-extra/clang-tidy/BUILD.bazel
+1-01 files

LLVM/project 4c7d765mlir/include/mlir/Target/LLVM ModuleToObject.h, mlir/include/mlir/Target/LLVM/ROCDL Utils.h

Revert "[mlir][gpu] Use `SmallString`, `FailureOr` and `StringRef` in `module-to-binary` infra (NFC) (#172284)" (#172386)

This reverts commit c8b8b2f1f9ced8db1458dfdf1ea6a15152c695f0.

broke the bot
DeltaFile
+64-57mlir/lib/Target/LLVM/XeVM/Target.cpp
+58-48mlir/lib/Target/LLVM/NVVM/Target.cpp
+23-19mlir/lib/Target/LLVM/ROCDL/Target.cpp
+22-20mlir/lib/Target/LLVM/ModuleToObject.cpp
+4-3mlir/include/mlir/Target/LLVM/ModuleToObject.h
+3-3mlir/include/mlir/Target/LLVM/ROCDL/Utils.h
+174-1501 files not shown
+176-1527 files

LLVM/project 3a88bb9mlir/include/mlir/Dialect/AMDGPU/IR AMDGPU.td, mlir/lib/Conversion/AMDGPUToROCDL AMDGPUToROCDL.cpp

[mlir][AMDGPU] Add scaled wmma ops for gfx1250 (#169854)

This PR adds scaled WMMA ops (available on gfx1250) and the lowering to the AMDGPU dialect, wrapping the underlying intrinsics.
DeltaFile
+190-48mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
+112-0mlir/test/Conversion/AMDGPUToROCDL/wmma-gfx1250.mlir
+97-0mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp
+81-0mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td
+21-0mlir/test/Dialect/AMDGPU/ops.mlir
+501-485 files

LLVM/project c8b8b2fmlir/include/mlir/Target/LLVM ModuleToObject.h, mlir/include/mlir/Target/LLVM/ROCDL Utils.h

[mlir][gpu] Use `SmallString`, `FailureOr` and `StringRef` in `module-to-binary` infra (NFC) (#172284)

Instead of `std::string`, `std::optional` and `const std::string&`.
DeltaFile
+57-64mlir/lib/Target/LLVM/XeVM/Target.cpp
+48-58mlir/lib/Target/LLVM/NVVM/Target.cpp
+19-23mlir/lib/Target/LLVM/ROCDL/Target.cpp
+20-22mlir/lib/Target/LLVM/ModuleToObject.cpp
+3-4mlir/include/mlir/Target/LLVM/ModuleToObject.h
+3-3mlir/include/mlir/Target/LLVM/ROCDL/Utils.h
+150-1741 files not shown
+152-1767 files

LLVM/project a7c2c58llvm/lib/Transforms/InstCombine InstCombineSelect.cpp, llvm/test/Transforms/InstCombine select-fcmp-fmul-zero-absorbing-value.ll

InstCombine: Fold absorbing fmul of compared 0 into select

This is similar to the select-bin-op identity case, except
in this case we are looking for the absorbing value for the
binary operator.

If the compared value is a floating-point 0, and the fmul is
implied to return a +0, put the 0 directly into the select
operand. This pattern appears in scale-if-denormal sequences
after  optimizations assume denormals are treated as 0.

Fold:
  %fabs.x = call float @llvm.fabs.f32(float %x)
  %mul.fabs.x = fmul float %fabs.x, known_positive
  %x.is.zero = fcmp oeq float %x, 0.0
  %select = select i1 %x.is.zero, float %mul.fabs.x, float %fabs.x

To:
  %fabs.x = call float @llvm.fabs.f32(float %x)

    [5 lines not shown]
DeltaFile
+39-19llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
+7-15llvm/test/Transforms/InstCombine/select-fcmp-fmul-zero-absorbing-value.ll
+46-342 files

LLVM/project e71284allvm/test/Transforms/InstCombine select-fcmp-fmul-zero-absorbing-value.ll

InstCombine: Add baseline test for fcmp-0-select combine

This is similar to the identity value case; if we know we are
going to be multiplying by 0 and will get the sign right,
we can pull the constant into the select.
DeltaFile
+601-0llvm/test/Transforms/InstCombine/select-fcmp-fmul-zero-absorbing-value.ll
+601-01 files

LLVM/project 8bdbb17llvm/lib/Target/SystemZ/MCTargetDesc SystemZHLASMAsmStreamer.cpp

Fix formatting.
DeltaFile
+3-3llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.cpp
+3-31 files

LLVM/project cddf8d2llvm/include/llvm/MC MCSymbolGOFF.h, llvm/lib/MC GOFFObjectWriter.cpp

Add back isInSection()

Also add isInEDSection() as simple check.
DeltaFile
+5-12llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.cpp
+4-0llvm/include/llvm/MC/MCSymbolGOFF.h
+1-1llvm/lib/MC/GOFFObjectWriter.cpp
+10-133 files

LLVM/project f44740aoffload/libomptarget omptarget.cpp interface.cpp, offload/test/offloading struct_mapping_with_pointers.cpp

[NFC][Offload] Fix minor debug print issues introduced in #170425. (#172377)

DeltaFile
+22-22offload/test/offloading/struct_mapping_with_pointers.cpp
+2-1offload/libomptarget/omptarget.cpp
+1-1offload/libomptarget/interface.cpp
+25-243 files