Changes

Summary

  1. [InstCombine] Fix miscompile on GEP+load to icmp fold (PR45210) (details)
  2. [clangd] Move gtest include to TestTU.cpp from TestTU.h (details)
  3. [mlir][NFC] Rename MathToLLVM->MathToLibm (details)
  4. [libcxx] [test] Add UNSUPPORTED: msvc in a couple verify.cpp tests (details)
  5. [LangRef] update according to unwinding support in inline asm (details)
  6. [mlir] Support permutation maps in vector transfer op folder (details)
  7. [mlir][NFC] Remove illegal TanhOp in LLVMConversionTarget (details)
  8. [WebAssembly][CodeGen] IR support for WebAssembly local variables (details)
  9. [clang] Add support for the "abstract" contextual keyword of MSVC (details)
  10. Revert "[WebAssembly][CodeGen] IR support for WebAssembly local variables" (details)
  11. [clang] NFC: split HeaderMapTest to have re-usable header map implementation for testing (details)
  12. [RISCV] Support vector conversions between fp and i1 (details)
  13. [lldb][NFC] Remove unused var in SBDebugger::GetInternalVariableValue (details)
  14. [DSE] Remove stores in the same loop iteration (details)
  15. [InsCombine] Fix a few remaining vec transforms to use poison instead of undef (details)
  16. [RISCV] Scale scalably-typed split argument offsets by VSCALE (details)
  17. [LiveDebugVariables] Stop trimming locations of non-inlined vars (details)
  18. fix broken clang tests after  7161bb87c914 (details)
  19. [SDAG] try harder to fold casts into vector compare (details)
  20. fix test for symlinked clang c1ee4fb5af49a (details)
  21. [llvm-objcopy][NFC] Refactor CopyConfig structure - remove lazy options processing. (details)
  22. [AMDGPU][Libomptarget][NFC] Split host and device malloc (details)
  23. [MLIR] Fix warnings in AffineOps.cpp (details)
  24. [NFC] ScalarEvolution: apply SSO to the ExprValueMap value (details)
  25. [MLIR][Shape] Remove duplicate operands of `shape.assuming_all` op (details)
  26. [libunwind] fix -Wc++98-compat-extra-semi without _LIBUNWIND_HIDE_SYMBOLS (details)
  27. [SDAG] add check to sext-of-setcc fold to bypass changing a legal op (details)
  28. [mlir][linalg] Update Structured Op Interface (NFC). (details)
  29. Revert "[clang] Add support for the "abstract" contextual keyword of MSVC" (details)
  30. [mlir][linalg] Cleanup LinalgOp usage in verification (NFC). (details)
  31. [NFC] MemoryDependenceAnalysis cleanup. (details)
  32. [AsmParser][SystemZ][z/OS] Introducing HLASM Parser support to AsmParser - Part 2 (details)
  33. [libc++] Avoid `result_type` and `unary/binary_function` in <valarray>. (details)
  34. Remove "Rewrite Symbols" from codegen pipeline (details)
  35. [libc++] Update all the pre-defined iterator types for C++20 (details)
  36. [test] Fix addr-label.ll after D99707 (details)
  37. [MCA][NFCI] Minor changes to InstrBuilder and Instruction. (details)
  38. [test] Properly match parameter/argument ABI attributes (details)
  39. [libc++] [test] Fix a few tests for 32-bit x86 (details)
  40. Re-commit [clang] Add support for the "abstract" contextual keyword of MSVC (details)
  41. [OpaquePtr] Clean up some uses of Type::getPointerElementType() (details)
  42. [MLIR] Specify namespace for standard dialect using cppNamespace field (details)
  43. [libcxx][nfc] moves std `advance`, `next`, and `prev` into their headers (details)
  44. [gn build] make libunwind build on macOS (details)
  45. [PowerPC] Fix x86 vector intrinsics wrapper compilation under C++ (details)
  46. [MLIR] Add dialect prefix to all operations from Math (details)
  47. [LV] Try to sink users recursively for first-order recurrences. (details)
  48. [libcxx] [test] Don't look for the literal spelling __mbstate_t in warnings (details)
  49. [libcxx] Define LIBCPP_HAS_TIMESPEC_GET for MSVC configurations (details)
  50. [libcxx] [test] Remove an incorrect TEST_HAS_ALIGNED_ALLOC define from test_macros.h (details)
  51. [libcxx] [test] Fix the include_as_c.sh.cpp test in MSVC configurations (details)
  52. [LoopDeletion] Add additional test cases with more nested loops. (details)
  53. [LoopInterhcange] Handle movement of reduction phis appropriately (details)
  54. [HIP] Relax checks in hip-include-path.hip test case again (details)
  55. [PowerPC] Improve f32 to i32 bitcast code gen (details)
  56. [OpaquePtr] Remove some uses of PointerType::getElementType() (details)
  57. Revert "[InstCombine] Fix miscompile on GEP+load to icmp fold (PR45210)" (details)
  58. Fix invalid math formulas in quantization doc (details)
  59. [Test] Add one more loop deletion irreducible CFG test (details)
  60. [PowerPC] Split tests for constrained intrinsics (details)
  61. [clangd] Type hints for variables with 'auto' type (details)
Commit 4f2fd3818b0eb26806f366bc37369349aeedcaf9 by aqjune
[InstCombine] Fix miscompile on GEP+load to icmp fold (PR45210)

As noted in PR45210: https://bugs.llvm.org/show_bug.cgi?id=45210
...the bug is triggered as Eli say when sext(idx) * ElementSize overflows.

```
   // assume that GV is an array of 4-byte elements
   GEP = gep GV, 0, Idx // this is accessing Idx * 4
   L = load GEP
   ICI = icmp eq L, value
 =>
   ICI = icmp eq Idx, NewIdx
```

The foldCmpLoadFromIndexedGlobal function simplifies GEP+load operation to icmp.
And there is a problem because Idx * ElementSize can overflow.

Let's assume that the wanted value is at offset 0.
Then, there are actually four possible values for Idx to match offset 0: 0x00..00, 0x40..00, 0x80..00, 0xC0..00.
We should return true for all these values, but currently, the new icmp only returns true for 0x00..00.

This problem can be solved by masking off (trailing zeros of ElementSize) bits from Idx.

```
   ...
 =>
   Idx' = and Idx, 0x3F..FF
   ICI = icmp eq Idx', NewIdx
```

Reviewed By: efriedma

