FailedChanges

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

Summary

  1. [VE] disable cmake caches until resolved (details)
  2. Enable retry on failed git operations (details)
Commit 99821277c29d5565a8f5c6cda80ea8b0faf097b4 by simon.moll
[VE] disable cmake caches until resolved
The file was modifiedbuildbot/osuosl/master/config/builders.py
Commit b83568a0e50fe1d8fd419721f67e82c4bda5eaf0 by kuhnel
Enable retry on failed git operations

This should address issues like
`fatal: unable to access 'https://github.com/llvm/llvm-project.git/': Could not resolve host: github.com`
in
http://lab.llvm.org:8011/#/builders/131/builds/7

Differential Revision: https://reviews.llvm.org/D91945
The file was modifiedzorg/buildbot/process/factory.py

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

Summary

  1. [RISCV] Store Log2 of EEW in the vector load/store intrinsic to pseudo lookup tables. NFCI (details)
  2. Revert "[TargetLowering] Only inspect attributes in the arguments for ArgListEntry" (details)
  3. [RISCV] Optimize bitwise and with constant for the Zbs extension (details)
  4. Revert "[libcxx][module-map] creates submodules for private headers" (details)
  5. Revert "[libcxx][gardening] Move all algorithms into their own headers." (details)
  6. [gn build] Port 692d7166f771 (details)
  7. [dfsan] Add full fast8 support (details)
  8. [NFC][LSAN] Limit the number of concurrent threads is the test (details)
  9. [RISCV] Use bitfields to shrink the size of the vector load/store intrinsics to pseudo instruction lookup tables. (details)
  10. [NFC][scudo] Print errno of fork failure (details)
  11. [AIX] Define __STDC_NO_ATOMICS__ and __STDC_NO_THREADS__ predefined macros (details)
  12. [AMDGPU] Add v5f32/VReg_160 support for MIMG instructions (details)
  13. Revert "[AIX] Define __STDC_NO_ATOMICS__ and __STDC_NO_THREADS__ predefined macros" (details)
  14. [AIX] Define __STDC_NO_ATOMICS__ and __STDC_NO_THREADS__ (details)
  15. [AMDGPU] Allow oversize vaddr in GFX10 MIMG assembly (details)
  16. [yaml2obj] Fix buildbot-issue-4886 (details)
  17. [lld-macho] Implement cstring deduplication (details)
  18. [lld-macho] Implement -force_load_swift_libs (details)
  19. BPF: fix relocation types in lib/Object/RelocationResolver.cpp (details)
  20. [RISCV] Use AVL Operand instead of GPR for tied mask pseudo for vwadd.wv and similar. (details)
  21. [RISCV] Masked compares should use a tail agnostic policy. (details)
  22. [RISCV] Use 0 for Log2SEW for vle1/vse1 intrinsics to enable vsetvli optimization. (details)
  23. [Driver] Support libc++ in MSVC (details)
  24. [analyzer]  [NFC] Implement a wrapper SValBuilder::getCastedMemRegionVal for similar functionality on region cast (details)
  25. [mlir][ArmSVE] Add basic mask generation operations (details)
  26. [Demangle][Rust] Parse path backreferences (details)
  27. [Demangle][Rust] Parse type backreferences (details)
  28. [Demangle][Rust] Parse const backreferences (details)
  29. [lldb] Set return status to failed when adding a command error (details)
  30. [JITLink] Clarify LinkGraph::splitBlock contract in comment. (details)
  31. Revert "[mlir][ArmSVE] Add basic mask generation operations" (details)
  32. [mlir] fix integer type mismatch in alloc conversion to LLVM (details)
  33. [mlir] Make MemRef element type extensible (details)
  34. [mlir] support memref of memref in standard-to-llvm conversion (details)
  35. [clang] Apply MS ABI details on __builtin_ms_va_list on non-windows platforms on x86_64 (details)
  36. [DAG] Allow isNullOrNullSplat to see truncated zeroes (details)
  37. [mlir] fix shared-libs build (details)
  38. [LoopVectorize] Don't use strict reductions when reordering is allowed (details)
  39. NVPTXTargetLowering::LowerReturn - Pass DataLayout by reference. NFCI. (details)
  40. ValueTrackingTest.cpp - Pass DataLayout by reference. NFCI. (details)
  41. MemCpyOptimizer.cpp - hasUndefContentsMSSA - Pass DataLayout by reference. NFCI. (details)
  42. [CostModel][X86] Improve AVX1/AVX2 truncation costs (details)
  43. OptBisect.cpp - remove unused include. NFCI. (details)
  44. [InstCombine] Add instcombine fold for extractelement + splat for scalable vectors (details)
  45. [RISCV] Add a test case showing inefficient vector codegen (details)
Commit 9b92ae01ee57e332e52d14c073fa3235498a9f2c by craig.topper
[RISCV] Store Log2 of EEW in the vector load/store intrinsic to pseudo lookup tables. NFCI

This uses 3 bits of data instead of 7. I'm wondering if we can use
bitfields for the lookup table key where this would matter.

I also name the shift_amount template to log2 since it is used
with more than just an srl now.
The file was modifiedllvm/lib/Target/RISCV/RISCVISelDAGToDAG.h
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
The file was modifiedllvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
Commit 47211fa88905f601a1e256f489591d5b91ec6a05 by aeubanks
Revert "[TargetLowering] Only inspect attributes in the arguments for ArgListEntry"

Needs to be discussed more.

This reverts commit 255a5c1baa6020c009934b4fa342f9f6dbbcc46
This reverts commit df2056ff3730316f376f29d9986c9913b95ceb1
This reverts commit faff79b7ca144e505da6bc74aa2b2f7cffbbf23
This reverts commit d2a9020785c6e02afebc876aa2778fa64c5cafd
The file was modifiedllvm/docs/ReleaseNotes.rst
The file was modifiedllvm/test/Instrumentation/DataFlowSanitizer/origin_track_load.ll
The file was modifiedllvm/test/Transforms/InstCombine/simplify-libcalls.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
The file was modifiedllvm/test/Instrumentation/SanitizerCoverage/const-cmp-tracing.ll
The file was modifiedllvm/test/Instrumentation/DataFlowSanitizer/memset.ll
The file was modifiedllvm/test/Instrumentation/DataFlowSanitizer/shadow-args-zext.ll
The file was removedllvm/test/CodeGen/X86/mismatched-byval.ll
The file was modifiedllvm/test/Instrumentation/SanitizerCoverage/div-tracing.ll
The file was modifiedllvm/test/Transforms/InstCombine/pow_fp_int.ll
The file was modifiedllvm/test/Transforms/InstCombine/exp2-1.ll
The file was modifiedllvm/test/Transforms/InstCombine/pow_fp_int16.ll
The file was modifiedllvm/test/Instrumentation/DataFlowSanitizer/origin_store.ll
The file was modifiedllvm/test/Instrumentation/DataFlowSanitizer/origin_store_threshold.ll
The file was modifiedllvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
The file was modifiedllvm/lib/Transforms/Utils/BuildLibCalls.cpp
The file was modifiedllvm/test/Instrumentation/DataFlowSanitizer/origin_mem_intrinsic.ll
The file was modifiedllvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp
Commit c705b7b04dba467a67871a1bbb77907d0ed7fc19 by powerman1st
[RISCV] Optimize bitwise and with constant for the Zbs extension

