Commit
7dff6b818b1cdd52fbc99f6256760d6eb02a7622
by lyandy[MLIR] Add idempotent trait folding
This trait simply adds a fold of f(f(x)) = f(x) when an operation is labelled as idempotent
Reviewed By: rriddle, andyly
Differential Revision: https://reviews.llvm.org/D89421
|
 | mlir/include/mlir/IR/OpBase.td |
 | mlir/lib/IR/Operation.cpp |
 | mlir/test/lib/Dialect/Test/TestOps.td |
 | mlir/test/mlir-tblgen/trait.mlir |
 | mlir/include/mlir/IR/OpDefinition.h |
Commit
0c1381d79567f58655561bd39f5efb1d468c930a
by jay.foad[llc] Use -filetype=null to disable MIR printing
If you use -stop-after or similar options, llc will normally print MIR. This patch checks for -filetype=null as a special case to disable MIR printing. As the comment says, "The Null output is intended for use for performance analysis ...", and I found this useful for timing a subset of the passes that llc runs without the significant overhead of printing MIR just to send it to /dev/null.
Differential Revision: https://reviews.llvm.org/D89476
|
 | llvm/test/tools/llc/filetype-null-stop-after.ll |
 | llvm/lib/CodeGen/LLVMTargetMachine.cpp |
Commit
1417abe54c28854094230f6d3b743d5578f95dff
by jay.foad[AMDGPU] Add new llvm.amdgcn.fma.legacy intrinsic
Differential Revision: https://reviews.llvm.org/D89558
|
 | llvm/lib/Target/AMDGPU/VOP3Instructions.td |
 | llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fma.legacy.ll |
 | llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp |
 | llvm/lib/Analysis/ConstantFolding.cpp |
 | llvm/test/Transforms/InstSimplify/ConstProp/AMDGPU/fma_legacy.ll |
 | llvm/lib/Target/AMDGPU/SIInstructions.td |
 | llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp |
 | llvm/include/llvm/IR/IntrinsicsAMDGPU.td |
Commit
e1612c38665e136279ff460e79e93fd7b37a4559
by Louis Dionne[libc++] Move the oss-fuzz script to libc++
Instead of having this script be part of the OSS-Fuzz repository, I think it makes more sense to have it alongside the rest of the fuzzing targets in libc++.
|
 | libcxx/test/libcxx/fuzzing/oss-fuzz.sh |
Commit
880fc4d581b091dbb68703c3e55c2ca2f94192c2
by Louis Dionne[libc++] Move the oss-fuzz script to libcxx/utils/ci
|
 | libcxx/test/libcxx/fuzzing/oss-fuzz.sh |
 | libcxx/utils/ci/oss-fuzz.sh |