Differential Revision: https://reviews.llvm.org/D99481
The file was modifiedllvm/test/Transforms/InstCombine/load-cmp.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
Commit e972068840710a8c832d21603b8409692604b865 by kadircet
[clangd] Move gtest include to TestTU.cpp from TestTU.h
The file was modifiedclang-tools-extra/clangd/unittests/TestTU.cpp
The file was modifiedclang-tools-extra/clangd/unittests/TestWorkspace.cpp
The file was modifiedclang-tools-extra/clangd/unittests/TestTU.h
Commit 5aa5eba135b7a5ee98ea99c56d3206891a260268 by tpopp
[mlir][NFC] Rename MathToLLVM->MathToLibm
The file was removedmlir/test/Conversion/MathToLLVM/convert-to-libm.mlir
The file was addedmlir/test/Conversion/MathToLibm/convert-to-libm.mlir
Commit 7d7b72bad7ff1fc22c79d535826de43452f3379d by martin
[libcxx] [test] Add UNSUPPORTED: msvc in a couple verify.cpp tests

Due to issues with the detection of the clang-verify feature, these
tests have been skipped in the Windows CI configuration so far.

Differential Revision: https://reviews.llvm.org/D103308
The file was modifiedlibcxx/test/std/language.support/cmp/cmp.categories.pre/zero_type.verify.cpp
The file was modifiedlibcxx/test/std/utilities/meta/meta.trans/meta.trans.other/underlying_type.fail.cpp
Commit 22f635b1b31a6bee1b0b8df58d5c8207c835b216 by amanieu
[LangRef] update according to unwinding support in inline asm

https://reviews.llvm.org/D95745 introduced a new `unwind` keyword for inline assembler expressions. Inline asms marked with the `unwind` keyword allows stack unwinding from inline assembly because the compiler emits unwinding information ("around" the inline asm) as it would for calls/invokes. Unwinding the stack from within non-unwind inline asm may cause UB.

Reviewed By: Amanieu

Differential Revision: https://reviews.llvm.org/D102642
The file was modifiedllvm/docs/LangRef.rst
Commit 2bc8ffa8afabeaf1cc97640419c1c2a926265170 by springerm
[mlir] Support permutation maps in vector transfer op folder

Fold away in_bounds attribute even if the transfer op has a non-identity permutation map.

Differential Revision: https://reviews.llvm.org/D103133
The file was modifiedmlir/test/Dialect/Linalg/vectorization.mlir
The file was modifiedmlir/lib/Dialect/Vector/VectorOps.cpp
Commit 2290a80b4dcbeb230ea47ea59b00205ccefbaa96 by tpopp
[mlir][NFC] Remove illegal TanhOp in LLVMConversionTarget

No tests fail and this seems to be technical debt from when the math
dialect was created. This should not be there as it prevents users from
configuring their converion target freely and results in unexpected
behavior on seemingly unrelated ops.

Differential Revision: https://reviews.llvm.org/D103388
The file was modifiedmlir/lib/Conversion/StandardToLLVM/StandardToLLVM.cpp
Commit bf35f4af51cddd743435bb6b94a45592c967891a by wingo
[WebAssembly][CodeGen] IR support for WebAssembly local variables

This patch adds TargetStackID::WasmLocal.  This stack holds locations of
values that are only addressable by name -- not via a pointer to memory.
For the WebAssembly target, these objects are lowered to WebAssembly
local variables, which are managed by the WebAssembly run-time and are
not addressable by linear memory.

For the WebAssembly target IR indicates that an AllocaInst should be put
on TargetStackID::WasmLocal by putting it in the non-integral address
space WASM_ADDRESS_SPACE_WASM_VAR, with value 1.  SROA will mostly lift
these allocations to SSA locals, but any alloca that reaches instruction
selection (usually in non-optimized builds) will be assigned the new
TargetStackID there.  Loads and stores to those values are transformed
to new WebAssemblyISD::LOCAL_GET / WebAssemblyISD::LOCAL_SET nodes,
which then lower to the type-specific LOCAL_GET_I32 etc instructions via
tablegen patterns.

Differential Revision: https://reviews.llvm.org/D101140
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyISD.def
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
The file was modifiedllvm/include/llvm/CodeGen/TargetFrameLowering.h
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyFrameLowering.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyISelDAGToDAG.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyExplicitLocals.cpp
The file was modifiedllvm/lib/Target/WebAssembly/Utils/WebAssemblyUtilities.h
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyFrameLowering.h
The file was addedllvm/test/CodeGen/WebAssembly/ir-locals-stackid.ll
The file was modifiedllvm/lib/Target/WebAssembly/Utils/WebAssemblyUtilities.cpp
The file was modifiedllvm/include/llvm/CodeGen/MIRYamlMapping.h
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.td
The file was modifiedllvm/lib/Target/AMDGPU/SIFrameLowering.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVFrameLowering.cpp
The file was addedllvm/test/CodeGen/WebAssembly/ir-locals.ll
Commit 818338add77411f5e9713247ea66142f332ef350 by hans
[clang] Add support for the "abstract" contextual keyword of MSVC

https://docs.microsoft.com/en-us/cpp/extensions/abstract-cpp-component-extensions?view=msvc-160
Note: like the already supported "sealed" keyword, the "abstract"
keyword is supported by MSVC by default.

Differential revision: https://reviews.llvm.org/D102517
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/test/SemaCXX/MicrosoftExtensions.cpp
The file was modifiedclang/lib/Parse/ParseDeclCXX.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticGroups.td
The file was modifiedclang/include/clang/Parse/Parser.h
The file was modifiedclang/include/clang/AST/DeclCXX.h
The file was modifiedclang/include/clang/Sema/DeclSpec.h
The file was modifiedclang/include/clang/Basic/DiagnosticParseKinds.td
The file was modifiedclang/lib/Sema/DeclSpec.cpp
The file was modifiedclang/lib/Sema/SemaDecl.cpp
Commit bc1ad6e3c49dacea862ca6fa44297c64bb053ad8 by wingo
Revert "[WebAssembly][CodeGen] IR support for WebAssembly local variables"

This reverts commit bf35f4af51cddd743435bb6b94a45592c967891a.  There was
an error in a shared-library build.
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyExplicitLocals.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIFrameLowering.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVFrameLowering.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.td
The file was removedllvm/test/CodeGen/WebAssembly/ir-locals-stackid.ll
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyFrameLowering.h
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyISD.def
The file was removedllvm/test/CodeGen/WebAssembly/ir-locals.ll
The file was modifiedllvm/include/llvm/CodeGen/MIRYamlMapping.h
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyISelDAGToDAG.cpp
The file was modifiedllvm/include/llvm/CodeGen/TargetFrameLowering.h
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyFrameLowering.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
The file was modifiedllvm/lib/Target/WebAssembly/Utils/WebAssemblyUtilities.cpp
The file was modifiedllvm/lib/Target/WebAssembly/Utils/WebAssemblyUtilities.h
Commit 37b530a2ea8bdc28a22a3f8ca701455fb7febdea by dmitry.polukhin
[clang] NFC: split HeaderMapTest to have re-usable header map implementation for testing

