SuccessChanges

Summary

  1. [IR] Add utility to convert constant expression operands (of an instruction) to instructions. (details)
  2. [AMDGPU] Introduce command line switch to control super aligning of LDS. (details)
  3. [AMDGPU] Handle constant LDS uses from different kernels (details)
  4. [RISCV] Store Log2 of EEW in the vector load/store intrinsic to pseudo lookup tables. NFCI (details)
  5. Revert "[TargetLowering] Only inspect attributes in the arguments for ArgListEntry" (details)
  6. [RISCV] Optimize bitwise and with constant for the Zbs extension (details)
  7. Revert "[libcxx][module-map] creates submodules for private headers" (details)
  8. Revert "[libcxx][gardening] Move all algorithms into their own headers." (details)
  9. [gn build] Port 692d7166f771 (details)
  10. [dfsan] Add full fast8 support (details)
  11. [NFC][LSAN] Limit the number of concurrent threads is the test (details)
  12. [RISCV] Use bitfields to shrink the size of the vector load/store intrinsics to pseudo instruction lookup tables. (details)
Commit 3af5f3e69247fb3ead05eefa99832c1c029e1997 by mahesha.comp
[IR] Add utility to convert constant expression operands (of an instruction) to instructions.

In the situation where we need to replace a constant operand C from a constant expression CE
by an instruction NI, it not possible without converting CE itself into an instruction. This
utility helps to convert the given set of constant expression operands from an instruction I
into a corresponding set of instructions.

The current use-case for this utility is from the patches - https://reviews.llvm.org/D103225
and https://reviews.llvm.org/D103655.

Reviewed By: rampitec

Differential Revision: https://reviews.llvm.org/D103661
The file was modifiedllvm/include/llvm/IR/ReplaceConstant.h
The file was modifiedllvm/lib/IR/ReplaceConstant.cpp
Commit 713ca2f3604fdaf0edd5a4e2869c5685e7ec4216 by mahesha.comp
[AMDGPU] Introduce command line switch to control super aligning of LDS.

Reviewed By: rampitec

Differential Revision: https://reviews.llvm.org/D103817
The file was addedllvm/test/CodeGen/AMDGPU/lower-kernel-lds-super-align.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
Commit 05289dfb62461b73654c5fd64b1ef044a88ee027 by Stanislav.Mekhanoshin
[AMDGPU] Handle constant LDS uses from different kernels

This allows to lower an LDS variable into a kernel structure
even if there is a constant expression used from different
kernels.