Commit
3d4bba302d2460b9ac6463ef920c301f1f40fb41
by tejohnson[MemProf] Memory profiling runtime support
See RFC for background: http://lists.llvm.org/pipermail/llvm-dev/2020-June/142744.html
Follow on companion to the clang/llvm instrumentation support in D85948 and committed earlier.
This patch adds the compiler-rt runtime support for the memory profiling.
Note that much of this support was cloned from asan (and then greatly simplified and renamed). For example the interactions with the sanitizer_common allocators, error handling, interception, etc.
The bulk of the memory profiling specific code can be found in the MemInfoBlock, MemInfoBlockCache, and related classes defined and used in memprof_allocator.cpp.
For now, the memory profile is dumped to text (stderr by default, but honors the sanitizer_common log_path flag). It is dumped in either a default verbose format, or an optional terse format.
This patch also adds a set of tests for the core functionality.
Differential Revision: https://reviews.llvm.org/D87120
|
 | compiler-rt/lib/memprof/memprof_new_delete.cpp |
 | compiler-rt/lib/memprof/memprof_stack.h |
 | compiler-rt/lib/sanitizer_common/sanitizer_flags.inc |
 | compiler-rt/test/memprof/TestCases/default_options.cpp |
 | compiler-rt/lib/sanitizer_common/sanitizer_allocator_report.h |
 | compiler-rt/lib/memprof/memprof_mapping.h |
 | compiler-rt/test/memprof/TestCases/memprof_options-help.cpp |
 | compiler-rt/test/memprof/TestCases/test_new_load_store.cpp |
 | compiler-rt/lib/CMakeLists.txt |
 | compiler-rt/lib/memprof/memprof_interceptors_memintrinsics.cpp |
 | compiler-rt/test/memprof/TestCases/interface_test.cpp |
 | compiler-rt/test/memprof/lit.cfg.py |
 | compiler-rt/lib/memprof/memprof_interceptors.h |
 | compiler-rt/test/memprof/TestCases/test_malloc_load_store.c |
 | compiler-rt/test/memprof/TestCases/print_miss_rate.cpp |
 | compiler-rt/lib/memprof/memprof_linux.cpp |
 | compiler-rt/lib/memprof/memprof_posix.cpp |
 | compiler-rt/lib/memprof/README.txt |
 | compiler-rt/lib/memprof/memprof.syms.extra |
 | compiler-rt/lib/memprof/memprof_rtl.cpp |
 | compiler-rt/test/memprof/TestCases/test_memintrin.cpp |
 | compiler-rt/lib/memprof/memprof_thread.h |
 | compiler-rt/lib/memprof/memprof_stack.cpp |
 | compiler-rt/lib/memprof/memprof_allocator.h |
 | compiler-rt/lib/memprof/memprof_shadow_setup.cpp |
 | compiler-rt/lib/memprof/memprof_interceptors_memintrinsics.h |
 | compiler-rt/test/memprof/TestCases/realloc.cpp |
 | compiler-rt/lib/memprof/memprof_descriptions.h |
 | compiler-rt/test/memprof/CMakeLists.txt |
 | compiler-rt/test/memprof/TestCases/free_hook_realloc.cpp |
 | compiler-rt/lib/memprof/memprof_flags.cpp |
 | compiler-rt/lib/memprof/memprof_stats.cpp |
 | compiler-rt/test/memprof/TestCases/malloc-size-too-big.cpp |
 | compiler-rt/lib/memprof/memprof_flags.inc |
 | compiler-rt/test/lit.common.configured.in |
 | compiler-rt/lib/memprof/memprof_init_version.h |
 | compiler-rt/test/memprof/TestCases/stress_dtls.c |
 | compiler-rt/test/memprof/TestCases/unaligned_loads_and_stores.cpp |
 | compiler-rt/CMakeLists.txt |
 | compiler-rt/lib/memprof/memprof_interceptors.cpp |
 | compiler-rt/test/memprof/TestCases/log_path_test.cpp |
 | compiler-rt/include/sanitizer/memprof_interface.h |
 | compiler-rt/lib/memprof/CMakeLists.txt |
 | compiler-rt/lib/memprof/memprof_internal.h |
 | compiler-rt/lib/memprof/memprof_flags.h |
 | compiler-rt/test/CMakeLists.txt |
 | compiler-rt/test/memprof/TestCases/malloc_hook.cpp |
 | compiler-rt/lib/memprof/memprof_descriptions.cpp |
 | compiler-rt/lib/sanitizer_common/sanitizer_internal_defs.h |
 | compiler-rt/lib/memprof/weak_symbols.txt |
 | compiler-rt/test/memprof/TestCases/atexit_stats.cpp |
 | compiler-rt/test/memprof/lit.site.cfg.py.in |
 | compiler-rt/lib/memprof/memprof_thread.cpp |
 | compiler-rt/lib/memprof/memprof_malloc_linux.cpp |
 | compiler-rt/lib/memprof/memprof_stats.h |
 | compiler-rt/test/memprof/TestCases/test_terse.cpp |
 | compiler-rt/lib/memprof/memprof_preinit.cpp |
 | compiler-rt/test/lit.common.cfg.py |
 | compiler-rt/lib/memprof/memprof_interface_internal.h |
 | compiler-rt/lib/sanitizer_common/sanitizer_allocator_report.cpp |
 | compiler-rt/include/CMakeLists.txt |
 | compiler-rt/test/memprof/TestCases/mem_info_cache_entries.cpp |
 | compiler-rt/cmake/config-ix.cmake |
 | compiler-rt/lib/memprof/memprof_allocator.cpp |
 | compiler-rt/test/memprof/TestCases/dump_process_map.cpp |
Commit
e95f9a23fad52ffa3a5b6466c7dcdf910d099956
by rengolin[llvm-objdump] Implement --prefix option
The prefix given to --prefix will be added to GNU absolute paths when used with --source option (source interleaved with the disassembly).
This matches GNU's objdump behavior.
GNU and C++17 rules for absolute paths are different.
Differential Revision: https://reviews.llvm.org/D85024
Fixes PR46368.
Differential Revision: https://reviews.llvm.org/D85024
|
 | llvm/tools/llvm-objdump/llvm-objdump.cpp |
 | llvm/tools/llvm-objdump/llvm-objdump.h |
 | llvm/test/tools/llvm-objdump/X86/source-interleave-prefix-non-windows.test |
 | llvm/test/tools/llvm-objdump/X86/source-interleave-prefix.test |
 | llvm/docs/CommandGuide/llvm-objdump.rst |
 | llvm/test/tools/llvm-objdump/X86/source-interleave-prefix-windows.test |
 | llvm/docs/llvm-objdump.1 |
Commit
2408fc2a1e85c0e9e9c6e8b1dd00d2507dda38f4
by Louis Dionne[libc++] Avoid relying on `realpath` being installed on the system
It doesn't appear to be a standard utility.
|
 | libcxx/utils/ci/apple-install-libcxx.sh |