NFC changes required for https://reviews.llvm.org/D103142

Test Plan: check-clang

Differential Revision: https://reviews.llvm.org/D103229
The file was modifiedclang/unittests/Lex/HeaderMapTest.cpp
The file was addedclang/unittests/Lex/HeaderMapTestUtils.h
Commit eb2393659113696adf2bd770917f3109d1455c76 by fraser
[RISCV] Support vector conversions between fp and i1

This patch custom lowers FP_TO_[US]INT and [US]INT_TO_FP conversions
between floating-point and boolean vectors. As the default action is
scalarization, this patch both supports scalable-vector conversions and
improves the code generation for fixed-length vectors.

The lowering for these conversions can piggy-back on the existing
lowering, which lowers the operations to a supported narrowing/widening
conversion and then either an extension or truncation.

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D103312
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfptoi-sdnode.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp2i.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vitofp-sdnode.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-i2fp.ll
Commit 24ee6d3d3c6215db11e9015e94f5f4a9b5a7b750 by Raphael Isemann
[lldb][NFC] Remove unused var in SBDebugger::GetInternalVariableValue

This variable was originally just the default return value but got unused
in 6920b52be6f8731692a9bff4fe6a7b596cda00c5 .
The file was modifiedlldb/source/API/SBDebugger.cpp
Commit 222aeb4d51a46c5a81c9e4ccb16d1d19dd21ec95 by david.green
[DSE] Remove stores in the same loop iteration

DSE will currently only remove stores in the same block unless they can
be guaranteed to be loop invariant. This expands that to any stores that
are in the same Loop, at the same loop level. This should still account
for where AA/MSSA will not handle aliasing between loops, but allow the
dead stores to be removed where they overlap in the same loop iteration.
It requires adding loop info to DSE, but that looks fairly harmless.

The test case this helps is from code like this, which can come up in
certain matrix operations:
  for(i=..)
    dst[i] = 0;
    for(j=..)
      dst[i] += src[i*n+j];

After LICM, this becomes:
for(i=..)
  dst[i] = 0;
  sum = 0;
  for(j=..)
    sum += src[i*n+j];
  dst[i] = sum;

The first store is dead, and with this patch is now removed.

Differntial Revision: https://reviews.llvm.org/D100464
The file was modifiedllvm/test/Other/opt-O3-pipeline.ll
The file was modifiedllvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
The file was modifiedllvm/test/Other/opt-O2-pipeline.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/opt-pipeline.ll
The file was modifiedllvm/test/Other/opt-O3-pipeline-enable-matrix.ll
The file was modifiedllvm/test/Other/opt-Os-pipeline.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/multiblock-loops.ll
Commit 7161bb87c914684562bfb20fec7d60e533150f7a by aqjune
[InsCombine] Fix a few remaining vec transforms to use poison instead of undef

This is a patch that replaces shufflevector and insertelement's placeholder value with poison.

Underlying motivation is to fix the semantics of shufflevector with undef mask to return poison instead
(D93818)
The consensus has been made in the late 2020 via mailing list as well as the thread in https://bugs.llvm.org/show_bug.cgi?id=44185 .

This patch is a simple syntactic change to the existing code, hence directly pushed as a commit.
The file was modifiedllvm/test/Transforms/InstCombine/bitcast-vec-canon-inseltpoison.ll
The file was modifiedllvm/test/Transforms/InstCombine/extractelement-inseltpoison.ll
The file was modifiedllvm/test/Transforms/InstCombine/insert-extract-shuffle-inseltpoison.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/metadata-enable.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/pr46983.ll
The file was modifiedllvm/test/Transforms/InstCombine/X86/x86-pshufb.ll
The file was modifiedllvm/test/Transforms/InstCombine/canonicalize-vector-extract.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/alternate-int-inseltpoison.ll
The file was modifiedllvm/test/Transforms/InstCombine/bitcast-vec-canon.ll
The file was modifiedllvm/test/Transforms/InstCombine/extractelement.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/alternate-int.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/pr47629-inseltpoison.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
The file was modifiedllvm/test/Transforms/InstCombine/X86/x86-pshufb-inseltpoison.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
The file was modifiedllvm/test/Transforms/InstCombine/broadcast-inseltpoison.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/operandorder.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/AArch64/getelementptr.ll
The file was modifiedllvm/test/Transforms/InstCombine/masked_intrinsics.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/pr47629.ll
The file was modifiedllvm/test/Transforms/InstCombine/insert-extract-shuffle.ll
The file was modifiedllvm/test/Transforms/InstCombine/masked_intrinsics-inseltpoison.ll
The file was modifiedllvm/test/Transforms/InstCombine/broadcast.ll
Commit 2b37c405cc18019ea5056a63fa65f839a4890b50 by fraser
[RISCV] Scale scalably-typed split argument offsets by VSCALE

This patch fixes a bug in lowering scalable-vector types in RISC-V's
main calling convention. When scalable-vector types are split and passed
indirectly, the target is responsible for scaling the offset --
initially set to the known-minimum store size -- by the scalable factor.

Before this we were issuing overlapping loads or stores to the different
parts, leading to incorrect codegen.

Credit to @HsiangKai for spotting this.

Reviewed By: HsiangKai

Differential Revision: https://reviews.llvm.org/D103262
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp
The file was modifiedllvm/test/CodeGen/RISCV/rvv/calling-conv.ll
Commit dee85d47d9f15fc268f7b18f279dac2774836615 by djtodoro
[LiveDebugVariables] Stop trimming locations of non-inlined vars

The D35953, D62650 and D73691 introduced trimming of variables locations
in LiveDebugVariables pass, since there are some cases where after
the virtregrewrite we have exploded number of DBG_VALUEs created for some
inlined variables. As it looks, all problematic cases were regarding
inlined variables, so it seems reasonable to stop trimming the location
ranges for non-inlined variables.
It has very good impact on the llvm-locstats report.

Differential Revision: https://reviews.llvm.org/D102917
The file was addedllvm/test/DebugInfo/MIR/Mips/livedebugvars-stop-trimming-loc.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/ptr-arg-dbg-value.ll
The file was modifiedllvm/lib/CodeGen/LiveDebugVariables.cpp
The file was modifiedllvm/test/CodeGen/PowerPC/non-debug-mi-search-frspxsrsp.ll
The file was modifiedllvm/test/DebugInfo/X86/dbg-addr-dse.ll
Commit a723ca32af896d99058672a43fe457ba155a23b2 by aqjune
fix broken clang tests after  7161bb87c914
The file was modifiedclang/test/Headers/wasm.c
The file was modifiedclang/test/CodeGen/aarch64-bf16-getset-intrinsics.c
The file was modifiedclang/test/CodeGen/aarch64-neon-vcmla.c
The file was modifiedclang/test/CodeGen/X86/avx-shuffle-builtins.c
The file was modifiedclang/test/CodeGen/aarch64-bf16-lane-intrinsics.c
The file was modifiedclang/test/CodeGen/arm-bf16-getset-intrinsics.c
Commit 434c8e013a2c3f970df8d79f62491c611534bd5c by spatel
[SDAG] try harder to fold casts into vector compare