This patch optimizes (and r i) to
(BCLRI (BCLRI r, i0), i1) in which i = ~((1<<i0) | (1<<i1)).
or
(BCLRI (ANDI r, i0), i1) in which i = i0 & ~(1<<i1).

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D103743
The file was modifiedllvm/test/CodeGen/RISCV/rv64zbs.ll
The file was modifiedllvm/test/CodeGen/RISCV/rv32zbs.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoB.td
Commit d9633f229c36f292dab0e5f510ac635cfaf3a798 by phosek
Revert "[libcxx][module-map] creates submodules for private headers"

This reverts commit f1417eb9b1f51b689c78dd8cb0114c1749dd2845 as it
uncovered a Clang bug PR50592.
The file was modifiedlibcxx/include/__memory/pointer_safety.h
The file was modifiedlibcxx/include/__iterator/advance.h
The file was modifiedlibcxx/include/__iterator/prev.h
The file was modifiedlibcxx/include/__iterator/indirect_concepts.h
The file was modifiedlibcxx/include/__iterator/next.h
The file was modifiedlibcxx/include/__memory/allocator.h
The file was modifiedlibcxx/include/__memory/allocator_traits.h
The file was modifiedlibcxx/include/__memory/pointer_traits.h
The file was modifiedlibcxx/include/__memory/allocation_guard.h
The file was modifiedlibcxx/include/module.modulemap
Commit 692d7166f7715514d0ff8090e5bd66668432b270 by phosek
Revert "[libcxx][gardening] Move all algorithms into their own headers."

This reverts commit 7ed7d4ccb8991e2b5b95334b508f8cec2faee737 as it
uncovered a Clang bug PR50592.
The file was removedlibcxx/include/__algorithm/sample.h
The file was removedlibcxx/include/__algorithm/count.h
The file was removedlibcxx/include/__algorithm/lower_bound.h
The file was removedlibcxx/include/__algorithm/next_permutation.h
The file was removedlibcxx/include/__algorithm/minmax.h
The file was removedlibcxx/include/__algorithm/mismatch.h
The file was modifiedlibcxx/include/algorithm
The file was removedlibcxx/include/__algorithm/prev_permutation.h
The file was modifiedlibcxx/include/CMakeLists.txt
The file was modifiedlibcxx/test/std/algorithms/alg.sorting/alg.min.max/requires_forward_iterator.fail.cpp
The file was removedlibcxx/include/__algorithm/stable_partition.h
The file was removedlibcxx/include/__algorithm/min.h
The file was removedlibcxx/include/__algorithm/find_end.h
The file was removedlibcxx/include/__algorithm/nth_element.h
The file was removedlibcxx/include/__algorithm/fill.h
The file was removedlibcxx/include/__algorithm/search.h
The file was removedlibcxx/include/__algorithm/includes.h
The file was removedlibcxx/include/__algorithm/make_heap.h
The file was removedlibcxx/include/__algorithm/upper_bound.h
The file was modifiedlibcxx/include/regex
The file was removedlibcxx/include/__algorithm/clamp.h
The file was removedlibcxx/include/__algorithm/binary_search.h
The file was modifiedlibcxx/include/functional
The file was removedlibcxx/include/__algorithm/max.h
The file was removedlibcxx/include/__algorithm/partition.h
The file was removedlibcxx/include/__algorithm/remove.h
The file was removedlibcxx/include/__algorithm/comp_ref_type.h
The file was removedlibcxx/include/__algorithm/set_symmetric_difference.h
The file was removedlibcxx/include/__algorithm/max_element.h
The file was removedlibcxx/include/__algorithm/is_permutation.h
The file was removedlibcxx/include/__algorithm/replace.h
The file was removedlibcxx/include/__algorithm/pop_heap.h
The file was removedlibcxx/include/__algorithm/is_heap_until.h
The file was removedlibcxx/include/__algorithm/shift.h
The file was removedlibcxx/include/__algorithm/push_heap.h
The file was removedlibcxx/include/__algorithm/sort_heap.h
The file was removedlibcxx/include/__algorithm/equal.h
The file was removedlibcxx/include/__algorithm/count_if.h
The file was removedlibcxx/include/__algorithm/is_heap.h
The file was removedlibcxx/include/__algorithm/lexicographical_compare.h
The file was removedlibcxx/include/__algorithm/move.h
The file was removedlibcxx/include/__algorithm/comp.h
The file was removedlibcxx/include/__algorithm/find_if_not.h
The file was removedlibcxx/include/__algorithm/copy.h
The file was removedlibcxx/include/__algorithm/equal_range.h
The file was removedlibcxx/include/__algorithm/generate.h
The file was modifiedlibcxx/include/experimental/functional
The file was removedlibcxx/include/__algorithm/none_of.h
The file was removedlibcxx/include/__algorithm/search_n.h
The file was removedlibcxx/include/__algorithm/for_each.h
The file was removedlibcxx/include/__algorithm/merge.h
The file was modifiedlibcxx/test/std/algorithms/alg.modifying.operations/alg.random.sample/sample.fail.cpp
The file was modifiedlibcxx/include/__memory/temporary_buffer.h
The file was removedlibcxx/include/__algorithm/set_union.h
The file was removedlibcxx/include/__algorithm/uniform_int_distribution.h
The file was removedlibcxx/include/__algorithm/unique.h
The file was removedlibcxx/include/__algorithm/partial_sort.h
The file was removedlibcxx/include/__algorithm/sift_down.h
The file was removedlibcxx/include/__algorithm/minmax_element.h
The file was removedlibcxx/include/__algorithm/set_difference.h
The file was removedlibcxx/include/__algorithm/stable_sort.h
The file was removedlibcxx/include/__algorithm/any_of.h
The file was removedlibcxx/include/__algorithm/find_first_of.h
The file was removedlibcxx/include/__algorithm/unwrap_iter.h
The file was removedlibcxx/include/__algorithm/reverse.h
The file was modifiedlibcxx/include/module.modulemap
The file was removedlibcxx/include/__algorithm/inplace_merge.h
The file was removedlibcxx/include/__algorithm/find.h
The file was removedlibcxx/include/__algorithm/is_sorted.h
The file was modifiedlibcxx/test/std/containers/sequences/array/compare.fail.cpp
The file was removedlibcxx/include/__algorithm/all_of.h
The file was removedlibcxx/include/__algorithm/is_partitioned.h
The file was removedlibcxx/include/__algorithm/partition_point.h
The file was removedlibcxx/include/__algorithm/shuffle.h
The file was removedlibcxx/include/__algorithm/find_if.h
The file was removedlibcxx/include/__functional/search.h
The file was removedlibcxx/include/__algorithm/sort.h
The file was removedlibcxx/include/__algorithm/half_positive.h
The file was removedlibcxx/include/__algorithm/set_intersection.h
The file was removedlibcxx/include/__algorithm/for_each_n.h
The file was removedlibcxx/include/__algorithm/min_element.h
The file was removedlibcxx/include/__algorithm/rotate.h
The file was removedlibcxx/include/__algorithm/adjacent_find.h
The file was removedlibcxx/include/__algorithm/transform.h
Commit 3b69318eef34aecd4d3da751560a2785be1c3b93 by llvmgnsyncbot
[gn build] Port 692d7166f771
The file was modifiedllvm/utils/gn/secondary/libcxx/include/BUILD.gn
Commit 5b4dda550ece353bd9dca703067a740e3dbf6ceb by gbalats
[dfsan] Add full fast8 support