Commit
6042c25b0a7a9d812ace6ffe164628af9a1e1259
by Amara Emerson[GlobalISel] Add translation support for vector reduction intrinsics.
In order to prevent the ExpandReductions pass from expanding some intrinsics before they get to codegen, I had to add a -disable-expand-reductions flag for testing purposes.
Differential Revision: https://reviews.llvm.org/D89028
|
 | llvm/lib/CodeGen/TargetPassConfig.cpp |
 | llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp |
 | llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-reductions.ll |
Commit
9190411fcf65188ea8cb032253302dd4ce4baede
by Amara Emerson[AArch64][GlobalISel] Add basic legalizer rules for supported add/fadd reductions.
NEON is pretty limited in it's reduction support. As a first step add some basic rules for the legal types we can select.
Differential Revision: https://reviews.llvm.org/D89070
|
 | llvm/test/CodeGen/AArch64/GlobalISel/legalize-reduce-fadd.mir |
 | llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp |
 | llvm/test/CodeGen/AArch64/GlobalISel/legalize-reduce-add.mir |
 | llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir |
Commit
32f77eea2d0f0660647e4222332ccf5c6dfc98e6
by Amara Emerson[AArch64][GlobalISel] Regbankselect reductions to use FPR bank for scalars.
Differential Revision: https://reviews.llvm.org/D89075
|
 | llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp |
 | llvm/test/CodeGen/AArch64/GlobalISel/regbankselect-reductions.mir |
Commit
3ed77ecd0a5d5e5c33770f0f9d3d75cf2f80c80b
by tejohnson[MemProf] Don't build memprof if sanitizer not being built
This should fix a couple of debian bot failures: http://lab.llvm.org:8011/#builders/14/builds/380 http://lab.llvm.org:8011/#builders/109/builds/533
They disable building of the sanitizer, which memprof relies on. So disable building of memprof in that case.
|
 | compiler-rt/lib/CMakeLists.txt |
Commit
c4d10e7e9bb47b77fad43d8ddcfa328298f36c88
by scott.linder[AMDGPU][HIP] Switch default DWARF version to 5
Another attempt at this, see D59008 for previous attempt.
Reviewed By: kzhuravl, t-tye
Differential Revision: https://reviews.llvm.org/D89484
|
 | clang/test/Driver/hip-toolchain-dwarf.hip |
 | clang/test/Driver/amdgpu-toolchain.c |
 | clang/lib/Driver/ToolChains/AMDGPU.h |
 | clang/lib/Driver/ToolChains/HIP.h |
Commit
b740899c500ba6a707711b74bfdacf104e8a8067
by benny.kra[Indvars][NFCI] Simplify assertion.
This should be semantically identical. Also avoids unused variable warnings in Release builds.
|
 | llvm/lib/Transforms/Scalar/IndVarSimplify.cpp |
Commit
3784bdf2176f38cc30134fab776efb43506c0c54
by martin[libcxx] [test] Fix string type handling in a few fairly trivial class.path tests
Use string() for convenience for testing where possible, but keep using native() for move tests where we want to check that no allocations are made, constructing a reference fs::path::string_type instead.
Use the right value_type in a few places.
Make the synop test check for the right types and for the expected preferred separator.
Differential Revision: https://reviews.llvm.org/D89537
|
 | libcxx/test/std/input.output/filesystems/class.path/path.member/path.assign/move.pass.cpp |
 | libcxx/test/std/input.output/filesystems/class.path/path.member/path.native.obs/native.pass.cpp |
 | libcxx/test/std/input.output/filesystems/class.path/synop.pass.cpp |
 | libcxx/test/std/input.output/filesystems/class.path/path.member/path.assign/copy.pass.cpp |
 | libcxx/test/std/input.output/filesystems/class.path/path.member/path.native.obs/c_str.pass.cpp |
 | libcxx/test/std/input.output/filesystems/class.path/path.nonmember/swap.pass.cpp |
 | libcxx/test/std/input.output/filesystems/class.path/path.nonmember/path.io.pass.cpp |
 | libcxx/test/std/input.output/filesystems/class.path/path.member/path.native.obs/operator_string.pass.cpp |
 | libcxx/test/std/input.output/filesystems/class.path/path.member/path.construct/move.pass.cpp |
 | libcxx/test/std/input.output/filesystems/class.path/path.member/path.construct/source.pass.cpp |
 | libcxx/test/std/input.output/filesystems/class.path/path.member/path.construct/copy.pass.cpp |
Commit
98e134f5d01afbcdf74a7ee0af8fe3bed0201e54
by thakis[gn build] (manually) port 3d4bba302d246
|
 | llvm/utils/gn/secondary/compiler-rt/test/BUILD.gn |
Commit
1c54a91d11aeb5f8d5d9f299509c6bda8d993f14
by llvmgnsyncbot[gn build] Port 3d4bba302d2
|
 | llvm/utils/gn/secondary/compiler-rt/include/BUILD.gn |
Commit
53b69820f420ad896780d22fd241581a779b7c2b
by aeubanks[test] Pin null-function.ll to legacy PM
The NPM prints CGSCCs in a different way.
|
 | llvm/test/Transforms/Inline/null-function.ll |