sext (vsetcc X, Y) --> vsetcc (zext X), (zext Y) --
(when the zexts are free and a bunch of other conditions)

We have a couple of similar folds to this already for vector selects,
but this pattern slips through because it is only a setcc.

The tests are based on the motivating case from:
https://llvm.org/PR50055
...but we need extra logic to get that example, so I've left that as
a TODO for now.

Differential Revision: https://reviews.llvm.org/D103280
The file was modifiedllvm/test/CodeGen/X86/sext-vsetcc.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Commit 8006ac7fe449e272385b85db80d22c924ab61d3a by goncharov.mikhail
fix test for symlinked clang c1ee4fb5af49a
The file was modifiedclang/test/Driver/avr-toolchain.c
Commit 83cc4478a060e795046c544d0b7618747f51f6d4 by a.v.lapshin
[llvm-objcopy][NFC] Refactor CopyConfig structure - remove lazy options processing.

During reviewing D102277 it was decided to remove lazy options processing
from llvm-objcopy CopyConfig structure. This patch transforms processing of ELF
lazy options into the in-place processing.

Differential Revision: https://reviews.llvm.org/D103260
The file was modifiedllvm/tools/llvm-objcopy/ConfigManager.cpp
The file was modifiedllvm/tools/llvm-objcopy/CommonConfig.h
The file was modifiedllvm/tools/llvm-objcopy/ELF/ELFConfig.h
The file was modifiedllvm/tools/llvm-objcopy/ConfigManager.h
The file was modifiedllvm/tools/llvm-objcopy/ELF/ELFObjcopy.cpp
Commit 4fc328695143d29a87d45ab5095da7372a366c42 by Pushpinder.Singh
[AMDGPU][Libomptarget][NFC] Split host and device malloc

This patch splits the code path for host and device malloc.

Reviewed By: JonChesterfield

Differential Revision: https://reviews.llvm.org/D103389
The file was modifiedopenmp/libomptarget/plugins/amdgpu/impl/atmi_runtime.h
The file was modifiedopenmp/libomptarget/plugins/amdgpu/src/rtl.cpp
The file was modifiedopenmp/libomptarget/plugins/amdgpu/impl/rt.h
The file was modifiedopenmp/libomptarget/plugins/amdgpu/impl/atmi.cpp
The file was modifiedopenmp/libomptarget/plugins/amdgpu/impl/data.cpp
Commit 18c2106e281b111047724f139f1ab6ff6769cf6c by uday
[MLIR] Fix warnings in AffineOps.cpp

Fix warnings in AffineOps.cpp.

Differential Revision: https://reviews.llvm.org/D103374
The file was modifiedmlir/lib/Dialect/Affine/IR/AffineOps.cpp
Commit f7c95c33222ec7b4e61b1ca158485f44ee3564a6 by lebedev.ri
[NFC] ScalarEvolution: apply SSO to the ExprValueMap value

ExprValueMap is a map from SCEV * to a set-vector of (Value *, ConstantInt *) pair,
and while the map itself will likely be big-ish (have many keys),
it is a reasonable assumption that each key will refer to a small-ish
number of pairs.

In particular looking at n=512 case from
https://bugs.llvm.org/show_bug.cgi?id=50384,
the small-size of 4 appears to be the sweet spot,
it results in the least allocations while minimizing memory footprint.
```
$ for i in $(ls heaptrack.opt.*.gz); do echo $i; heaptrack_print $i | tail -n 6; echo ""; done
heaptrack.opt.0-orig.gz
total runtime: 14.32s.
calls to allocation functions: 8222442 (574192/s)
temporary memory allocations: 2419000 (168924/s)
peak heap memory consumption: 190.98MB
peak RSS (including heaptrack overhead): 239.65MB
total memory leaked: 67.58KB

heaptrack.opt.1-n1.gz
total runtime: 13.72s.
calls to allocation functions: 7184188 (523705/s)
temporary memory allocations: 2419017 (176338/s)
peak heap memory consumption: 191.38MB
peak RSS (including heaptrack overhead): 239.64MB
total memory leaked: 67.58KB

heaptrack.opt.2-n2.gz
total runtime: 12.24s.
calls to allocation functions: 6146827 (502355/s)
temporary memory allocations: 2418997 (197695/s)
peak heap memory consumption: 163.31MB
peak RSS (including heaptrack overhead): 211.01MB
total memory leaked: 67.58KB

heaptrack.opt.3-n4.gz
total runtime: 12.28s.
calls to allocation functions: 6068532 (494260/s)
temporary memory allocations: 2418985 (197017/s)
peak heap memory consumption: 155.43MB
peak RSS (including heaptrack overhead): 201.77MB
total memory leaked: 67.58KB

heaptrack.opt.4-n8.gz
total runtime: 12.06s.
calls to allocation functions: 6068042 (503321/s)
temporary memory allocations: 2418992 (200646/s)
peak heap memory consumption: 166.03MB
peak RSS (including heaptrack overhead): 213.55MB
total memory leaked: 67.58KB

heaptrack.opt.5-n16.gz
total runtime: 12.14s.
calls to allocation functions: 6067993 (499958/s)
temporary memory allocations: 2418999 (199307/s)
peak heap memory consumption: 187.24MB
peak RSS (including heaptrack overhead): 233.69MB
total memory leaked: 67.58KB
```

While that test may be an edge worst-case scenario,
https://llvm-compile-time-tracker.com/compare.php?from=dee85d47d9f15fc268f7b18f279dac2774836615&to=98a57e31b1947d5bcdf4a5605ac2ab32b4bd5f63&stat=instructions
agrees that this also results in improvements in the usual situations.
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
The file was modifiedllvm/include/llvm/Analysis/ScalarEvolution.h
The file was modifiedllvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
Commit 1288adaa7350ca1b6aba1f535710dbe89f16de65 by frgossen
[MLIR][Shape] Remove duplicate operands of `shape.assuming_all` op