Complete support for fast8:
- amend shadow size and mapping in runtime
- remove fast16 mode and -dfsan-fast-16-labels flag
- remove legacy mode and make fast8 mode the default
- remove dfsan-fast-8-labels flag
- remove functions in dfsan interface only applicable to legacy
- remove legacy-related instrumentation code and tests
- update documentation.

Reviewed By: stephan.yichao.zhao, browneee

Differential Revision: https://reviews.llvm.org/D103745
The file was modifiedllvm/test/Instrumentation/DataFlowSanitizer/array.ll
The file was modifiedllvm/test/Instrumentation/DataFlowSanitizer/vector.ll
The file was modifiedcompiler-rt/lib/dfsan/dfsan.cpp
The file was modifiedllvm/test/Instrumentation/DataFlowSanitizer/select.ll
The file was modifiedcompiler-rt/test/dfsan/fork.cpp
The file was modifiedcompiler-rt/test/dfsan/struct.c
The file was modifiedcompiler-rt/test/dfsan/origin_overlapped.c
The file was modifiedcompiler-rt/test/dfsan/origin_unaligned_memtrans.c
The file was modifiedllvm/test/Instrumentation/DataFlowSanitizer/abilist.ll
The file was modifiedclang/docs/DataFlowSanitizer.rst
The file was modifiedclang/docs/DataFlowSanitizerDesign.rst
The file was modifiedllvm/test/Instrumentation/DataFlowSanitizer/musttailcall.ll
The file was modifiedllvm/test/Instrumentation/DataFlowSanitizer/origin_select.ll
The file was modifiedcompiler-rt/lib/fuzzer/dataflow/DataFlow.cpp
The file was modifiedcompiler-rt/test/fuzzer/dataflow.test
The file was modifiedllvm/test/Instrumentation/DataFlowSanitizer/origin_store.ll
The file was modifiedllvm/test/Instrumentation/DataFlowSanitizer/origin_phi.ll
The file was removedcompiler-rt/test/dfsan/dump_labels.c
The file was modifiedcompiler-rt/test/dfsan/custom.cpp
The file was modifiedllvm/test/Instrumentation/DataFlowSanitizer/origin_load.ll
The file was modifiedllvm/test/Instrumentation/DataFlowSanitizer/origin_store_threshold.ll
The file was modifiedcompiler-rt/test/dfsan/origin_branch.c
The file was modifiedcompiler-rt/lib/dfsan/dfsan_platform.h
The file was removedcompiler-rt/test/dfsan/label_count.c
The file was modifiedcompiler-rt/test/dfsan/origin_with_signals.cpp
The file was modifiedcompiler-rt/test/dfsan/origin_stack_trace.c
The file was modifiedcompiler-rt/test/dfsan/origin_ldst.c
The file was addedcompiler-rt/test/dfsan/fast8labels.c
The file was modifiedcompiler-rt/include/sanitizer/dfsan_interface.h
The file was modifiedcompiler-rt/test/dfsan/basic.c
The file was modifiedcompiler-rt/test/dfsan/origin_track_ld.c
The file was modifiedllvm/test/Instrumentation/DataFlowSanitizer/origin_other_ops.ll
The file was modifiedllvm/test/Instrumentation/DataFlowSanitizer/origin_call.ll
The file was modifiedcompiler-rt/test/dfsan/fncall.c
The file was modifiedcompiler-rt/test/fuzzer/only-some-bytes.test
The file was modifiedllvm/test/Instrumentation/DataFlowSanitizer/union.ll
The file was modifiedcompiler-rt/test/dfsan/origin_memmove.c
The file was modifiedcompiler-rt/test/dfsan/origin_disabled.c
The file was modifiedllvm/test/Instrumentation/DataFlowSanitizer/external_mask.ll
The file was modifiedcompiler-rt/test/dfsan/propagate.c
The file was modifiedllvm/test/Instrumentation/DataFlowSanitizer/arith.ll
The file was modifiedcompiler-rt/test/dfsan/flags.c
The file was modifiedcompiler-rt/test/fuzzer/only-some-bytes-fork.test
The file was modifiedcompiler-rt/test/dfsan/release_shadow_space.c
The file was modifiedllvm/test/Instrumentation/DataFlowSanitizer/dont_combine_offset_labels_on_gep.ll
The file was modifiedcompiler-rt/test/dfsan/origin_add_label.c
The file was modifiedcompiler-rt/test/dfsan/origin_memcpy.c
The file was modifiedllvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
The file was modifiedcompiler-rt/test/dfsan/origin_with_sigactions.c
The file was modifiedllvm/test/Instrumentation/DataFlowSanitizer/atomics.ll
The file was modifiedllvm/test/Instrumentation/DataFlowSanitizer/phi.ll
The file was modifiedcompiler-rt/test/dfsan/origin_invalid.c
The file was modifiedcompiler-rt/test/dfsan/origin_limit.c
The file was modifiedcompiler-rt/test/dfsan/origin_untainted.c
The file was modifiedcompiler-rt/test/dfsan/atomic.cpp
The file was modifiedllvm/test/Instrumentation/DataFlowSanitizer/store.ll
The file was removedllvm/test/Instrumentation/DataFlowSanitizer/fast16labels.ll
The file was modifiedcompiler-rt/test/dfsan/pair.cpp
The file was modifiedcompiler-rt/test/dfsan/origin_set_label.c
The file was modifiedcompiler-rt/lib/dfsan/dfsan.h
The file was removedcompiler-rt/test/dfsan/fast16labels.c
The file was modifiedllvm/test/Instrumentation/DataFlowSanitizer/load.ll
The file was modifiedcompiler-rt/test/dfsan/sigaction_stress_test.c
The file was modifiedllvm/test/Instrumentation/DataFlowSanitizer/call.ll
The file was modifiedcompiler-rt/test/dfsan/event_callbacks.c
The file was modifiedcompiler-rt/test/dfsan/interceptors.c
The file was modifiedllvm/test/Instrumentation/DataFlowSanitizer/origin_mem_intrinsic.ll
The file was modifiedcompiler-rt/lib/dfsan/dfsan_flags.inc
The file was modifiedcompiler-rt/test/dfsan/origin_memset.c
The file was removedllvm/test/Instrumentation/DataFlowSanitizer/union-large.ll
The file was modifiedcompiler-rt/test/dfsan/pthread.c
The file was modifiedcompiler-rt/test/dfsan/sigaction.c
The file was modifiedllvm/test/Instrumentation/DataFlowSanitizer/abilist_aggregate.ll
The file was modifiedllvm/test/Instrumentation/DataFlowSanitizer/struct.ll
The file was modifiedllvm/test/Instrumentation/DataFlowSanitizer/shadow-args-zext.ll
The file was modifiedllvm/test/Instrumentation/DataFlowSanitizer/origin_track_load.ll
The file was modifiedllvm/test/Instrumentation/DataFlowSanitizer/origin_abilist.ll
The file was modifiedcompiler-rt/test/dfsan/origin_ld_lost.c
The file was modifiedllvm/test/Instrumentation/DataFlowSanitizer/basic.ll
The file was modifiedllvm/test/Instrumentation/DataFlowSanitizer/origin_cached_shadows.ll
The file was modifiedcompiler-rt/test/dfsan/flush.c
Commit 11539edf52d53ccbd42040a30e29d117600cfd6b by Vitaly Buka
[NFC][LSAN] Limit the number of concurrent threads is the test

