SuccessChanges

Changes from Git (git http://labmaster3.local/git/llvm-project.git)

Summary

  1. Reapply  "[AMDGPU][OpenMP] Add amdgpu-arch tool to list AMD GPUs installed" (details)
  2. [libc++][ranges] Add range.cmp: equal_to, not_equal_to, less, etc. (details)
  3. [IR][sanitizer] Add module flag "frame-pointer" and set it for cc1 -mframe-pointer={non-leaf,all} (details)
  4. AMDGPU: Restore atomic fp feature on FP atomic instruction definitions (details)
  5. [NFC] Fix cpplint warning (details)
  6. [gn build] (manually) port 0b2bc69ba29 (details)
  7. [lld/mac] slightly improve weak-private-extern.s test (details)
  8. [lld/mac] Implement support for .weak_def_can_be_hidden (details)
  9. [InlineSpiller] Clean-up isSpillCandBB (details)
  10. [NFC] Suppress cpplint warning in test (details)
  11. [RISCV] Implement the vneg.v builtin. (details)
  12. [X86] Enable compilation of user interrupt handlers. (details)
  13. [X86][AMX] Try to hoist AMX shapes' def (details)
  14. [X86][AMX][NFC] Avoid assert for the same immidiate value (details)
  15. [RISCV] Implement the vnot.v builtin. (details)
  16. [LoopReroll] Fix rerolling loop with extra instructions (details)
  17. [cland] Dont emit missing newline warnings when building preamble (details)
  18. [AArch64] Fix for BTI landing pad insertion with PAC-RET+bkey. (details)
  19. [GlobalISel] Remove ConstantFoldingMIRBuilder (details)
  20. [Debug-Info] change return type to void for attribute adding functions. (details)
  21. [mlir] Handle strided 1D vector transfer ops in ProgressiveVectorToSCF (details)
  22. [MLIR][NFC] Fix warning, trim includes + cleanup in AffineOps.h (details)
  23. [lldb][NFC] Delete a checked-in build log in docs/testsuite (details)
  24. [mlir] Support dimension permutations in ProgressiveVectorToSCF (details)
  25. [NewGVN] Track simplification dependencies for phi-of-ops. (details)
  26. [mlir][docs] Update `add_mlir_doc` usage (details)
  27. [mlir] Use SCF for loops in ProgressiveVectorToSCF (details)
  28. Revert "[NewGVN] Track simplification dependencies for phi-of-ops." (details)
  29. [mlir] Support broadcast dimensions in ProgressiveVectorToSCF (details)
  30. [Clang] Propagate guaranteed alignment for malloc and others (details)
  31. [mlir] Support masked 1D vector transfer ops in ProgressiveVectorToSCF (details)
  32. llvm-objdump: refactor SourcePrinter into separate file. NFC. (details)
  33. [mlir] Support masked N-D vector transfer ops in ProgressiveVectorToSCF. (details)
  34. [gn build] Port c623945d707c (details)
  35. Revert "[Clang] Propagate guaranteed alignment for malloc and others" (details)
  36. [X86][AMX][NFC] Make comparison operators to be complete (details)
  37. Re-reapply "[DebugInfo] Use variadic debug values to salvage BinOps and GEP instrs with non-const operands" (details)
  38. Recommit "[NewGVN] Track simplification dependencies for phi-of-ops." (details)
  39. [doc] Clarify constrained fcmps behavior (details)
  40. [dexter] Add keyword argument 'on_line' to DexLabel (details)
  41. [lldb][NFC] Remove a stray unicode character in the LLDB test docs (details)
  42. [RISCV] Custom lower vector F(MIN|MAX)NUM to vf(min|max) (details)
  43. [clang] Do not crash on template specialization following a fatal error (details)
Commit 15be0c41d2e59fb4599c9aebf21ede498c61f51d by jonathanchesterfield
Reapply  "[AMDGPU][OpenMP] Add amdgpu-arch tool to list AMD GPUs installed"

This reverts commit 24c1ed3b34f7602b955e52cd8a362f4e27eb5f20.
The file was modifiedclang/tools/CMakeLists.txt
The file was addedclang/test/Driver/Inputs/amdgpu-arch/amdgpu_arch_gfx906
The file was modifiedclang/lib/Driver/ToolChains/AMDGPU.h
The file was addedclang/tools/amdgpu-arch/CMakeLists.txt
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedclang/lib/Driver/ToolChains/AMDGPUOpenMP.cpp
The file was addedclang/test/Driver/Inputs/amdgpu-arch/amdgpu_arch_gfx908_gfx908
The file was addedclang/test/Driver/Inputs/amdgpu-arch/amdgpu_arch_fail
The file was modifiedclang/include/clang/Basic/DiagnosticDriverKinds.td
The file was addedclang/test/Driver/Inputs/amdgpu-arch/amdgpu_arch_different
The file was modifiedclang/lib/Driver/ToolChains/AMDGPU.cpp
The file was addedclang/test/Driver/amdgpu-openmp-system-arch.c
The file was addedclang/test/Driver/amdgpu-openmp-system-arch-fail.c
The file was addedclang/tools/amdgpu-arch/AMDGPUArch.cpp
Commit 879cbac08ba17566ad61ff2b9d7180bcab4a0d1e by zoecarver
[libc++][ranges] Add range.cmp: equal_to, not_equal_to, less, etc.

Adds the six new concept constrained comparisons.

Differential Revision: https://reviews.llvm.org/D100429
The file was modifiedlibcxx/test/std/concepts/concepts.compare/concept.equalitycomparable/equality_comparable_with.compile.pass.cpp
The file was addedlibcxx/test/std/utilities/function.objects/range.cmp/not_equal_to.pass.cpp
The file was modifiedlibcxx/test/std/utilities/function.objects/comparisons/greater.pass.cpp
The file was modifiedlibcxx/test/std/utilities/function.objects/comparisons/greater_equal.pass.cpp
The file was addedlibcxx/test/std/utilities/function.objects/range.cmp/greater.pass.cpp
The file was removedlibcxx/test/std/concepts/concepts.compare/types.h
The file was addedlibcxx/test/std/utilities/function.objects/range.cmp/less.pass.cpp
The file was modifiedlibcxx/include/functional
The file was removedlibcxx/test/std/utilities/function.objects/comparisons/pointer_comparison_test_helper.h
The file was modifiedlibcxx/test/std/utilities/function.objects/comparisons/less.pass.cpp
The file was modifiedlibcxx/test/std/concepts/concepts.compare/concepts.totallyordered/totally_ordered.pass.cpp
The file was modifiedlibcxx/test/std/concepts/concepts.compare/concept.equalitycomparable/equality_comparable.compile.pass.cpp
The file was modifiedlibcxx/test/std/utilities/function.objects/comparisons/less_equal.pass.cpp
The file was addedlibcxx/test/std/utilities/function.objects/range.cmp/equal_to.pass.cpp
The file was addedlibcxx/test/support/compare_types.h
The file was modifiedlibcxx/test/std/concepts/concepts.compare/concepts.totallyordered/totally_ordered_with.pass.cpp
The file was addedlibcxx/test/std/utilities/function.objects/range.cmp/less_equal.pass.cpp
The file was addedlibcxx/test/std/utilities/function.objects/range.cmp/greater_equal.pass.cpp
The file was addedlibcxx/test/support/pointer_comparison_test_helper.h
Commit 2786e673c7d67ffca531ef38d679620ee3048a1e by i
[IR][sanitizer] Add module flag "frame-pointer" and set it for cc1 -mframe-pointer={non-leaf,all}

The Linux kernel objtool diagnostic `call without frame pointer save/setup`
arise in multiple instrumentation passes (asan/tsan/gcov). With the mechanism
introduced in D100251, it's trivial to respect the command line
-m[no-]omit-leaf-frame-pointer/-f[no-]omit-frame-pointer, so let's do it.

Fix: https://github.com/ClangBuiltLinux/linux/issues/1236 (tsan)
Fix: https://github.com/ClangBuiltLinux/linux/issues/1238 (asan)

Also document the function attribute "frame-pointer" which is long overdue.

Differential Revision: https://reviews.llvm.org/D101016
The file was modifiedllvm/lib/IR/Module.cpp
The file was addedllvm/test/Instrumentation/AddressSanitizer/module-flags.ll
The file was modifiedllvm/docs/LangRef.rst
The file was modifiedllvm/lib/CodeGen/CommandFlags.cpp
The file was modifiedllvm/include/llvm/Support/CodeGen.h
The file was modifiedllvm/include/llvm/IR/Module.h
The file was modifiedllvm/lib/IR/Function.cpp
The file was addedclang/test/CodeGen/asan-frame-pointer.cpp
The file was modifiedclang/lib/CodeGen/CodeGenModule.cpp
The file was removedllvm/test/Instrumentation/AddressSanitizer/uwtable.ll
The file was modifiedllvm/include/llvm/CodeGen/CommandFlags.h
Commit ed633a1daad97044063934cf28985491fbed7b4c by Matthew.Arsenault
AMDGPU: Restore atomic fp feature on FP atomic instruction definitions

9931b1f7a4785b6a17fb87b81a3546d61d0cbca1 switched this to checking for
the two specific subtargets, instead of the dedicated feature. This
broke supporting functions which force added the feature when emitting
targets that do not actually support them. This stil does not work for
the targets that use the gfx6/7 or gfx10 encodings.
The file was addedllvm/test/CodeGen/AMDGPU/global-atomics-fp-wrong-subtarget.ll
The file was modifiedllvm/lib/Target/AMDGPU/FLATInstructions.td
Commit 619ecba5bcbf7ccbfd00daf7f048e34cb1fa7c14 by Vitaly Buka
[NFC] Fix cpplint warning
The file was modifiedcompiler-rt/test/lsan/TestCases/use_globals_unused.cpp
Commit d1bbb8533a2294e2d2434ba8f3bb07cb39d303ba by thakis
[gn build] (manually) port 0b2bc69ba29
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Target/WebAssembly/AsmParser/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Target/WebAssembly/MCTargetDesc/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Target/WebAssembly/BUILD.gn
The file was addedllvm/utils/gn/secondary/llvm/lib/Target/WebAssembly/Utils/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Target/WebAssembly/Disassembler/BUILD.gn
Commit 88b76cb130bb88bd20c9a07dc546f5a5efc3fc20 by thakis
[lld/mac] slightly improve weak-private-extern.s test

- __got is in --bind output, so print that too (makes the test
  a bit stronger)
- WEAK_DEFINES, BINDS_TO_WEAK are in the mach-o header, so
  --private-header is enough, no need for --all-headers
  (makes the test a bit easier to work with when it fails)

Differential Revision: https://reviews.llvm.org/D101065
The file was modifiedlld/test/MachO/weak-private-extern.s
Commit a38ebed2581c7dee22f626aaf196bdba9ef9638d by thakis
[lld/mac] Implement support for .weak_def_can_be_hidden

I first had a more invasive patch for this (D101069), but while trying
to get that polished for review I realized that lld's current symbol
merging semantics mean that only a very small code change is needed.
So this goes with the smaller patch for now.

This has no effect on projects that build with -fvisibility=hidden
(e.g.  chromium), since these see .private_extern symbols instead.

It does have an effect on projects that build with -fvisibility-inlines-hidden
(e.g. llvm) in -O2 builds, where LLVM's GlobalOpt pass will promote most inline
functions from .weak_definition to .weak_def_can_be_hidden.

Before this patch:

    % ls -l out/gn/bin/clang out/gn/lib/libclang.dylib
    -rwxr-xr-x  1 thakis  staff  113059936 Apr 22 11:51 out/gn/bin/clang
    -rwxr-xr-x  1 thakis  staff   86370064 Apr 22 11:51 out/gn/lib/libclang.dylib
    % out/gn/bin/llvm-objdump --macho --weak-bind out/gn/bin/clang | wc -l
        8291
    % out/gn/bin/llvm-objdump --macho --weak-bind out/gn/lib/libclang.dylib | wc -l
        5698

With this patch:

    % ls -l out/gn/bin/clang out/gn/lib/libclang.dylib
    -rwxr-xr-x  1 thakis  staff  111721096 Apr 22 11:55 out/gn/bin/clang
    -rwxr-xr-x  1 thakis  staff   85291208 Apr 22 11:55 out/gn/lib/libclang.dylib
    thakis@MBP llvm-project % out/gn/bin/llvm-objdump --macho --weak-bind out/gn/bin/clang | wc -l
         725
    thakis@MBP llvm-project % out/gn/bin/llvm-objdump --macho --weak-bind out/gn/lib/libclang.dylib | wc -l
         542

Linking clang becomes a tiny bit faster with this patch:

    x 100    0.67263818    0.77847815    0.69430709    0.69877208   0.017715892
    + 100    0.67209601    0.73323393    0.68600798    0.68917346   0.012824377
    Difference at 95.0% confidence
            -0.00959861 +/- 0.00428661
            -1.37364% +/- 0.613449%
            (Student's t, pooled s = 0.0154648)

This only happens if lld with the patch and lld without the patch are both
linked with an lld with the patch or both linked with an lld without the patch
(...or with ld64). I accidentally linked the lld with the patch with an lld
without the patch and the other way round at first. In that setup, no
difference is found. That makese sense, since having fewer weak imports will
make the linked output a bit faster too. So not only does this make linking
binaries such as clang a bit faster (since fewer exports need to be written to
the export trie by lld), the linked output binary binary is also a bit faster
(since dyld needs to process fewer dynamic imports).

This also happens to fix the one `check-clang` failure when using lld as host
linker, but mostly for silly reasons: See crbug.com/1183336, mostly comment 26.
The real bug here is that c-index-test links all of LLVM both statically and
dynamically, which is an ODR violation. Things just happen to work with this
patch.

So after this patch, check-clang, check-lld, check-llvm all pass with lld as
host linker :)

Differential Revision: https://reviews.llvm.org/D101080
The file was modifiedlld/MachO/InputFiles.cpp
The file was addedlld/test/MachO/weak-def-can-be-hidden.s
Commit 914c8328244477d68043f36107e98794e3b9dab7 by serguei.katkov
[InlineSpiller] Clean-up isSpillCandBB

This is mostly NFC except that for end of BB not previous slot is used.
Idx is used to find a def of sibling live interval in that slot.
The def on end of MBB and on previous slot of end MBB should be the same,
so it should be NFC.

Reviewers: reames, qcolombet, MatzeB, wmi, rnk
Reviewed By: rnk
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D100922
The file was modifiedllvm/lib/CodeGen/InlineSpiller.cpp
Commit a062140a9e1e82515cd84587522794a1a21925c4 by Vitaly Buka
[NFC] Suppress cpplint warning in test
The file was modifiedcompiler-rt/test/lsan/TestCases/use_globals_unused.cpp
Commit 14cc1cb22230de433bb9eb35624355a6d0bef2d2 by kai.wang
[RISCV] Implement the vneg.v builtin.

Differential Revision: https://reviews.llvm.org/D100819
The file was modifiedclang/utils/TableGen/RISCVVEmitter.cpp
The file was modifiedclang/include/clang/Basic/riscv_vector.td
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vneg.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vneg.c
Commit e8bce83996313ed3f4f5fce43107530d49fc3b64 by pengfei.wang
[X86] Enable compilation of user interrupt handlers.

Add __uintr_frame structure and use UIRET instruction for functions with
x86 interrupt calling convention when UINTR is present.

Reviewed By: LuoYuanke

Differential Revision: https://reviews.llvm.org/D99708
The file was modifiedllvm/lib/Target/X86/X86ExpandPseudo.cpp
The file was addedllvm/test/CodeGen/X86/x86-64-intrcc-uintr.ll
The file was modifiedclang/lib/Headers/uintrintrin.h
Commit 90118563ad0f133c696e070ad72761fa0daa4517 by pengfei.wang
[X86][AMX] Try to hoist AMX shapes' def

We request no intersections between AMX instructions and their shapes'
def when we insert ldtilecfg. However, this is not always ture resulting
from not only users don't follow AMX API model, but also optimizations.

This patch adds a mechanism that tries to hoist AMX shapes' def as well.
It only hoists shapes inside a BB, we can improve it for cases across
BBs in future. Currently, it only hoists shapes of which all sources' def
above the first AMX instruction. We can improve for the case that only
source that moves an immediate value to a register below AMX instruction.

Differential Revision: https://reviews.llvm.org/D101067
The file was modifiedllvm/lib/Target/X86/X86PreTileConfig.cpp
The file was modifiedllvm/test/CodeGen/X86/AMX/amx-sched.ll
Commit 53673fd1bf6f2dd94d8bb6ced49cc54ec5fc866b by pengfei.wang
[X86][AMX][NFC] Avoid assert for the same immidiate value

The previous condition in the assert was over strict. We ought to allow
the same immidiate value being loaded more than once. The intention for
the assert is to check the same AMX register uses multiple different
immidiate shapes. So this fix supposes to be NFC.

Reviewed By: LuoYuanke

Differential Revision: https://reviews.llvm.org/D101124
The file was modifiedllvm/lib/Target/X86/X86TileConfig.cpp
Commit 43cd588c2d09fdad53d143b25ecf3ddeea297caf by kai.wang
[RISCV] Implement the vnot.v builtin.

Differential Revision: https://reviews.llvm.org/D100820
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vnot.c
The file was modifiedclang/include/clang/Basic/riscv_vector.td
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vnot.c
Commit d9a9c992d190dd6645ea911b66cf0cadba0dadc3 by t-kawashima
[LoopReroll] Fix rerolling loop with extra instructions

Fixes PR47627

This fix suppresses rerolling a loop which has an unrerollable
instruction.

Sample IR for the explanation below:

```
define void @foo([2 x i32]* nocapture %a) {
entry:
  br label %loop

loop:
  ; base instruction
  %indvar = phi i64 [ 0, %entry ], [ %indvar.next, %loop ]

  ; unrerollable instructions
  %stptrx = getelementptr inbounds [2 x i32], [2 x i32]* %a, i64 %indvar, i64 0
  store i32 999, i32* %stptrx, align 4

  ; extra simple arithmetic operations, used by root instructions
  %plus20 = add nuw nsw i64 %indvar, 20
  %plus10 = add nuw nsw i64 %indvar, 10

  ; root instruction 0
  %ldptr0 = getelementptr inbounds [2 x i32], [2 x i32]* %a, i64 %plus20, i64 0
  %value0 = load i32, i32* %ldptr0, align 4
  %stptr0 = getelementptr inbounds [2 x i32], [2 x i32]* %a, i64 %plus10, i64 0
  store i32 %value0, i32* %stptr0, align 4

  ; root instruction 1
  %ldptr1 = getelementptr inbounds [2 x i32], [2 x i32]* %a, i64 %plus20, i64 1
  %value1 = load i32, i32* %ldptr1, align 4
  %stptr1 = getelementptr inbounds [2 x i32], [2 x i32]* %a, i64 %plus10, i64 1
  store i32 %value1, i32* %stptr1, align 4

  ; loop-increment and latch
  %indvar.next = add nuw nsw i64 %indvar, 1
  %exitcond = icmp eq i64 %indvar.next, 5
  br i1 %exitcond, label %exit, label %loop

exit:
  ret void
}
```

In the loop rerolling pass, `%indvar` and `%indvar.next` are appended
to the `LoopIncs` vector in the `LoopReroll::DAGRootTracker::findRoots`
function.

Before this fix, two instructions with `unrerollable instructions`
comment above are marked as `IL_All` at the end of the
`LoopReroll::DAGRootTracker::collectUsedInstructions` function,
as well as instructions with `extra simple arithmetic operations`
comment and `loop-increment and latch` comment. It is incorrect
because `IL_All` means that the instruction should be executed in all
iterations of the rerolled loop but the `store` instruction should
not.

This fix rejects instructions which may have side effects and don't
belong to def-use chains of any root instructions and reductions.

See https://bugs.llvm.org/show_bug.cgi?id=47627 for more information.
The file was modifiedllvm/lib/Transforms/Scalar/LoopRerollPass.cpp
The file was addedllvm/test/Transforms/LoopReroll/extra_instr.ll
Commit a46bbc14f004c06bd1317e6d7a486c29133f1c0b by kadircet
[cland] Dont emit missing newline warnings when building preamble

When building preamble, clangd truncates file contents. This yielded
errnous warnings in some cases.

This patch fixes the issue by turning off no-newline-at-eof warnings whenever
the file has more contents than the preamble.

Fixes https://github.com/clangd/clangd/issues/744.

Differential Revision: https://reviews.llvm.org/D100501
The file was modifiedclang-tools-extra/clangd/unittests/DiagnosticsTests.cpp
The file was modifiedclang-tools-extra/clangd/Preamble.cpp
Commit b1f463dcae3aafadac2b6a36583f38dea6a7136e by daniel.kiss
[AArch64] Fix for BTI landing pad insertion with PAC-RET+bkey.

EMITBKEY is emitted for PAC-RET+bkey, which is a non machine instructions.

PR: 49957

Reviewed By: eugenis

Differential Revision: https://reviews.llvm.org/D100996
The file was modifiedllvm/test/CodeGen/AArch64/sign-return-address.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64BranchTargets.cpp
Commit 63af3c000b3399b16703da920d874834c402e281 by jay.foad
[GlobalISel] Remove ConstantFoldingMIRBuilder

ConstantFoldingMIRBuilder was an experiment which is not used for
anything. The constant folding functionality is now part of
CSEMIRBuilder.

Differential Revision: https://reviews.llvm.org/D101050
The file was removedllvm/include/llvm/CodeGen/GlobalISel/ConstantFoldingMIRBuilder.h
The file was modifiedllvm/unittests/CodeGen/GlobalISel/PatternMatchTest.cpp
The file was modifiedllvm/unittests/CodeGen/GlobalISel/ConstantFoldingTest.cpp
Commit 027d6735ae798900293059c9dc33ea6d3ebe3615 by czhengsz
[Debug-Info] change return type to void for attribute adding functions.

Make following function return void:

    addLabel()
    addSectionLabel()
    addSectionDelta()

This aligns with other attributes adding functions.

Reviewed By: dblaikie

Differential Revision: https://reviews.llvm.org/D101022
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfUnit.h
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
Commit afaf36b69eac614f858631513c27c3af62d99da5 by springerm
[mlir] Handle strided 1D vector transfer ops in ProgressiveVectorToSCF

Strided 1D vector transfer ops are 1D transfers operating on a memref dimension different from the last one. Such transfer ops do not accesses contiguous memory blocks (vectors), but access memory in a strided fashion. In the absence of a mask, strided 1D vector transfer ops can also be lowered using matrix.column.major.* LLVM instructions (in a later commit).

Subsequent commits will extend the pass to handle the remaining missing permutation maps (broadcasts, transposes, etc.).

Differential Revision: https://reviews.llvm.org/D100946
The file was modifiedmlir/lib/Conversion/VectorToSCF/ProgressiveVectorToSCF.cpp
The file was addedmlir/test/Integration/Dialect/Vector/CPU/test-transfer-read-1d.mlir
Commit 17f6b0c36a77b521bd405bb7cccf5cd239f4330e by uday
[MLIR][NFC] Fix warning, trim includes + cleanup in AffineOps.h

Fix style/clang-tidy warning, trim stale includes and forward
declarations, and cleanup/fix stale comments.

Differential Revision: https://reviews.llvm.org/D101021
The file was modifiedmlir/include/mlir/Dialect/Affine/IR/AffineOps.h
Commit f8f3fc1fbad608ee7c7e0c2a5af0637006e1ba0c by Raphael Isemann
[lldb][NFC] Delete a checked-in build log in docs/testsuite
The file was removedlldb/docs/testsuite/2010-10-19-14_10_49.059609/TestSettings.SettingsCommandTestCase.test_set_output_path.log
Commit ab154176bfc7891979b9cd406d2e952a1764f406 by springerm
[mlir] Support dimension permutations in ProgressiveVectorToSCF

This commit adds support for dimension permutations in permutation maps of vector transfer ops.

Differential Revision: https://reviews.llvm.org/D101007
The file was modifiedmlir/test/Integration/Dialect/Vector/CPU/test-transfer-read-2d.mlir
The file was modifiedmlir/lib/Conversion/VectorToSCF/ProgressiveVectorToSCF.cpp
The file was modifiedmlir/test/Integration/Dialect/Vector/CPU/test-transfer-read-3d.mlir
The file was modifiedmlir/test/Integration/Dialect/Vector/CPU/test-transfer-to-loops.mlir
Commit 4f5da356ff35a218f23f0b0c4d08aee90da7de6e by flo
[NewGVN] Track simplification dependencies for phi-of-ops.

If we are using a simplified value, we need to add an extra
dependency this value , because changes to the class of the
simplified value may require us to invalidate any decision based on
that value.

This is done by adding such values as additional users, however the
current code does not excludes temporary instructions.

At the moment, this means that we miss those dependencies for
phi-of-ops, because they are temporary instructions at this point. We
instead need to add the extra dependencies to the root instruction of
the phi-of-ops.

This patch pushes the responsibility of adding extra users to the
callers of createExpression & performSymbolicEvaluation. At those
points, it is clearer which real instruction to pick.

Alternatively we could either pass the 'real' instruction as additional
argument or use another map, but I think the approach in the patch makes
things a bit easier to follow.

Fixes PR35074.

Reviewed By: asbirlea

Differential Revision: https://reviews.llvm.org/D99987
The file was modifiedllvm/lib/Transforms/Scalar/NewGVN.cpp
The file was addedllvm/test/Transforms/NewGVN/phi-of-ops-simplification-dependencies.ll
Commit ab78e09b9463262254347d1f050b49b611848654 by marius.brehler
[mlir][docs] Update `add_mlir_doc` usage

Updates the docs to reflect the changes introduced to the `add_mlir_doc`
CMake macro with https://reviews.llvm.org/D100517.
The file was modifiedmlir/docs/Tutorials/CreatingADialect.md
Commit f6a3e92e0a19b04320572acf3e992d45c88fc1ec by springerm
[mlir] Use SCF for loops in ProgressiveVectorToSCF

Use SCF for loops instead of Affine for loops.

Differential Revision: https://reviews.llvm.org/D101013
The file was modifiedmlir/lib/Conversion/VectorToSCF/ProgressiveVectorToSCF.cpp
Commit 74854d00e854196445727a49df58fe5768d9ed5b by flo
Revert "[NewGVN] Track simplification dependencies for phi-of-ops."

This reverts commit 4f5da356ff35a218f23f0b0c4d08aee90da7de6e.

This causes some  buildbot failures, e.g.
https://lab.llvm.org/buildbot/#/builders/139/builds/3019
The file was modifiedllvm/lib/Transforms/Scalar/NewGVN.cpp
The file was removedllvm/test/Transforms/NewGVN/phi-of-ops-simplification-dependencies.ll
Commit a819e7339315687f06f686971a649f614afbd987 by springerm
[mlir] Support broadcast dimensions in ProgressiveVectorToSCF

This commit adds support for broadcast dimensions in permutation maps of vector transfer ops.

Also fixes a bug in VectorToSCF that generated incorrect in-bounds checks for broadcast dimensions.

Differential Revision: https://reviews.llvm.org/D101019
The file was modifiedmlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp
The file was modifiedmlir/lib/Conversion/VectorToSCF/ProgressiveVectorToSCF.cpp
The file was modifiedmlir/test/Integration/Dialect/Vector/CPU/test-transfer-read-2d.mlir
The file was modifiedmlir/test/Integration/Dialect/Vector/CPU/test-transfer-read-1d.mlir
The file was modifiedmlir/test/Integration/Dialect/Vector/CPU/test-transfer-read-3d.mlir
Commit c2297544c04764237cedc523083c7be2fb3833d4 by Dávid Bolvanský
[Clang] Propagate guaranteed alignment for malloc and others

LLVM should be smarter about *known* malloc's alignment and this knowledge may enable other optimizations.

Originally started as LLVM patch - https://reviews.llvm.org/D100862 but this logic should be really in Clang.

Reviewed By: rjmccall

Differential Revision: https://reviews.llvm.org/D100879
The file was addedclang/test/CodeGen/alloc-fns-alignment.c
The file was modifiedclang/include/clang/Basic/TargetInfo.h
The file was modifiedclang/lib/CodeGen/CGCall.cpp
Commit 545f98efc74bb1fb5dfa6edd2ce80b8154664741 by springerm
[mlir] Support masked 1D vector transfer ops in ProgressiveVectorToSCF

Support for masked N-D vector transfer ops will be added in a subsequent commit.

Differential Revision: https://reviews.llvm.org/D101132
The file was modifiedmlir/test/Integration/Dialect/Vector/CPU/test-transfer-read-1d.mlir
The file was modifiedmlir/lib/Conversion/VectorToSCF/ProgressiveVectorToSCF.cpp
Commit c623945d707c8d50d0cae79b5c95a57166cd066c by Tim Northover
llvm-objdump: refactor SourcePrinter into separate file. NFC.

Preparatory patch for MachO feature.
The file was modifiedllvm/tools/llvm-objdump/llvm-objdump.cpp
The file was modifiedllvm/tools/llvm-objdump/CMakeLists.txt
The file was modifiedllvm/tools/llvm-objdump/llvm-objdump.h
The file was addedllvm/tools/llvm-objdump/SourcePrinter.cpp
The file was addedllvm/tools/llvm-objdump/SourcePrinter.h
Commit 64f7fb5dfca14bead0e4b12142da2135f950034f by springerm
[mlir] Support masked N-D vector transfer ops in ProgressiveVectorToSCF.

Mask vectors are handled similar to data vectors in N-D TransferWriteOp. They are copied into a temporary memory buffer, which can be indexed into with non-constant values.

Differential Revision: https://reviews.llvm.org/D101136
The file was modifiedmlir/test/Integration/Dialect/Vector/CPU/test-transfer-read-2d.mlir
The file was modifiedmlir/lib/Conversion/VectorToSCF/ProgressiveVectorToSCF.cpp
Commit f2bf9322b575c7c91e3ccd44be43e280c2c97e53 by llvmgnsyncbot
[gn build] Port c623945d707c
The file was modifiedllvm/utils/gn/secondary/llvm/tools/llvm-objdump/BUILD.gn
Commit 6914a0ed2b30924b188968e59a83efa07ac5fe57 by Dávid Bolvanský
Revert "[Clang] Propagate guaranteed alignment for malloc and others"

This reverts commit c2297544c04764237cedc523083c7be2fb3833d4. Some buildbots are broken.
The file was modifiedclang/lib/CodeGen/CGCall.cpp
The file was modifiedclang/include/clang/Basic/TargetInfo.h
The file was removedclang/test/CodeGen/alloc-fns-alignment.c
Commit 151e244fe687901e69e4a3c569ef3bb252b7e4fc by pengfei.wang
[X86][AMX][NFC] Make comparison operators to be complete

The previous D101039 didn't fix the SmallSet insertion issue, due to we
always return false for the comparison between 2 different nonnull BBs.
This patch makes the the comparison to be complete by comparing `MBB`
first, so that we can always get the invariant order by a single
operator.
The file was modifiedllvm/lib/Target/X86/X86PreTileConfig.cpp
Commit 791930d74087b8ae8901172861a0fd21a211e436 by stephen.tozer
Re-reapply "[DebugInfo] Use variadic debug values to salvage BinOps and GEP instrs with non-const operands"

Previous build failures were caused by an error in bitcode reading and
writing for DIArgList metadata, which has been fixed in e5d844b587.
There were also some unnecessary asserts that were being triggered on
certain builds, which have been removed.

This reverts commit dad5caa59e6b2bde8d6cf5b64a972c393c526c82.
The file was modifiedllvm/test/Transforms/InstCombine/debuginfo-sink.ll
The file was modifiedllvm/test/Transforms/Reassociate/undef_intrinsics_when_deleting_instructions.ll
The file was addedllvm/test/DebugInfo/salvage-nonconst-binop.ll
The file was modifiedllvm/include/llvm/IR/Instructions.h
The file was modifiedllvm/include/llvm/IR/Operator.h
The file was modifiedllvm/test/DebugInfo/NVPTX/debug-info.ll
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DebugLocEntry.h
The file was modifiedllvm/lib/IR/Instructions.cpp
The file was modifiedllvm/lib/IR/DebugInfoMetadata.cpp
The file was modifiedllvm/lib/Transforms/Utils/Local.cpp
The file was modifiedllvm/lib/IR/IntrinsicInst.cpp
The file was modifiedllvm/lib/Transforms/Coroutines/CoroFrame.cpp
The file was modifiedllvm/include/llvm/IR/IntrinsicInst.h
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was addedllvm/test/DebugInfo/salvage-gep.ll
The file was modifiedllvm/lib/IR/Operator.cpp
The file was modifiedllvm/include/llvm/Transforms/Utils/Local.h
The file was modifiedllvm/include/llvm/IR/DebugInfoMetadata.h
Commit 2b15262f89bc0923361e1ed5b596a2d18d22afd9 by flo
Recommit "[NewGVN] Track simplification dependencies for phi-of-ops."

This recommits 4f5da356ff35a218f23f0b0c4d08aee90da7de6e, including
explicit implementations of move a constructor and deleted copy
constructors/assignment operators, to fix failures with some compilers.

This reverts the revert 74854d00e854196445727a49df58fe5768d9ed5b.
The file was addedllvm/test/Transforms/NewGVN/phi-of-ops-simplification-dependencies.ll
The file was modifiedllvm/lib/Transforms/Scalar/NewGVN.cpp
Commit 2fdedf905a6bd8e44a28191bb91f74a705b9c3f6 by thomasp
[doc] Clarify constrained fcmps behavior

Reviewed By: uweigand

Differential Revision: https://reviews.llvm.org/D101053
The file was modifiedllvm/docs/LangRef.rst
Commit 487ab5345920b2cfd2162f04b467dd39fb1a8627 by orlando.hyams
[dexter] Add keyword argument 'on_line' to DexLabel

Add optional keyword argument 'on_line' to DexLabel to label the specifed line
instead of the line the command is found on.

This will be helpful when used alongside DexDeclareFile (D99651).

Reviewed By: TWeaver

Differential Revision: https://reviews.llvm.org/D101055
The file was modifieddebuginfo-tests/dexter/Commands.md
The file was addeddebuginfo-tests/dexter/feature_tests/subtools/test/label_another_line.cpp
The file was modifieddebuginfo-tests/dexter/dex/command/commands/DexLabel.py
The file was addeddebuginfo-tests/dexter/feature_tests/subtools/test/err_label_kwarg.cpp
Commit f3e6f856c2905362f54acebc5ef500df10cb06fa by Raphael Isemann
[lldb][NFC] Remove a stray unicode character in the LLDB test docs

There was a U+2028 character in this line (a special paragraph separator).
The file was modifiedlldb/docs/resources/test.rst
Commit 83b8f8da828383074f59d331c262200d65a4833e by fraser
[RISCV] Custom lower vector F(MIN|MAX)NUM to vf(min|max)

This patch adds support for both scalable- and fixed-length vector code
lowering of the llvm.minnum and llvm.maxnum intrinsics to the equivalent
RVV instructions.

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D101035
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
The file was addedllvm/test/CodeGen/RISCV/rvv/vfmax-sdnode.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp
The file was addedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmin.ll
The file was addedllvm/test/CodeGen/RISCV/rvv/vfmin-sdnode.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.h
The file was addedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmax.ll
Commit ddfbdbfefae04ea71391a38ed5e9cb6975f6630b by adamcz
[clang] Do not crash on template specialization following a fatal error

There was a missing isInvalid() check leading to an attempt to
instantiate template with an empty instantiation stack.

Differential Revision: https://reviews.llvm.org/D100675
The file was modifiedclang/lib/Sema/SemaTemplateDeduction.cpp
The file was addedclang/test/SemaCXX/template-specialization-fatal.cpp