Differential Revision: https://reviews.llvm.org/D103403
The file was modifiedmlir/lib/Dialect/Shape/IR/Shape.cpp
The file was modifiedmlir/test/Dialect/Shape/canonicalize.mlir
Commit 2fc05fdc156fab5a7a7ef1d5b7d217ffa766d86f by thakis
[libunwind] fix -Wc++98-compat-extra-semi without _LIBUNWIND_HIDE_SYMBOLS
The file was modifiedlibunwind/src/config.h
Commit 63fe4cb08206fb973761b8e744bdd5d500c25b8b by spatel
[SDAG] add check to sext-of-setcc fold to bypass changing a legal op

I accidentaly pushed a draft of D103280 that was discussed
during the review, but it was not supposed to be the final
version.

Rather than revert and recommit, I'm updating the existing
code. This way we have a record of the codegen diff that
would result if we decide to remove this predicate in the
future.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modifiedllvm/test/CodeGen/X86/sext-vsetcc.ll
Commit 0a52d9006c8656af242f6cc237d126c62c61bbac by gysit
[mlir][linalg] Update Structured Op Interface (NFC).

Adding methods to access operand properties via OpOperands and mark outdated methods as deprecated.

Differential Revision: https://reviews.llvm.org/D103394
The file was modifiedmlir/lib/Dialect/Linalg/IR/LinalgInterfaces.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgInterfaces.td
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgInterfaces.h
Commit c36ff6424f249d3e2005fb0589337452cd7ddad3 by goncharov.mikhail
Revert "[clang] Add support for the "abstract" contextual keyword of MSVC"

This reverts commit 818338add77411f5e9713247ea66142f332ef350.

Tests fail under sanitizer: https://lab.llvm.org/buildbot/#/builders/5/builds/8150
The file was modifiedclang/include/clang/Basic/DiagnosticGroups.td
The file was modifiedclang/include/clang/Parse/Parser.h
The file was modifiedclang/lib/Sema/DeclSpec.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticParseKinds.td
The file was modifiedclang/test/SemaCXX/MicrosoftExtensions.cpp
The file was modifiedclang/include/clang/Sema/DeclSpec.h
The file was modifiedclang/lib/Parse/ParseDeclCXX.cpp
The file was modifiedclang/include/clang/AST/DeclCXX.h
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/lib/Sema/SemaDecl.cpp
Commit f4f7bc17374ef79646ffc97a204abc8377187f16 by gysit
[mlir][linalg] Cleanup LinalgOp usage in verification (NFC).

Replace the uses of deprecated Structured Op Interface methods in LinalgInterfaces.cpp. This patch is based on https://reviews.llvm.org/D103394.

Differential Revision: https://reviews.llvm.org/D103404
The file was modifiedmlir/lib/Dialect/Linalg/IR/LinalgInterfaces.cpp
Commit e853d3b274472549a6cc4cf255e923487707216c by daniil.fukalov
[NFC] MemoryDependenceAnalysis cleanup.

1. Removed redundant includes,
2. Removed never defined and used `releaseMemory()`.
3. Fixed member functions names first letter case.
4. Renamed duplicate (in nested struct `NonLocalPointerInfo`) name
   `NonLocalDeps` to `NonLocalDepsMap`.

Reviewed By: nikic

Differential Revision: https://reviews.llvm.org/D102358
The file was modifiedllvm/include/llvm/Transforms/Scalar/GVN.h
The file was modifiedllvm/include/llvm/Analysis/MemoryDependenceAnalysis.h
The file was modifiedllvm/lib/Analysis/MemoryDependenceAnalysis.cpp
Commit b8dcd920ec286d70976521dbc4692dc5f24dabe8 by anirudh_prasad
[AsmParser][SystemZ][z/OS] Introducing HLASM Parser support to AsmParser - Part 2