Test still fails with D88184 reverted.

The test was flaky on https://bugs.chromium.org/p/chromium/issues/detail?id=1206745 and
https://lab.llvm.org/buildbot/#/builders/sanitizer-x86_64-linux

Reviewed By: morehouse

Differential Revision: https://reviews.llvm.org/D102218
The file was modifiedcompiler-rt/test/lsan/TestCases/many_threads_detach.cpp
Commit 0aa941654fc06d76d4fea57ea1b205f93dce391b by craig.topper
[RISCV] Use bitfields to shrink the size of the vector load/store intrinsics to pseudo instruction lookup tables.
The file was modifiedllvm/lib/Target/RISCV/RISCVISelDAGToDAG.h
Commit b41b76b303cdfde389f70e0a311698d7391423f1 by Vitaly Buka
[NFC][scudo] Print errno of fork failure

This fork fails sometime on sanitizer-x86_64-linux-qemu bot.
The file was modifiedcompiler-rt/lib/scudo/standalone/tests/wrappers_c_test.cpp
Commit e6629be31e67190f0a524f009752d73410894560 by cbowler
[AIX] Define __STDC_NO_ATOMICS__ and __STDC_NO_THREADS__ predefined macros

Differential Revision: https://reviews.llvm.org/D103707
The file was modifiedclang/test/Preprocessor/init-ppc.c
The file was modifiedclang/lib/Basic/Targets/OSTargets.h
Commit f8816c7400250961af4810956248c3636a5fcb04 by carl.ritson
[AMDGPU] Add v5f32/VReg_160 support for MIMG instructions

Avoid having to round up to v8f32/VReg_256 when only 5 VGPRs are
required for a MIMG address operand.

Maintain _V8 instruction variants of pseudo instructions allowing
assembly prior to GFX10 to work as-is.  Currently the validator
can tell for GFX10 what the correct size is, so will disallow
oversize address registers.

Reviewed By: rampitec

Differential Revision: https://reviews.llvm.org/D103672
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.gather4.o.dim.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.gather4.dim.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.nsa.ll
The file was modifiedllvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.sample.a16.dim.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/vgpr-tuple-allocation.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.sample.o.dim.ll
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.sample.g16.ll
The file was modifiedllvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.sample.g16.a16.dim.ll
The file was modifiedllvm/lib/Target/AMDGPU/MIMGInstructions.td
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.sample.dim.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.sample.g16.encode.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/nsa-reassign.mir
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.cpp
The file was modifiedllvm/test/MC/AMDGPU/gfx10_asm_mimg.s
The file was modifiedllvm/test/MC/Disassembler/AMDGPU/mimg_gfx10.txt
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.gather4.dim.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.gather4.o.dim.ll
The file was modifiedllvm/test/MC/Disassembler/AMDGPU/gfx10_mimg.txt
The file was modifiedllvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.sample.g16.ll
Commit f97e01e61af1115bb9cb68dbdc70cc7f9f884759 by cebowleratibm
Revert "[AIX] Define __STDC_NO_ATOMICS__ and __STDC_NO_THREADS__ predefined macros"

This reverts commit e6629be31e67190f0a524f009752d73410894560.
The file was modifiedclang/lib/Basic/Targets/OSTargets.h
The file was modifiedclang/test/Preprocessor/init-ppc.c
Commit f38eff777e46f42884d82815d0b39766520ac2bf by cebowleratibm
[AIX] Define __STDC_NO_ATOMICS__ and __STDC_NO_THREADS__

Revert/reapply to fix Git authorship metadata

Differential Revision: https://reviews.llvm.org/D103707
The file was modifiedclang/test/Preprocessor/init-ppc.c
The file was modifiedclang/lib/Basic/Targets/OSTargets.h
Commit c8bbfb8cf5eac991351c03c41a15abaac4b78ecf by carl.ritson
[AMDGPU] Allow oversize vaddr in GFX10 MIMG assembly

As a follow up to D103672, we should allow vaddr to be larger than
required when assembling GFX10 MIMG instructions.