Differential Revision: https://reviews.llvm.org/D103655
The file was modifiedllvm/lib/Target/AMDGPU/Utils/AMDGPULDSUtils.h
The file was modifiedllvm/test/CodeGen/AMDGPU/lower-module-lds-constantexpr.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/ds_write2.ll
The file was modifiedllvm/lib/Target/AMDGPU/Utils/AMDGPULDSUtils.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/lower-kernel-lds-constexpr.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/ds_read2.ll
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.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVISelDAGToDAG.h
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
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/lib/Transforms/Instrumentation/SanitizerCoverage.cpp
The file was modifiedllvm/test/Instrumentation/DataFlowSanitizer/origin_store.ll
The file was removedllvm/test/CodeGen/X86/mismatched-byval.ll
The file was modifiedllvm/docs/ReleaseNotes.rst
The file was modifiedllvm/test/Transforms/InstCombine/exp2-1.ll
The file was modifiedllvm/lib/Transforms/Utils/BuildLibCalls.cpp
The file was modifiedllvm/test/Transforms/InstCombine/pow_fp_int.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
The file was modifiedllvm/test/Instrumentation/DataFlowSanitizer/origin_store_threshold.ll
The file was modifiedllvm/test/Instrumentation/SanitizerCoverage/const-cmp-tracing.ll
The file was modifiedllvm/test/Instrumentation/DataFlowSanitizer/shadow-args-zext.ll
The file was modifiedllvm/test/Instrumentation/DataFlowSanitizer/origin_mem_intrinsic.ll
The file was modifiedllvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
The file was modifiedllvm/test/Instrumentation/DataFlowSanitizer/origin_track_load.ll
The file was modifiedllvm/test/Transforms/InstCombine/pow_fp_int16.ll
The file was modifiedllvm/test/Transforms/InstCombine/simplify-libcalls.ll
The file was modifiedllvm/test/Instrumentation/DataFlowSanitizer/memset.ll
The file was modifiedllvm/test/Instrumentation/SanitizerCoverage/div-tracing.ll
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/rv32zbs.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoB.td
The file was modifiedllvm/test/CodeGen/RISCV/rv64zbs.ll
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/__iterator/next.h
The file was modifiedlibcxx/include/__memory/allocator.h
The file was modifiedlibcxx/include/module.modulemap
The file was modifiedlibcxx/include/__iterator/prev.h
The file was modifiedlibcxx/include/__memory/allocation_guard.h
The file was modifiedlibcxx/include/__iterator/advance.h
The file was modifiedlibcxx/include/__memory/pointer_safety.h
The file was modifiedlibcxx/include/__memory/pointer_traits.h
The file was modifiedlibcxx/include/__iterator/indirect_concepts.h
The file was modifiedlibcxx/include/__memory/allocator_traits.h
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/lower_bound.h
The file was modifiedlibcxx/test/std/algorithms/alg.sorting/alg.min.max/requires_forward_iterator.fail.cpp
The file was removedlibcxx/include/__algorithm/is_partitioned.h
The file was removedlibcxx/include/__algorithm/merge.h
The file was removedlibcxx/include/__algorithm/replace.h
The file was removedlibcxx/include/__algorithm/comp_ref_type.h
The file was removedlibcxx/include/__algorithm/lexicographical_compare.h
The file was removedlibcxx/include/__algorithm/generate.h
The file was removedlibcxx/include/__algorithm/mismatch.h
The file was removedlibcxx/include/__algorithm/unique.h
The file was removedlibcxx/include/__algorithm/all_of.h
The file was removedlibcxx/include/__algorithm/inplace_merge.h
The file was removedlibcxx/include/__algorithm/nth_element.h
The file was removedlibcxx/include/__algorithm/minmax.h
The file was removedlibcxx/include/__algorithm/binary_search.h
The file was removedlibcxx/include/__algorithm/set_symmetric_difference.h
The file was removedlibcxx/include/__algorithm/shuffle.h
The file was removedlibcxx/include/__algorithm/pop_heap.h
The file was removedlibcxx/include/__algorithm/make_heap.h
The file was removedlibcxx/include/__algorithm/min.h
The file was removedlibcxx/include/__algorithm/half_positive.h
The file was removedlibcxx/include/__algorithm/find_end.h
The file was removedlibcxx/include/__algorithm/find_first_of.h
The file was removedlibcxx/include/__algorithm/stable_sort.h
The file was removedlibcxx/include/__algorithm/partition_point.h
The file was removedlibcxx/include/__algorithm/for_each_n.h
The file was removedlibcxx/include/__algorithm/sort.h
The file was removedlibcxx/include/__algorithm/prev_permutation.h
The file was removedlibcxx/include/__algorithm/uniform_int_distribution.h
The file was modifiedlibcxx/include/algorithm
The file was removedlibcxx/include/__algorithm/is_heap_until.h
The file was removedlibcxx/include/__algorithm/stable_partition.h
The file was modifiedlibcxx/include/regex
The file was removedlibcxx/include/__algorithm/max_element.h
The file was modifiedlibcxx/include/experimental/functional
The file was removedlibcxx/include/__algorithm/any_of.h
The file was removedlibcxx/include/__algorithm/rotate.h
The file was removedlibcxx/include/__algorithm/set_intersection.h
The file was removedlibcxx/include/__algorithm/comp.h
The file was removedlibcxx/include/__algorithm/for_each.h
The file was removedlibcxx/include/__algorithm/unwrap_iter.h
The file was removedlibcxx/include/__algorithm/copy.h
The file was removedlibcxx/include/__algorithm/equal_range.h
The file was removedlibcxx/include/__algorithm/find.h
The file was removedlibcxx/include/__algorithm/max.h
The file was modifiedlibcxx/include/CMakeLists.txt
The file was removedlibcxx/include/__algorithm/adjacent_find.h
The file was removedlibcxx/include/__algorithm/none_of.h
The file was removedlibcxx/include/__algorithm/sample.h
The file was modifiedlibcxx/include/module.modulemap
The file was removedlibcxx/include/__algorithm/find_if_not.h
The file was removedlibcxx/include/__functional/search.h
The file was modifiedlibcxx/test/std/algorithms/alg.modifying.operations/alg.random.sample/sample.fail.cpp
The file was removedlibcxx/include/__algorithm/is_permutation.h
The file was removedlibcxx/include/__algorithm/partial_sort.h
The file was removedlibcxx/include/__algorithm/remove.h
The file was removedlibcxx/include/__algorithm/reverse.h
The file was removedlibcxx/include/__algorithm/equal.h
The file was removedlibcxx/include/__algorithm/push_heap.h
The file was removedlibcxx/include/__algorithm/is_heap.h
The file was removedlibcxx/include/__algorithm/minmax_element.h
The file was removedlibcxx/include/__algorithm/next_permutation.h
The file was removedlibcxx/include/__algorithm/count.h
The file was removedlibcxx/include/__algorithm/min_element.h
The file was removedlibcxx/include/__algorithm/find_if.h
The file was removedlibcxx/include/__algorithm/move.h
The file was removedlibcxx/include/__algorithm/upper_bound.h
The file was removedlibcxx/include/__algorithm/fill.h
The file was modifiedlibcxx/test/std/containers/sequences/array/compare.fail.cpp
The file was removedlibcxx/include/__algorithm/search_n.h
The file was modifiedlibcxx/include/functional
The file was removedlibcxx/include/__algorithm/search.h
The file was removedlibcxx/include/__algorithm/includes.h
The file was removedlibcxx/include/__algorithm/is_sorted.h
The file was removedlibcxx/include/__algorithm/count_if.h
The file was removedlibcxx/include/__algorithm/partition.h
The file was modifiedlibcxx/include/__memory/temporary_buffer.h
The file was removedlibcxx/include/__algorithm/sift_down.h
The file was removedlibcxx/include/__algorithm/clamp.h
The file was removedlibcxx/include/__algorithm/shift.h
The file was removedlibcxx/include/__algorithm/set_difference.h
The file was removedlibcxx/include/__algorithm/sort_heap.h
The file was removedlibcxx/include/__algorithm/transform.h
The file was removedlibcxx/include/__algorithm/set_union.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 modifiedcompiler-rt/lib/dfsan/dfsan.h
The file was modifiedcompiler-rt/test/dfsan/flags.c
The file was modifiedcompiler-rt/test/dfsan/origin_untainted.c
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/origin_branch.c
The file was modifiedllvm/test/Instrumentation/DataFlowSanitizer/store.ll
The file was modifiedcompiler-rt/test/dfsan/origin_overlapped.c
The file was modifiedcompiler-rt/test/dfsan/pair.cpp
The file was removedcompiler-rt/test/dfsan/dump_labels.c
The file was modifiedcompiler-rt/test/dfsan/fork.cpp
The file was modifiedcompiler-rt/test/dfsan/origin_ld_lost.c
The file was modifiedllvm/test/Instrumentation/DataFlowSanitizer/origin_cached_shadows.ll
The file was modifiedcompiler-rt/test/dfsan/origin_memcpy.c
The file was modifiedllvm/test/Instrumentation/DataFlowSanitizer/abilist_aggregate.ll
The file was modifiedcompiler-rt/test/dfsan/origin_limit.c
The file was modifiedllvm/test/Instrumentation/DataFlowSanitizer/basic.ll
The file was modifiedllvm/test/Instrumentation/DataFlowSanitizer/origin_other_ops.ll
The file was modifiedcompiler-rt/test/fuzzer/dataflow.test
The file was modifiedcompiler-rt/lib/dfsan/dfsan_platform.h
The file was modifiedllvm/test/Instrumentation/DataFlowSanitizer/atomics.ll
The file was modifiedllvm/test/Instrumentation/DataFlowSanitizer/phi.ll
The file was modifiedcompiler-rt/include/sanitizer/dfsan_interface.h
The file was modifiedcompiler-rt/test/dfsan/flush.c
The file was modifiedllvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
The file was modifiedcompiler-rt/test/dfsan/origin_set_label.c
The file was modifiedcompiler-rt/test/dfsan/fncall.c
The file was modifiedcompiler-rt/test/dfsan/origin_add_label.c
The file was modifiedllvm/test/Instrumentation/DataFlowSanitizer/origin_abilist.ll
The file was modifiedcompiler-rt/lib/fuzzer/dataflow/DataFlow.cpp
The file was modifiedllvm/test/Instrumentation/DataFlowSanitizer/arith.ll
The file was modifiedllvm/test/Instrumentation/DataFlowSanitizer/origin_load.ll
The file was modifiedllvm/test/Instrumentation/DataFlowSanitizer/origin_select.ll
The file was modifiedllvm/test/Instrumentation/DataFlowSanitizer/origin_store_threshold.ll
The file was modifiedcompiler-rt/test/dfsan/custom.cpp
The file was removedllvm/test/Instrumentation/DataFlowSanitizer/fast16labels.ll
The file was modifiedcompiler-rt/test/dfsan/basic.c
The file was modifiedcompiler-rt/test/dfsan/release_shadow_space.c
The file was modifiedcompiler-rt/test/dfsan/origin_stack_trace.c
The file was modifiedllvm/test/Instrumentation/DataFlowSanitizer/musttailcall.ll
The file was modifiedcompiler-rt/test/dfsan/origin_with_signals.cpp
The file was modifiedllvm/test/Instrumentation/DataFlowSanitizer/origin_store.ll
The file was addedcompiler-rt/test/dfsan/fast8labels.c
The file was modifiedcompiler-rt/test/dfsan/interceptors.c
The file was modifiedllvm/test/Instrumentation/DataFlowSanitizer/shadow-args-zext.ll
The file was modifiedcompiler-rt/test/dfsan/origin_track_ld.c
The file was modifiedllvm/test/Instrumentation/DataFlowSanitizer/origin_phi.ll
The file was modifiedcompiler-rt/test/dfsan/pthread.c
The file was modifiedcompiler-rt/test/dfsan/origin_memmove.c
The file was modifiedllvm/test/Instrumentation/DataFlowSanitizer/select.ll
The file was modifiedcompiler-rt/test/dfsan/origin_unaligned_memtrans.c
The file was modifiedllvm/test/Instrumentation/DataFlowSanitizer/dont_combine_offset_labels_on_gep.ll
The file was modifiedcompiler-rt/lib/dfsan/dfsan_flags.inc
The file was modifiedcompiler-rt/test/dfsan/atomic.cpp
The file was modifiedcompiler-rt/test/dfsan/propagate.c
The file was modifiedllvm/test/Instrumentation/DataFlowSanitizer/abilist.ll
The file was modifiedcompiler-rt/test/dfsan/sigaction.c
The file was modifiedllvm/test/Instrumentation/DataFlowSanitizer/vector.ll
The file was modifiedllvm/test/Instrumentation/DataFlowSanitizer/union.ll
The file was modifiedcompiler-rt/test/dfsan/origin_invalid.c
The file was removedcompiler-rt/test/dfsan/fast16labels.c
The file was modifiedcompiler-rt/lib/dfsan/dfsan.cpp
The file was modifiedllvm/test/Instrumentation/DataFlowSanitizer/array.ll
The file was modifiedcompiler-rt/test/dfsan/origin_disabled.c
The file was modifiedllvm/test/Instrumentation/DataFlowSanitizer/struct.ll
The file was modifiedclang/docs/DataFlowSanitizer.rst
The file was modifiedllvm/test/Instrumentation/DataFlowSanitizer/load.ll
The file was modifiedcompiler-rt/test/fuzzer/only-some-bytes.test
The file was modifiedcompiler-rt/test/dfsan/event_callbacks.c
The file was modifiedclang/docs/DataFlowSanitizerDesign.rst
The file was modifiedcompiler-rt/test/fuzzer/only-some-bytes-fork.test
The file was modifiedcompiler-rt/test/dfsan/origin_ldst.c
The file was modifiedcompiler-rt/test/dfsan/struct.c
The file was modifiedllvm/test/Instrumentation/DataFlowSanitizer/external_mask.ll
The file was modifiedllvm/test/Instrumentation/DataFlowSanitizer/origin_track_load.ll
The file was modifiedcompiler-rt/test/dfsan/origin_memset.c
The file was modifiedllvm/test/Instrumentation/DataFlowSanitizer/origin_mem_intrinsic.ll
The file was removedllvm/test/Instrumentation/DataFlowSanitizer/union-large.ll
The file was modifiedcompiler-rt/test/dfsan/origin_with_sigactions.c
The file was modifiedllvm/test/Instrumentation/DataFlowSanitizer/origin_call.ll
The file was removedcompiler-rt/test/dfsan/label_count.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