- This patch is the second (and hopefully final) part of providing HLASM syntax for inline asm statements for z/OS to LLVM (continuing on from https://reviews.llvm.org/D98276)
- This second part deals with providing label support
- As mentioned in https://reviews.llvm.org/D98276, if the first token is not a space we process the first token as a label, and the remaining tokens as a possible machine instruction
- To achieve this, a new `parseAsHLASMLabel` function is introduced. This function processes the first token, validates whether it is an "acceptable" label according to HLASM standards, and then emits it
- After handling and emitting the label, call the `parseAsMachineInstruction` instruction to process the remaining tokens as a machine instruction.

Reviewed By: uweigand

Differential Revision: https://reviews.llvm.org/D103320
The file was modifiedllvm/lib/MC/MCParser/AsmParser.cpp
Commit d39f5c3cb97e769f960681b3132724e16b756e80 by arthur.j.odwyer
[libc++] Avoid `result_type` and `unary/binary_function` in <valarray>.

Give each of the relevant functional operators a `__result_type`
instead, so that we can keep using those typedefs in <valarray>
even when the public binder typedefs are removed in C++20.

Differential Revision: https://reviews.llvm.org/D103371
The file was modifiedlibcxx/include/functional
The file was modifiedlibcxx/include/__functional_base
The file was modifiedlibcxx/include/valarray
Commit 8815ce03e8575cb27e951b5f5a11384421730e20 by aeubanks
Remove "Rewrite Symbols" from codegen pipeline

It breaks up the function pass manager in the codegen pipeline.

With empty parameters, it looks at the -mllvm flag -rewrite-map-file.
This is likely not in use.

Add a check that we only have one function pass manager in the codegen
pipeline.

Some tests relied on the fact that we had a module pass somewhere in the
codegen pipeline.

addr-label.ll crashes on ARM due to this change. This is because a
ARMConstantPoolConstant containing a BasicBlock to represent a
blockaddress may hold an invalid pointer to a BasicBlock if the
blockaddress is invalidated by its BasicBlock getting removed. In that
case all referencing blockaddresses are RAUW a constant int. Making
ARMConstantPoolConstant::CVal a WeakVH fixes the crash, but I'm not sure
that's the right fix. As a workaround, create a barrier right before
ISel so that IR optimizations can't happen while a
ARMConstantPoolConstant has been created.

Reviewed By: rnk, MaskRay, compnerd

Differential Revision: https://reviews.llvm.org/D99707
The file was modifiedllvm/test/CodeGen/ARM/O3-pipeline.ll
The file was modifiedllvm/lib/Target/ARM/CMakeLists.txt
The file was modifiedllvm/test/CodeGen/X86/opt-pipeline.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/llc-pipeline.ll
The file was modifiedllvm/test/CodeGen/Generic/addr-label.ll
The file was modifiedllvm/lib/CodeGen/TargetPassConfig.cpp
The file was modifiedllvm/test/CodeGen/X86/O0-pipeline.ll
The file was modifiedllvm/test/CodeGen/X86/select_meta.ll
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Target/ARM/BUILD.gn
The file was modifiedllvm/test/CodeGen/AArch64/O3-pipeline.ll
The file was modifiedllvm/lib/Target/ARM/ARMTargetMachine.cpp
The file was modifiedllvm/test/CodeGen/AArch64/O0-pipeline.ll
The file was modifiedllvm/test/Other/2010-05-06-Printer.ll
Commit 41bdf64d3e94f56870b07bed579ff2a54f0f1ca6 by Louis Dionne
[libc++] Update all the pre-defined iterator types for C++20

Make sure we provide the correct It::difference_type member and update
the tests and synopses to be accurate.

Supersedes D102657 and D103101 (thanks to the original authors).

Differential Revision: https://reviews.llvm.org/D103273
The file was modifiedlibcxx/test/std/iterators/predef.iterators/insert.iterators/front.insert.iterator/iterator_concept_conformance.compile.pass.cpp
The file was addedlibcxx/test/std/iterators/stream.iterators/ostream.iterator/ostream.iterator.cons.des/default.pass.cpp
The file was addedlibcxx/test/std/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.insert.iter.cons/default.pass.cpp
The file was modifiedlibcxx/test/std/iterators/predef.iterators/insert.iterators/back.insert.iterator/types.pass.cpp
The file was modifiedlibcxx/include/iterator
The file was addedlibcxx/test/std/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.insert.iter.cons/default.pass.cpp
The file was addedlibcxx/test/std/iterators/predef.iterators/insert.iterators/insert.iter.ops/insert.iter.cons/default.pass.cpp
The file was addedlibcxx/test/std/iterators/stream.iterators/ostreambuf.iterator/ostreambuf.iter.cons/default.pass.cpp
The file was modifiedlibcxx/include/__memory/raw_storage_iterator.h
The file was modifiedlibcxx/test/std/iterators/stream.iterators/ostreambuf.iterator/types.pass.cpp
The file was modifiedlibcxx/test/std/iterators/predef.iterators/insert.iterators/front.insert.iterator/types.pass.cpp
The file was modifiedlibcxx/test/std/iterators/predef.iterators/insert.iterators/insert.iterator/iterator_concept_conformance.compile.pass.cpp
The file was modifiedlibcxx/include/memory
The file was modifiedlibcxx/test/std/iterators/iterator.primitives/iterator.traits/cxx20_iterator_traits.compile.pass.cpp
The file was modifiedlibcxx/test/std/iterators/stream.iterators/istreambuf.iterator/types.pass.cpp
The file was modifiedlibcxx/test/std/utilities/memory/storage.iterator/types.compile.pass.cpp
The file was modifiedlibcxx/test/std/iterators/stream.iterators/istream.iterator/types.pass.cpp
The file was modifiedlibcxx/test/std/iterators/stream.iterators/ostream.iterator/types.pass.cpp
The file was modifiedlibcxx/test/std/iterators/predef.iterators/insert.iterators/back.insert.iterator/iterator_concept_conformance.compile.pass.cpp
The file was modifiedlibcxx/test/std/iterators/predef.iterators/insert.iterators/insert.iterator/types.pass.cpp
The file was modifiedlibcxx/test/std/iterators/stream.iterators/ostream.iterator/iterator_concept_conformance.compile.pass.cpp
The file was modifiedlibcxx/test/std/iterators/stream.iterators/ostreambuf.iterator/iterator_concept_conformance.compile.pass.cpp
Commit a610df533379036b2b305350be244677e3702bca by aeubanks
[test] Fix addr-label.ll after D99707

Needs REQUIRES.
The file was modifiedllvm/test/CodeGen/Generic/addr-label.ll
Commit 9853d0db1e01691562003914f1e803ab0d3a15b2 by andrea.dibiagio
[MCA][NFCI] Minor changes to InstrBuilder and Instruction.

This is based on the assumption that most simulated instructions don't define
more than one or two registers. This is true for example on x86, where
most instruction definitions don't declare more than one register write.

The default code region size has been increased from 8 to 16. This is based on
the assumption that, for small microbenchmarks, the typical code snippet size is
often less than 16 instructions.

mca::Instruction now uses bitfields to pack flags.
No functional change intended.
The file was modifiedllvm/include/llvm/MCA/Instruction.h
The file was modifiedllvm/lib/MCA/CodeEmitter.cpp
The file was modifiedllvm/lib/MCA/Context.cpp
The file was modifiedllvm/include/llvm/MCA/InstrBuilder.h
The file was modifiedllvm/tools/llvm-mca/CodeRegion.h
Commit d350dd8ba26fa6a6199f328f1026f1aca5f7f095 by aeubanks
[test] Properly match parameter/argument ABI attributes

These were found with D103412.
The file was modifiedllvm/test/Transforms/Attributor/value-simplify.ll
The file was modifiedllvm/test/Transforms/DeadArgElim/byref.ll
The file was modifiedllvm/test/Other/lint.ll
The file was modifiedllvm/test/Transforms/LoopStrengthReduce/X86/pr46943.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/dbg.ll
The file was modifiedllvm/test/Transforms/OpenMP/icv_tracking.ll
The file was modifiedllvm/test/Transforms/OpenMP/gpu_state_machine_function_ptr_replacement.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/fp80.ll
The file was modifiedllvm/test/Transforms/Attributor/readattrs.ll
The file was modifiedllvm/test/Transforms/TailCallElim/basic.ll
The file was modifiedllvm/test/Transforms/ArgumentPromotion/fp80.ll
Commit 73cdc7599bf053c3e22ce6bb15a4266f66bd5e69 by Louis Dionne
[libc++] [test] Fix a few tests for 32-bit x86

Fixes bug https://llvm.org/PR48939.

Differential Revision: https://reviews.llvm.org/D102359
The file was modifiedlibcxx/test/libcxx/gdb/gdb_pretty_printer_test.sh.cpp
The file was modifiedlibcxx/test/libcxx/memory/trivial_abi/unique_ptr_ret.pass.cpp
The file was modifiedlibcxx/test/libcxx/memory/trivial_abi/weak_ptr_ret.pass.cpp
Commit 116179c2ee5213f2ae8f07a400ac98f0c995b3d3 by hans
Re-commit [clang] Add support for the "abstract" contextual keyword of MSVC

https://docs.microsoft.com/en-us/cpp/extensions/abstract-cpp-component-extensions?view=msvc-160
Note: like the already supported "sealed" keyword, the "abstract"
keyword is supported by MSVC by default.

This re-commits 818338add77411f5e9713247ea66142f332ef350 with added
initialization of Parser::Ident_abstract.

Differential revision: https://reviews.llvm.org/D102517
The file was modifiedclang/test/SemaCXX/MicrosoftExtensions.cpp
The file was modifiedclang/include/clang/Parse/Parser.h
The file was modifiedclang/lib/Parse/ParseDeclCXX.cpp
The file was modifiedclang/lib/Sema/DeclSpec.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticGroups.td
The file was modifiedclang/include/clang/Sema/DeclSpec.h
The file was modifiedclang/lib/Sema/SemaDecl.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticParseKinds.td
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/include/clang/AST/DeclCXX.h
The file was modifiedclang/lib/Parse/Parser.cpp
Commit 2c3afa32377693514e400aee10f27b691887b4cf by aeubanks
[OpaquePtr] Clean up some uses of Type::getPointerElementType()

These depend on pointee types.
The file was modifiedllvm/lib/IR/ConstantFold.cpp
The file was modifiedllvm/lib/CodeGen/SafeStack.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUAnnotateUniformValues.cpp
The file was modifiedllvm/lib/Target/ARM/MVEGatherScatterLowering.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonVectorCombine.cpp
Commit e4034881c3537d914b3208ddcf8200fb437073c8 by arjunpitchanathan
[MLIR] Specify namespace for standard dialect using cppNamespace field

The `::mlir` namespace for operations from standard is currently
defined by enclosing the header file generated from the ODS in
`Ops.td` in a namespace in `Ops.h`. However, when referencing
operations from `Ops.td` in other TableGen files, this causes the
generated C++ code to refer to classes from the global namespace
instead of `::mlir`.

By defining the namespace through the `cppNamespace` field for
`StandardOps_Dialect` directly in `Ops.td` instead, the ODS
becomes reusable in other TableGen files through simple
inclusion.

Reviewed By: mehdi_amini

Differential Revision: https://reviews.llvm.org/D103234
The file was modifiedmlir/include/mlir/Dialect/StandardOps/IR/Ops.h
The file was modifiedmlir/include/mlir/Dialect/StandardOps/IR/Ops.td
Commit bf92bdad77a34770fe0541a750f9cd3a61f169a3 by cjdb
[libcxx][nfc] moves std `advance`, `next`, and `prev` into their headers

Differential Revision: https://reviews.llvm.org/D103329
The file was modifiedlibcxx/include/iterator
The file was modifiedlibcxx/include/__iterator/next.h
The file was modifiedlibcxx/include/__iterator/advance.h
The file was modifiedlibcxx/include/__iterator/prev.h
Commit 1279b79c9bb10c15baab08a629ebc535b442af3b by thakis
[gn build] make libunwind build on macOS
The file was modifiedllvm/utils/gn/secondary/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/libunwind/src/BUILD.gn
Commit c0b3071833a80121a5a7ca9ea54fd59a59806acc by fwage73
[PowerPC] Fix x86 vector intrinsics wrapper compilation under C++

Reviewed By: nemanjai

Differential Revision: https://reviews.llvm.org/D103386
The file was modifiedclang/lib/Headers/ppc_wrappers/xmmintrin.h
The file was modifiedclang/test/CodeGen/ppc-xmmintrin.c
Commit 73b759a33a9c2fccf72c31f7adb5038cc0eb621f by arjunpitchanathan
[MLIR] Add dialect prefix to all operations from Math

Prefix all operations from the ODS of the `Math` dialect with `Math_`
in order to avoid name clashes when including `MathOps.td` in other
TableGen files (e.g., for `FloatUnaryOp`, which also exists in
`Standard`).

Reviewed By: jpienaar, mehdi_amini

Differential Revision: https://reviews.llvm.org/D103248
The file was modifiedmlir/include/mlir/Dialect/Math/IR/MathOps.td
Commit aa00b1d76364fc558fa6f28e31bb33938e1ae6af by flo
[LV] Try to sink users recursively for first-order recurrences.

Update isFirstOrderRecurrence to  explore all uses of a recurrence phi
and check if we can sink them. If there are multiple users to sink, they
are all mapped to the previous instruction.

Fixes PR44286 (and another PR or two).

Reviewed By: Ayal

Differential Revision: https://reviews.llvm.org/D84951
The file was modifiedllvm/lib/Analysis/IVDescriptors.cpp
The file was modifiedllvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
The file was modifiedllvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
The file was modifiedllvm/include/llvm/Analysis/IVDescriptors.h
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
The file was modifiedllvm/test/Transforms/LoopVectorize/first-order-recurrence-complex.ll
Commit b48a256e9c6e300f9f3f20180db369b9e7e27250 by martin
[libcxx] [test] Don't look for the literal spelling __mbstate_t in warnings

While the code uses the type name `std::mbstate_t`, the warning message
mentions the original underlying type, which is a C library internal
type name.

On Windows this type is called `_Mbstatet` instead of `__mbstate_t`. Use
expect-warning-re to avoid spelling out the literal name of the type.

Due to issues with the detection of the clang-verify feature, these
tests have been skipped in the Windows CI configuration so far.

Differential Revision: https://reviews.llvm.org/D103309
The file was modifiedlibcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt.byname/codecvt_byname_char32_t_char.depr_in_cxx20.verify.cpp
The file was modifiedlibcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/codecvt_char16_t_char.depr_in_cxx20.verify.cpp
The file was modifiedlibcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/codecvt_char32_t_char.depr_in_cxx20.verify.cpp
The file was modifiedlibcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt.byname/codecvt_byname_char16_t_char.depr_in_cxx20.verify.cpp
Commit c8644ae1e98c38e44460f50cf9eeba979b32a7e6 by martin
[libcxx] Define LIBCPP_HAS_TIMESPEC_GET for MSVC configurations

This define was out of sync with the corresponding define in tests, it
was added inconsistently in 171c77b7dad4a050aca23ff7ca1b75f87560fefb.

Modern MSVC environments do have these typedefs and functions.

Differential Revision: https://reviews.llvm.org/D103398
The file was modifiedlibcxx/test/std/language.support/support.runtime/ctime.pass.cpp
The file was modifiedlibcxx/test/libcxx/language.support/has_timespec_get.compile.pass.cpp
The file was modifiedlibcxx/test/std/utilities/time/date.time/ctime.pass.cpp
The file was modifiedlibcxx/include/__config
Commit be34d5f74afe8347b8b6110cb209186caf07e16b by martin
[libcxx] [test] Remove an incorrect TEST_HAS_ALIGNED_ALLOC define from test_macros.h

This was added inconsistently in
19fd9039ca242f408493b5c662f9d908eab8555e; Windows doesn't have the
aligned_alloc function (neither MSVC nor MinGW toolchains) and we don't
define _LIBCPP_HAS_ALIGNED_ALLOC while building libcxx.

Differential Revision: https://reviews.llvm.org/D103399
The file was modifiedlibcxx/test/libcxx/language.support/has_aligned_alloc.compile.pass.cpp
The file was modifiedlibcxx/test/std/depr/depr.c.headers/stdlib_h.pass.cpp
The file was modifiedlibcxx/test/std/language.support/support.runtime/cstdlib.pass.cpp
The file was modifiedlibcxx/test/support/test_macros.h
Commit 23f7f56cecf9015f5fbee5b502430fd6985d269a by martin
[libcxx] [test] Fix the include_as_c.sh.cpp test in MSVC configurations

Avoid including a header that is known not to work with clang in MSVC
mode when compiling as C.

(Alternatively, this could be something like "XFAIL: clang && msvc",
but I think it's more useful to actually check the rest of the test
instead of expecting the whole test to fail.)

Differential Revision: https://reviews.llvm.org/D103400
The file was modifiedlibcxx/test/libcxx/include_as_c.sh.cpp
Commit 5c9fe816e3b6b9cdbf75758f2744a45f97c489f0 by flo
[LoopDeletion] Add additional test cases with more nested loops.

Also remove mustprogress function attribute from one of the tests

Extends test coverage for D103382.
The file was modifiedllvm/test/Transforms/LoopDeletion/noop-loops-with-subloops.ll
Commit bfefde22b670359eddd7843573b63dc4326f33c1 by congzhecao
[LoopInterhcange] Handle movement of reduction phis appropriately

This patch fixes pr43326 and pr48212.

Currently when we move reduction phis to the right place,
loop interchange assumes the first phi in loop headers is
an induction phi, skips the first phi and assumes the rest
of phis are candidate reduction phis to move. However, it
may not always be the case.

This patch loops over all phis in loop headers and considers
a phi node as a candidate reduction phi to move only when it
is indeed a reduction phi across outer and inner loop.

Reviewed By: Whitney

Differential Revision: https://reviews.llvm.org/D102743
The file was modifiedllvm/lib/Transforms/Scalar/LoopInterchange.cpp
The file was addedllvm/test/Transforms/LoopInterchange/pr48212.ll
The file was addedllvm/test/Transforms/LoopInterchange/pr43326.ll
Commit f0e10cc91bc40fb5c0698846f0a324d4658f54c7 by bjorn.a.pettersson
[HIP] Relax checks in hip-include-path.hip test case again

The tightened checks from commit 722c39fef5ab6 did not work
fully for buildbots using symlinks in repo paths. This patch
is not fully reverting 722c39fef5ab6, as we still match that
there is a "/lib" somewhere in the path before "/clang/".

So this is once again a bit fragile in case someone would put
their repo in a base directory, for example, named
"/scratch/lib/foo/clang/llvm-project/". But it is atleast a
bit better than the original checks (avoiding the problem that
commit 722c39fef5ab6 was solving).
The file was modifiedclang/test/Driver/hip-include-path.hip
Commit db26cd30b6dd65e88d786e97a1e453af5cd48966 by albionapc
[PowerPC] Improve f32 to i32 bitcast code gen

The code gen for f32 to i32 bitcast is not currently the most efficient;
this patch removes some unneccessary instructions gerneated.

Differential revision: https://reviews.llvm.org/D100782
The file was modifiedllvm/test/CodeGen/PowerPC/aix-vec_insert_elt.ll
The file was modifiedllvm/test/CodeGen/PowerPC/scalar_vector_test_4.ll
The file was modifiedllvm/test/CodeGen/PowerPC/bitcasts-direct-move.ll
The file was modifiedllvm/test/CodeGen/PowerPC/p9-xxinsertw-xxextractuw.ll
The file was modifiedllvm/test/CodeGen/PowerPC/vec_insert_elt.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrVSX.td
The file was modifiedllvm/test/CodeGen/PowerPC/aix-p9-xxinsertw-xxextractuw.ll
Commit 372237487e2494f37ad204b7a0eea3425d919e66 by aeubanks
[OpaquePtr] Remove some uses of PointerType::getElementType()
The file was modifiedllvm/include/llvm/IR/InstrTypes.h
The file was modifiedllvm/lib/ExecutionEngine/Interpreter/Execution.cpp
The file was modifiedllvm/lib/CodeGen/AtomicExpandPass.cpp
The file was modifiedllvm/lib/Transforms/Coroutines/CoroSplit.cpp
The file was modifiedllvm/include/llvm/IR/Instructions.h
Commit e6b086bef2c0597ed14b2aefbb3f6d74b94fd49e by nathan
Revert "[InstCombine] Fix miscompile on GEP+load to icmp fold (PR45210)"

This reverts commit 4f2fd3818b0eb26806f366bc37369349aeedcaf9.

The Linux kernel fails to build after this commit. See
https://reviews.llvm.org/D99481 for a reproducer.

Signed-off-by: Nathan Chancellor <nathan@kernel.org>
The file was modifiedllvm/test/Transforms/InstCombine/load-cmp.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
Commit 119bf57ab6de49a3e61b9200c917a6d30ac6f0ad by joker.eph
Fix invalid math formulas in quantization doc

A single backslash is not properly escaped in the web documentation. We can make sure to escape for rendering subscripts.

Additionally, it also fixed the mal-formed equations in //"Affine to fixed point"// and //"Fixed point to affine"// sections. With this fix, the page is rendered as follows.

Reviewed By: mehdi_amini

Differential Revision: https://reviews.llvm.org/D101252
The file was modifiedmlir/docs/Quantization.md
Commit 4ef47eaed9528932127c5072e340f1bc5f7e9684 by mkazantsev
[Test] Add one more loop deletion irreducible CFG test
The file was modifiedllvm/test/Transforms/LoopDeletion/irreducible-cfg.ll
Commit 4d788fb80ff3184089df435b45f29396119cc780 by sepavloff
[PowerPC] Split tests for constrained intrinsics

The test CodeGen/PowerPC/vector-constrained-fp-intrinsics.ll checks code
generation for constrained floating point intrinsics. Many test cases in
it were implemented using operations on constants. Constant folding of
constrained intrinsics would make these test cases almost useless,
because they would check only constant loading.

To keep the tests useful, operations on constants were replaced with
operations on function parameters.

Differential Revision: https://reviews.llvm.org/D103259
The file was modifiedllvm/test/CodeGen/PowerPC/vector-constrained-fp-intrinsics.ll
Commit 0be2657c2f486ffc006a037684cb658f4bf6cf11 by zeratul976
[clangd] Type hints for variables with 'auto' type

Differential Revision: https://reviews.llvm.org/D102148
The file was modifiedclang-tools-extra/clangd/Protocol.cpp
The file was modifiedclang-tools-extra/clangd/Protocol.h
The file was modifiedclang-tools-extra/clangd/unittests/InlayHintTests.cpp
The file was modifiedclang-tools-extra/clangd/InlayHints.cpp