Reviewed By: dp

Differential Revision: https://reviews.llvm.org/D103733
The file was modifiedllvm/test/MC/AMDGPU/gfx10_asm_mimg.s
The file was modifiedllvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
The file was modifiedllvm/test/MC/AMDGPU/gfx10_err_pos.s
Commit 310d2b4957c8c11387354c58d15e3249971accc7 by esme.yi
[yaml2obj] Fix buildbot-issue-4886

XCOFFEmitter.cpp:67:16: runtime error: null pointer passed as argument 2,
which is declared to never be null
The file was modifiedllvm/lib/ObjectYAML/XCOFFEmitter.cpp
Commit 04259cde15a9fad31421e9161f160ee23f84ebdd by jezng
[lld-macho] Implement cstring deduplication

Our implementation draws heavily from LLD-ELF's, which in turn delegates
its string deduplication to llvm-mc's StringTableBuilder. The messiness of
this diff is largely due to the fact that we've previously assumed that
all InputSections get concatenated together to form the output. This is
no longer true with CStringInputSections, which split their contents into
StringPieces. StringPieces are much more lightweight than InputSections,
which is important as we create a lot of them. They may also overlap in
the output, which makes it possible for strings to be tail-merged. In
fact, the initial version of this diff implemented tail merging, but
I've dropped it for reasons I'll explain later.

**Alignment Issues**

Mergeable cstring literals are found under the `__TEXT,__cstring`
section. In contrast to ELF, which puts strings that need different
alignments into different sections, clang's Mach-O backend puts them all
in one section. Strings that need to be aligned have the `.p2align`
directive emitted before them, which simply translates into zero padding
in the object file.

I *think* ld64 extracts the desired per-string alignment from this data
by preserving each string's offset from the last section-aligned
address. I'm not entirely certain since it doesn't seem consistent about
doing this; but perhaps this can be chalked up to cases where ld64 has
to deduplicate strings with different offset/alignment combos -- it
seems to pick one of their alignments to preserve. This doesn't seem
correct in general; we can in fact can induce ld64 to produce a crashing
binary just by linking in an additional object file that only contains
cstrings and no code. See PR50563 for details.

Moreover, this scheme seems rather inefficient: since unaligned and
aligned strings are all put in the same section, which has a single
alignment value, it doesn't seem possible to tell whether a given string
doesn't have any alignment requirements. Preserving offset+alignments
for strings that don't need it is wasteful.

In practice, the crashes seen so far seem to stem from x86_64 SIMD
operations on cstrings. X86_64 requires SIMD accesses to be
16-byte-aligned. So for now, I'm thinking of just aligning all strings
to 16 bytes on x86_64. This is indeed wasteful, but implementation-wise
it's simpler than preserving per-string alignment+offsets. It also
avoids the aforementioned crash after deduplication of
differently-aligned strings. Finally, the overhead is not huge: using
16-byte alignment (vs no alignment) is only a 0.5% size overhead when
linking chromium_framework.

With these alignment requirements, it doesn't make sense to attempt tail
merging -- most strings will not be eligible since their overlaps aren't
likely to start at a 16-byte boundary. Tail-merging (with alignment) for
chromium_framework only improves size by 0.3%.

It's worth noting that LLD-ELF only does tail merging at `-O2`. By
default (at `-O1`), it just deduplicates w/o tail merging. @thakis has
also mentioned that they saw it regress compressed size in some cases
and therefore turned it off. `ld64` does not seem to do tail merging at
all.

**Performance Numbers**

CString deduplication reduces chromium_framework from 250MB to 242MB, or
about a 3.2% reduction.

Numbers for linking chromium_framework on my 3.2 GHz 16-Core Intel Xeon W:

      N           Min           Max        Median           Avg        Stddev
  x  20          3.91          4.03         3.935          3.95   0.034641016
  +  20          3.99          4.14         4.015        4.0365     0.0492336
  Difference at 95.0% confidence
          0.0865 +/- 0.027245
          2.18987% +/- 0.689746%
          (Student's t, pooled s = 0.0425673)

As expected, cstring merging incurs some non-trivial overhead.

When passing `--no-literal-merge`, it seems that performance is the
same, i.e. the refactoring in this diff didn't cost us.

      N           Min           Max        Median           Avg        Stddev
  x  20          3.91          4.03         3.935          3.95   0.034641016
  +  20          3.89          4.02         3.935        3.9435   0.043197831
  No difference proven at 95.0% confidence

Reviewed By: #lld-macho, gkm

Differential Revision: https://reviews.llvm.org/D102964
The file was modifiedlld/MachO/UnwindInfoSection.cpp
The file was modifiedlld/MachO/Config.h
The file was addedlld/test/MachO/cstring-dedup.s
The file was modifiedlld/MachO/Driver.cpp
The file was modifiedlld/MachO/ConcatOutputSection.h
The file was modifiedlld/MachO/InputFiles.h
The file was modifiedlld/test/MachO/invalid/reserved-section-name.s
The file was modifiedlld/MachO/InputSection.h
The file was modifiedlld/MachO/SyntheticSections.h
The file was modifiedlld/MachO/Options.td
The file was addedlld/test/MachO/invalid/cstring-dedup.s
The file was modifiedlld/MachO/Symbols.cpp
The file was modifiedlld/MachO/SyntheticSections.cpp
The file was modifiedlld/MachO/InputFiles.cpp
The file was modifiedlld/MachO/Writer.cpp
The file was modifiedlld/MachO/ConcatOutputSection.cpp
The file was modifiedlld/MachO/InputSection.cpp
The file was modifiedlld/test/MachO/x86-64-relocs.s
The file was modifiedlld/test/MachO/subsections-section-relocs.s
Commit 447dfbe005a7884766c7d073566eae710aa9ed5b by jezng
[lld-macho] Implement -force_load_swift_libs

It causes libraries whose names start with "swift" to be force-loaded.
Note that unlike the more general `-force_load`, this flag only applies
to libraries specified via LC_LINKER_OPTIONS, and not those passed on
the command-line. This is what ld64 does.

Reviewed By: #lld-macho, thakis

Differential Revision: https://reviews.llvm.org/D103709
The file was modifiedlld/MachO/Config.h
The file was modifiedlld/MachO/Options.td
The file was modifiedlld/MachO/Driver.cpp
The file was addedlld/test/MachO/force-load-swift-libs.ll
Commit 8ce45f97283460a330201a199e686e8e088805e0 by yhs
BPF: fix relocation types in lib/Object/RelocationResolver.cpp

Commit 6a2ea84600ba ("BPF: Add more relocation kinds")
added new relocations R_BPF_64_ABS64 and R_BPF_64_ABS32
for normal 64-bit and 32-bit data relocations.
This is to replace some of functionalities with
R_BPF_64_64 and R_BPF_64_32 so that new R_BPF_64_64
and R_BPF_64_32 semantics are for ld_imm64 and
call instructions only.

The BPF support in lib/Object/RelocationResolver.cpp
is used to perform normal data relocations for
the case like DWARFObjInMemory with an object file
(search function getRelocationResolver() in file
DebugInfo/DWARF/DWARFContext.cpp) or llvm-readobj
to dump ".stack_sizes" section data.
In all these casees, normal 64-bit and 32-bit relocations
are performed and such resolution resolution
is exactly what implemented in RelocationResolver.cpp.

But Commit 6a2ea84600ba missed to change
R_BPF_64_64/R_BPF_64_32 to R_BPF_64_ABS64/R_BPF_64_ABS32.
This patch fixed the issue and added a test for it
with llvm-readobj dumping ".stack_sizes" section.

Differential Revision: https://reviews.llvm.org/D103864
The file was modifiedllvm/lib/Object/RelocationResolver.cpp
The file was addedllvm/test/Object/BPF/lit.local.cfg
The file was addedllvm/test/Object/BPF/yaml2obj-elf-bpf-rel.yaml
Commit 7a105b5768575c62802fd662366b5a759eb88447 by craig.topper
[RISCV] Use AVL Operand instead of GPR for tied mask pseudo for vwadd.wv and similar.

I mistakenly copied this from an older version of our internal
repo.
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
Commit ae3ab4f0ec6190ebc19775002b59a36c06848bf3 by craig.topper
[RISCV] Masked compares should use a tail agnostic policy.

Writes of a mask result are always tail agnostic.

Unfortunately, this seems to have made codegen worse. I can only
think this must be because the vsetvli was acting as some sort
of barrier that prevented some code movement in the scheduler.

Reviewed By: arcbbb

Differential Revision: https://reviews.llvm.org/D103331
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vmfle-rv32.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vmsleu-rv64.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vmfge-rv32.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vmsgt-rv64.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vmsltu-rv32.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vmflt-rv64.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vmsge-rv32.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vmflt-rv32.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vmsgeu-rv32.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vmfle-rv64.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vmsgeu-rv64.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vmslt-rv64.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vmsne-rv64.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vmsgt-rv32.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vmsle-rv64.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vmsge-rv64.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vmfne-rv32.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vmsleu-rv32.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vmfgt-rv64.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vmfne-rv64.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vmsltu-rv64.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vmsne-rv32.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vmfeq-rv64.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vmfge-rv64.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vmslt-rv32.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vmseq-rv32.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vmfgt-rv32.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vmseq-rv64.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vmsgtu-rv32.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vmsle-rv32.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vmsgtu-rv64.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vmfeq-rv32.ll
Commit 7c4e9a68264ffeef6178865be76c45c4fb6390af by craig.topper
[RISCV] Use 0 for Log2SEW for vle1/vse1 intrinsics to enable vsetvli optimization.

Missed in D103299.
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vse1-rv64.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vse1-rv32.ll
Commit 9625d61eb66c12388875e081b63ebed7e42c6bbb by phosek
[Driver] Support libc++ in MSVC

This implements support for using libc++ headers and library in the MSVC
toolchain.  We only support libc++ that is a part of the toolchain, and
not headers installed elsewhere on the system.

Differential Revision: https://reviews.llvm.org/D101479
The file was addedclang/test/Driver/Inputs/msvc_libcxx_tree/usr/include/x86_64-pc-windows-msvc/c++/v1/.keep
The file was modifiedclang/lib/Driver/ToolChains/MSVC.cpp
The file was addedclang/test/Driver/Inputs/msvc_libcxx_tree/usr/bin/.keep
The file was addedclang/test/Driver/Inputs/msvc_libcxx_tree/usr/lib/.keep
The file was modifiedclang/include/clang/Driver/Options.td
The file was addedclang/test/Driver/Inputs/msvc_libcxx_tree/usr/include/c++/v1/.keep
The file was addedclang/test/Driver/msvc-libcxx.cpp
The file was addedclang/test/Driver/Inputs/msvc_libcxx_tree/usr/lib/x86_64-pc-windows-msvc/.keep
Commit d3a6181e82ca8d1c49c1bc049c07233bd8c38550 by dpetrov
[analyzer]  [NFC] Implement a wrapper SValBuilder::getCastedMemRegionVal for similar functionality on region cast

Summary: Replaced code on region cast with a function-wrapper SValBuilder::getCastedMemRegionVal. This is a next step of code refining due to suggestions in D103319.

Differential Revision: https://reviews.llvm.org/D103803
The file was modifiedclang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h
The file was modifiedclang/lib/StaticAnalyzer/Core/SValBuilder.cpp
Commit 392af6a78bb7dfb87a24ed66db598c1d09ac756b by javier.setoain
[mlir][ArmSVE] Add basic mask generation operations

These `arm_sve.cmp` functions are needed to generate scalable vector
masks as long as scalable vectors are not part of the standard types.
Once in standard, these can be removed and `std.cmp` can be used
instead.

Differential Revision: https://reviews.llvm.org/D103473
The file was modifiedmlir/include/mlir/Dialect/StandardOps/IR/StandardOpsBase.td
The file was modifiedmlir/include/mlir/Dialect/ArmSVE/ArmSVEDialect.h
The file was modifiedmlir/test/Dialect/ArmSVE/legalize-for-llvm.mlir
The file was modifiedmlir/include/mlir/Dialect/StandardOps/IR/Ops.td
The file was modifiedmlir/test/Target/LLVMIR/arm-sve.mlir
The file was modifiedmlir/lib/Dialect/ArmSVE/IR/ArmSVEDialect.cpp
The file was modifiedmlir/lib/Dialect/ArmSVE/Transforms/LegalizeForLLVMExport.cpp
The file was modifiedmlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
The file was modifiedmlir/test/Dialect/ArmSVE/roundtrip.mlir
The file was modifiedmlir/include/mlir/Dialect/ArmSVE/ArmSVE.td
Commit 82b7e822d00596ec8a02490f1d662ed0fa872b54 by tomasz.miasko
[Demangle][Rust] Parse path backreferences

Reviewed By: dblaikie

Differential Revision: https://reviews.llvm.org/D103459
The file was modifiedllvm/include/llvm/Demangle/RustDemangle.h
The file was modifiedllvm/lib/Demangle/RustDemangle.cpp
The file was modifiedllvm/test/Demangle/rust.test
Commit 44d63c57c129f6c784460070c30cb736dbbdb927 by tomasz.miasko
[Demangle][Rust] Parse type backreferences

Reviewed By: dblaikie

Differential Revision: https://reviews.llvm.org/D103847
The file was modifiedllvm/lib/Demangle/RustDemangle.cpp
The file was modifiedllvm/test/Demangle/rust.test
Commit f9a79356f223035ccf0b4d0666f8779061eddc61 by tomasz.miasko
[Demangle][Rust] Parse const backreferences

Reviewed By: dblaikie

Differential Revision: https://reviews.llvm.org/D103848
The file was modifiedllvm/test/Demangle/rust.test
The file was modifiedllvm/lib/Demangle/RustDemangle.cpp
Commit e05b03cf4f45ac5ee63c59a3464e7d484884645c by david.spickett
[lldb] Set return status to failed when adding a command error

There is a common pattern:
result.AppendError(...);
result.SetStatus(eReturnStatusFailed);

I found that some commands don't actually "fail" but only
print "error: ..." because the second line got missed.

This can cause you to miss a failed command when you're
using the Python interface during testing.
(and produce some confusing script results)

I did not find any place where you would want to add
an error without setting the return status, so just
set eReturnStatusFailed whenever you add an error to
a command result.

This change does not remove any of the now redundant
SetStatus. This should allow us to see if there are any
tests that have commands unexpectedly fail with this change.
(the test suite passes for me but I don't have access to all
the systems we cover so there could be some corner cases)

Some tests that failed on x86 and AArch64 have been modified
to work with the new behaviour.

Differential Revision: https://reviews.llvm.org/D103701
The file was addedlldb/test/Shell/Commands/command-backtrace-parser-1.test
The file was modifiedlldb/test/API/commands/register/register/register_command/TestRegisters.py
The file was addedlldb/test/Shell/Commands/command-backtrace-parser-2.test
The file was removedlldb/test/Shell/Commands/command-backtrace.test
The file was modifiedlldb/source/Interpreter/CommandReturnObject.cpp
Commit 4f16ccdab2d39ed1fb718ce646507c07b6c2de46 by Lang Hames
[JITLink] Clarify LinkGraph::splitBlock contract in comment.
The file was modifiedllvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
Commit 57546f5b2224fe6d56081463dec2acc5964a61e8 by javier.setoain
Revert "[mlir][ArmSVE] Add basic mask generation operations"

This reverts commit 392af6a78bb7dfb87a24ed66db598c1d09ac756b
The file was modifiedmlir/include/mlir/Dialect/ArmSVE/ArmSVEDialect.h
The file was modifiedmlir/test/Dialect/ArmSVE/legalize-for-llvm.mlir
The file was modifiedmlir/lib/Dialect/ArmSVE/IR/ArmSVEDialect.cpp
The file was modifiedmlir/test/Dialect/ArmSVE/roundtrip.mlir
The file was modifiedmlir/include/mlir/Dialect/StandardOps/IR/Ops.td
The file was modifiedmlir/lib/Dialect/ArmSVE/Transforms/LegalizeForLLVMExport.cpp
The file was modifiedmlir/include/mlir/Dialect/ArmSVE/ArmSVE.td
The file was modifiedmlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
The file was modifiedmlir/test/Target/LLVMIR/arm-sve.mlir
The file was modifiedmlir/include/mlir/Dialect/StandardOps/IR/StandardOpsBase.td
Commit 3c70a82e2891949801bd5da68159cd8156659f6f by zinenko
[mlir] fix integer type mismatch in alloc conversion to LLVM

Some places in the alloc-like op conversion use the converted index type
whereas other places use the pointer-sized integer type, which may not be the
same. Consistently use the converted index type, similarly to other address
calculations.

Reviewed By: pifon2a

Differential Revision: https://reviews.llvm.org/D103826
The file was modifiedmlir/test/Conversion/StandardToLLVM/convert-static-memref-ops.mlir
The file was modifiedmlir/lib/Conversion/StandardToLLVM/StandardToLLVM.cpp
Commit ada9aa5a228200cb71269c371308e82c42fd4abc by zinenko
[mlir] Make MemRef element type extensible

Historically, MemRef only supported a restricted list of element types that
were known to be storable in memory. This is unnecessarily restrictive given
the open nature of MLIR's type system. Allow types to opt into being used as
MemRef elements by implementing a type interface. For now, the interface is
merely a declaration with no methods. Later, methods to query, e.g., the type
size or whether a type can alias elements of another type may be added.

Harden the "standard"-to-LLVM conversion against memrefs with non-builtin
types.

See https://llvm.discourse.group/t/rfc-memref-of-custom-types/3558.

Depends On D103826

Reviewed By: rriddle

Differential Revision: https://reviews.llvm.org/D103827
The file was modifiedmlir/test/Conversion/StandardToLLVM/invalid.mlir
The file was modifiedmlir/docs/Dialects/Builtin.md
The file was modifiedmlir/lib/IR/BuiltinTypes.cpp
The file was modifiedmlir/include/mlir/IR/BuiltinTypes.h
The file was modifiedmlir/test/lib/Dialect/Test/CMakeLists.txt
The file was modifiedmlir/include/mlir/IR/CMakeLists.txt
The file was modifiedmlir/test/IR/parser.mlir
The file was modifiedmlir/lib/Conversion/StandardToLLVM/StandardToLLVM.cpp
The file was modifiedmlir/test/lib/Dialect/Test/TestTypeDefs.td
The file was modifiedmlir/include/mlir/IR/BuiltinTypes.td
The file was modifiedmlir/test/Conversion/StandardToLLVM/convert-static-memref-ops.mlir
Commit c59ce1f6257c88330c1f1757c36d59d34fe29248 by zinenko
[mlir] support memref of memref in standard-to-llvm conversion

Now that memref supports arbitrary element types, add support for memref of
memref and make sure it is properly converted to the LLVM dialect. The type
support itself avoids adding the interface to the memref type itself similarly
to other built-in types. This allows the shape, and therefore byte size, of the
memref descriptor to remain a lowering aspect that is easier to customize and
evolve as opposed to sanctifying it in the data layout specification for the
memref type itself.

Factor out the code previously in a testing pass to live in a dedicated data
layout analysis and use that analysis in the conversion to compute the
allocation size for memref of memref. Other conversions will be ported
separately.

Depends On D103827

Reviewed By: rriddle

Differential Revision: https://reviews.llvm.org/D103828
The file was modifiedmlir/test/Conversion/StandardToLLVM/convert-static-memref-ops.mlir
The file was modifiedmlir/test/lib/Dialect/DLTI/TestDataLayoutQuery.cpp
The file was modifiedmlir/lib/Analysis/CMakeLists.txt
The file was modifiedmlir/lib/Conversion/StandardToLLVM/CMakeLists.txt
The file was modifiedmlir/include/mlir/Conversion/StandardToLLVM/ConvertStandardToLLVM.h
The file was modifiedmlir/include/mlir/IR/BuiltinTypes.td
The file was addedmlir/lib/Analysis/DataLayoutAnalysis.cpp
The file was modifiedmlir/include/mlir/Conversion/StandardToLLVM/ConvertStandardToLLVMPass.h
The file was modifiedmlir/include/mlir/IR/BuiltinTypes.h
The file was modifiedmlir/lib/Conversion/StandardToLLVM/StandardToLLVM.cpp
The file was modifiedmlir/test/Conversion/StandardToLLVM/convert-dynamic-memref-ops.mlir
The file was addedmlir/include/mlir/Analysis/DataLayoutAnalysis.h
The file was modifiedmlir/test/IR/parser.mlir
Commit b34da6ff9c1d72816d0c9b87d5f0e879850bc424 by martin
[clang] Apply MS ABI details on __builtin_ms_va_list on non-windows platforms on x86_64

This fixes inconsistencies in the ms_abi.c testcase.

Also add a couple cases of missing double pointers in the windows part
of the testcase; the outcome of building that testcase on windows hasn't
changed, but the previous form of the test was imprecise (checking
for "%[[STRUCT_FOO]]*" when clang actually generates "%[[STRUCT_FOO]]**"),
which still used to match.

Ideally this would share code with the native Windows case, but
X86_64ABIInfo and WinX86_64ABIInfo aren't superclasses/subclasses of
each other so it's impractical, and the code to share currently only
consists of a couple lines.

Differential Revision: https://reviews.llvm.org/D103837
The file was modifiedclang/lib/CodeGen/TargetInfo.cpp
The file was modifiedclang/test/CodeGen/ms_abi.c
Commit b889c6ee9911b72a58986d528f42dd18cbdf92d7 by david.green
[DAG] Allow isNullOrNullSplat to see truncated zeroes

This sets the AllowTruncation flag on isConstOrConstSplat in
isNullOrNullSplat, allowing it to see truncated constant zeroes on
architectures such as AArch64, where only a i32.i64 are legal. As a
truncation of 0 is always 0, this should always be valid, allowing some
extra folding to happen including some of the cases from D103755.

Differential Revision: https://reviews.llvm.org/D103756
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vdiv-sdnode-rv32.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vrem-sdnode-rv64.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vdiv-sdnode-rv64.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vrem-sdnode-rv32.ll
The file was modifiedllvm/test/CodeGen/AArch64/vecreduce-bool.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Commit 7116468ca9d0ebec1d97d58d99879eaf7e7a3982 by zinenko
[mlir] fix shared-libs build
The file was modifiedmlir/lib/Analysis/CMakeLists.txt
Commit 14eeccfe9adb372c76d11d6ffa98fdb6e9808acc by kerry.mclaughlin
[LoopVectorize] Don't use strict reductions when reordering is allowed

If the `-enable-strict-reductions` flag is set to true, then currently we will
always choose to vectorize the loop with strict in-order reductions. This is
not necessary where we allow the reordering of FP operations, such as
when loop hints are passed via metadata.

This patch moves useOrderedReductions so that we can also check whether
loop hints allow reordering, in which case we should use the default
behaviour of vectorizing with unordered reductions.

Reviewed By: sdesmalen

Differential Revision: https://reviews.llvm.org/D103814
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was modifiedllvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/AArch64/strict-fadd.ll
Commit 27f3041c88ac4e392da7c1f071f8516947c7a1c7 by llvm-dev
NVPTXTargetLowering::LowerReturn - Pass DataLayout by reference. NFCI.
The file was modifiedllvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
Commit 4ad59f9a5a9589e7d0608dafb99ee4f2db67cb95 by llvm-dev
ValueTrackingTest.cpp - Pass DataLayout by reference. NFCI.
The file was modifiedllvm/unittests/Analysis/ValueTrackingTest.cpp
Commit 596004a94748e427ff59956e74d8ed4eb0e109d4 by llvm-dev
MemCpyOptimizer.cpp - hasUndefContentsMSSA - Pass DataLayout by reference. NFCI.
The file was modifiedllvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
Commit 49d3a367c0376a95b9518e90426cdd6d5508e64a by llvm-dev
[CostModel][X86] Improve AVX1/AVX2 truncation costs

Based off the worse case numbers generated by D103695, we were overestimating the cost of a number of vector truncations:

AVX2: v2i32->v2i8, v2i64->v2i16 + v4i64->v4i32
AVX1: v2i32->v2i8, v4i64->v4i16 + v16i16->v16i8

Once we have a working set of conversion costs, the intention is to cleanup the tables and use legalized types a lot more to reduce the number of entries we currently have.
The file was modifiedllvm/test/Analysis/CostModel/X86/arith-overflow.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/min-legal-vector-width.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/cast.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/arith.ll
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.cpp
The file was modifiedllvm/test/Analysis/CostModel/X86/rem.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/trunc.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/arith-fix.ll
Commit f96b5e801d67dac4fb1b94566aa4be3a3a5756d5 by llvm-dev
OptBisect.cpp - remove unused include. NFCI.

StringRef.h is included in OptBisect.h and we have no uses of std::string.
The file was modifiedllvm/lib/IR/OptBisect.cpp
Commit 6fd1604d14335a31268bbc477de27e81310f39ef by caroline.concatto
[InstCombine] Add instcombine fold for extractelement + splat for scalable vectors

This patch allows that scalable vector can also use the fold that already
exists for fixed vector, only when the lane index is lower than the minimum
number of elements of the vector.

Differential Revision: https://reviews.llvm.org/D102404
The file was modifiedllvm/test/Transforms/InstCombine/gep-vector-indices.ll
The file was modifiedllvm/test/Transforms/InstCombine/vscale_extractelement-inseltpoison.ll
The file was modifiedllvm/test/Transforms/InstCombine/vscale_extractelement.ll
The file was modifiedllvm/lib/Analysis/InstructionSimplify.cpp
Commit ccd1e087f3702d5ccdfcce24ac7f7d2877921165 by fraser
[RISCV] Add a test case showing inefficient vector codegen
The file was addedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-bitcast-large-vector.ll