|
 | llvm/test/Analysis/ScalarEvolution/no-wrap-add-exprs.ll (diff) |
Commit
4ac4e52189aa6d80c3d59dc2c8f7dcc0cb7f9d58
by anna[InstCombine] Improve TryToSinkInstruction with multiple uses
This patch allows sinking an instruction which can have multiple uses in a single user. We were previously over-restrictive by looking for exactly one use, rather than one user.
Also, the API for retrieving undroppable user has been updated accordingly since in both usecases (Attributor and InstCombine), we seem to care about the user, rather than the use.
Reviewed-By: nikic
Differential Revision: https://reviews.llvm.org/D109700
|
 | llvm/include/llvm/IR/Value.h (diff) |
 | llvm/lib/Transforms/Utils/AssumeBundleBuilder.cpp (diff) |
 | llvm/lib/Transforms/InstCombine/InstructionCombining.cpp (diff) |
 | llvm/test/Transforms/InstCombine/icmp-mul-zext.ll (diff) |
 | llvm/test/Transforms/InstCombine/sink_instruction.ll (diff) |
 | llvm/lib/IR/Value.cpp (diff) |
Commit
40acc0adad59ac39e9a7a02fcd93161298500c00
by dblaikieImprove type printing of size-dependent const arrays to normalize array-of-const and const-array
Follow-on from 2bd84938470bf2e337801faafb8a67710f46429d based on postcommit feedback from Richard Smith.
The VariableArray case I couldn't figure out how to test/provoke - you can't write/form a variable array in any context other than a local variable that I know of, and in that case `const int x[n]` is the normalized form already (array-of-const) and you can't use typedefs (since you can't typedef int[n] with variable 'n') to force the const-array AST that would produce the undesirable type printing "int const [n]".
|
 | clang/lib/AST/TypePrinter.cpp (diff) |
 | clang/test/AST/ast-dump-array.cpp (diff) |
Commit
d249200fa7d540fb0b3ddc065575293e1da11107
by Saleem AbdulrasoolRevert "Re-Revert "clang-tidy: introduce readability-containter-data-pointer check""
This reverts commit 626586fc253c6f032aedb325dba6b1ff3f11875e.
Tweak the test for Windows. Windows defaults to delayed template parsing, which resulted in the main template definition not registering the test on Windows. Process the file with the additional `-fno-delayed-template-parsing` flag to change the default beahviour. Additionally, add an extra check for the fix it and use a more robust test to ensure that the value is always evaluated.
Differential Revision: https://reviews.llvm.org/D108893
|
 | clang-tools-extra/test/clang-tidy/checkers/readability-container-data-pointer.cpp |
 | clang-tools-extra/clang-tidy/readability/ContainerDataPointerCheck.cpp |
 | clang-tools-extra/clang-tidy/readability/CMakeLists.txt (diff) |
 | clang-tools-extra/docs/ReleaseNotes.rst (diff) |
 | clang-tools-extra/docs/clang-tidy/checks/readability-data-pointer.rst |
 | clang-tools-extra/clang-tidy/readability/ContainerDataPointerCheck.h |
 | clang-tools-extra/clang-tidy/readability/ReadabilityTidyModule.cpp (diff) |
|
 | openmp/libomptarget/plugins/generic-elf-64bit/src/rtl.cpp (diff) |
|
 | clang/lib/CodeGen/CGDebugInfo.cpp (diff) |
Commit
3273430406c186f1f2af597adeedf21d4fa52b18
by annaRe-add getSingleUndroppableUse API
The API was removed in 4ac4e52189aa in favor of getUniqueUndroppableUser. However, this caused a buildbot failure in AbstractCallSiteTest.cpp, which uses the API and the AbstractCallSite class requires a "use" rather than a user. Retain the API so that the unittest compiles and passes.
|
 | llvm/include/llvm/IR/Value.h (diff) |
 | llvm/lib/IR/Value.cpp (diff) |
Commit
1ac2d195ecb5d4c549c11b9c1df00179f5fea7ed
by rob.suderman[mlir][linalg] Add canonicalizers for depthwise conv
There are two main versions of depthwise conv depending whether the multiplier is 1 or not. In cases where m == 1 we should use the version without the multiplier channel as it can perform greater optimization.
Add lowering for the quantized/float versions to have a multiplier of one.
Reviewed By: antiagainst
Differential Revision: https://reviews.llvm.org/D108959
|
 | mlir/test/Dialect/Linalg/canonicalize.mlir (diff) |
 | mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp (diff) |
Commit
f4382d4b0972ac31a2027610adfb9d4dc36caa2e
by Dan Liew[Compiler-RT] For arm64e test suites use the SDK version as the minimum deployment target.
Previously we used the minimum deployment target used for the platform (e.g. iOS is 9.0). Unfortunately this leads to ABI incompatibilities with arm64e devices running newer OSs. In particular the following TSan test cases that used libcxx would fail due to the ABI mismatch.
* Darwin/libcxx-shared-ptr-recursive.mm * Darwin/libcxx-shared-ptr-stress.mm * Darwin/libcxx-shared-ptr.mm * libcxx/std_shared_ptr.cpp
Given that arm64e is not ABI stable we should ideally match the deployment target for sanitizer runtimes and their tests cases to the device when building for arm64e. Unfortunately having a mixed deployment target (based on architecture) isn't currently supported by the build system and is non-trivial to implement.
As a stop-gap measure this patch changes the sanitizer test suites (but not the sanitizer runtimes themselves) to use a newer deployment target when targetting arm64e.
The deployment target used for arm64e is the SDK version because this "should" match the OS version running on the target device (it is a configuration error to not match them).
rdar://83080611
|
 | compiler-rt/cmake/config-ix.cmake (diff) |
Commit
cb8c30d35dc9eedca4b8073e96f06e9ce8f12192
by jpienaar[DRR] Explicit Return Types in Rewrites
Adds a new rewrite directive returnType that can be added at the end of an op's argument list to explicitly specify return types.
``` (OpX $v0, $v1, (returnType "$_builder.getI32Type()")) ```
Pass in a bound value to copy its return type, or pass a native code call to dynamically create new types.
``` (OpX $v0, $v1, (returnType $v0, (NativeCodeCall<"..."> $v1))) ```
Reviewed By: jpienaar
Differential Revision: https://reviews.llvm.org/D109472
|
 | mlir/test/mlir-tblgen/rewriter-indexing.td (diff) |
 | mlir/include/mlir/IR/OpBase.td (diff) |
 | mlir/tools/mlir-tblgen/RewriterGen.cpp (diff) |
 | mlir/test/lib/Dialect/Test/TestOps.td (diff) |
 | mlir/lib/TableGen/Pattern.cpp (diff) |
 | mlir/test/mlir-tblgen/pattern.mlir (diff) |
 | mlir/test/mlir-tblgen/rewriter-errors.td (diff) |
 | mlir/include/mlir/TableGen/Pattern.h (diff) |
|
 | llvm/lib/CodeGen/SplitKit.h (diff) |
 | llvm/lib/CodeGen/RegAllocGreedy.cpp (diff) |
 | llvm/lib/CodeGen/SplitKit.cpp (diff) |
Commit
b6cb03e6b94d91a1757d41d4b0f139166ae15de0
by annaRevert use of getUniqueUndroppableUser in AssumeBundleBuilder
Fix build bot failure in rG4ac4e521 caused due to assumeBundleBuilder using new API (getUniqueUndroppableUser). We now continue using the existing API for AssumeBundleBuilder (getSingleUndroppableUser).
Sorry for the noise here.
Tests-Run: failing testcase passes.
|
 | llvm/lib/Transforms/Utils/AssumeBundleBuilder.cpp (diff) |
|
 | llvm/lib/DebugInfo/DWARF/DWARFDie.cpp (diff) |
|
 | clang/lib/Format/UnwrappedLineParser.cpp (diff) |
Commit
f9e4aebe4a7a318869f57852359ad637f5c5a009
by annaRevert "[InstCombine] Improve TryToSinkInstruction with multiple uses"
This reverts commit 4ac4e52189aa6d80c3d59dc2c8f7dcc0cb7f9d58. There are couple of test failures, which needs update of the test cases.
Doing a clean revert and will recommit the change along with fixed testcases.
|
 | llvm/lib/IR/Value.cpp (diff) |
 | llvm/test/Transforms/InstCombine/sink_instruction.ll (diff) |
 | llvm/include/llvm/IR/Value.h (diff) |
 | llvm/lib/Transforms/InstCombine/InstructionCombining.cpp (diff) |
 | llvm/test/Transforms/InstCombine/icmp-mul-zext.ll (diff) |
Commit
68079ef0eb011c8349e5ae84b95216e5039dbc16
by resistorTeach SimplifyCFG to fold switches into lookup tables in more cases.
In particular, it couldn't handle cases where lookup table constant expressions involved bitcasts. This does not seem to come up frequently in C++, but comes up reasonably often in Rust via `#[derive(Debug)]`.
Originally reported by pcwalton.
Reviewed By: nikic
Differential Revision: https://reviews.llvm.org/D109565
|
 | llvm/test/Transforms/SimplifyCFG/X86/switch-to-lookup-gep.ll |
 | llvm/lib/Transforms/Utils/SimplifyCFG.cpp (diff) |
 | llvm/test/Transforms/SimplifyCFG/X86/switch-to-lookup-bitcast.ll |
Commit
658eb9e14264d48888ade0e3daf0b648f76c3f0e
by llvm-project[Polly] Remove autotools build systems from Externals. NFC.
Building a source distribution using autotools adds GPL-licenced files into the the sources. Although redistribution of theses files is explicitly allowed with an exception, these are not used by Polly which uses a CMake replacement. Use the direct source checkout instead (replacing the output of 'make dist').
Some m4 scripts with the same licence are also included in isl/ppcg repository. Removing them renders the autotools-based build scipts inoperable, so remove the autotools build system altogether.
|
 | polly/lib/External/isl/imath/tests/set.tc |
 | polly/lib/External/isl/interface/install-sh |
 | polly/lib/External/isl/testsets/pip/jcomplex.pip |
 | polly/lib/External/isl/imath/tests/conv.tc |
 | polly/lib/External/isl/imath/tests/qtodec.tc |
 | polly/lib/External/isl/imath/tests/gmp-compat-test/runtest.py |
 | polly/lib/External/isl/test-driver |
 | polly/lib/External/ppcg/test-driver |
 | polly/lib/External/isl/imath/imdrover.h |
 | polly/lib/External/ppcg/m4/ax_check_openmp.m4 |
 | polly/lib/External/isl/imath/tests/linux/Dockerfile |
 | polly/lib/External/isl/imath/tests/gmp-compat-test/Makefile |
 | polly/lib/External/isl/.gitmodules |
 | polly/lib/External/isl/interface/config.guess |
 | polly/lib/External/ppcg/aclocal.m4 |
 | polly/lib/External/ppcg/m4/ax_detect_git_head.m4 |
 | polly/lib/External/isl/config.guess |
 | polly/lib/External/isl/imath/tests/egcd.tc |
 | polly/lib/External/isl/interface/compile |
 | polly/lib/External/isl/depcomp |
 | polly/lib/External/isl/imath/tests/sub.tc |
 | polly/lib/External/isl/include/isl/typed_cpp.h |
 | polly/lib/External/isl/isl_config.h.in |
 | polly/lib/External/isl/imath/.travis.yml |
 | polly/lib/External/isl/imath/rsamath.c |
 | polly/lib/External/isl/imath/tests/pi1500-10.txt |
 | polly/lib/External/isl/imath/tests/qdiv.tc |
 | polly/lib/External/isl/testsets/pip/seghir-e8.pip |
 | polly/lib/External/isl/interface/isl_config.h.in |
 | polly/lib/External/isl/imath/examples/rsakey.c |
 | polly/lib/External/isl/m4/ltsugar.m4 |
 | polly/lib/External/isl/imath/tests/qmisc.tc |
 | polly/lib/External/isl/ltmain.sh |
 | polly/lib/External/isl/py-compile |
 | polly/lib/External/isl/interface/Makefile.in |
 | polly/lib/External/isl/imath/tests/rtest.c |
 | polly/lib/External/isl/imath/tests/gmp-compat-test/genctest.py |
 | polly/lib/External/isl/.gitignore |
 | polly/lib/External/ppcg/m4/ltoptions.m4 |
 | polly/lib/External/isl/imath/tests/gmp-compat-test/gmpapi.py |
 | polly/lib/External/isl/m4/ltoptions.m4 |
 | polly/lib/External/isl/m4/ax_prog_cxx_for_build.m4 |
 | polly/lib/External/ppcg/m4/ax_submodule.m4 |
 | polly/lib/External/isl/configure |
 | polly/lib/External/isl/imath/iprime.h |
 | polly/lib/External/isl/m4/ax_check_compiler_flags.m4 |
 | polly/lib/External/isl/imath/Makefile |
 | polly/lib/External/isl/imath/tests/bintest.c |
 | polly/lib/External/isl/imath/imtimer.c |
 | polly/lib/External/isl/imath/tests/qaddz.tc |
 | polly/lib/External/isl/imath/examples/findprime.c |
 | polly/lib/External/ppcg/install-sh |
 | polly/lib/External/isl/m4/ax_create_stdint_h.m4 |
 | polly/lib/External/isl/imath/examples/randprime.c |
 | polly/lib/External/isl/imath/tests/gmp-compat-test/imath_custom_test.c |
 | polly/lib/External/isl/imath/doc.md |
 | polly/lib/External/isl/interface/configure |
 | polly/lib/External/isl/interface/depcomp |
 | polly/lib/External/isl/m4/ax_c___attribute__.m4 |
 | polly/lib/External/isl/imath/tests/gcd.tc |
 | polly/lib/External/isl/imath/examples/imcalc.c |
 | polly/lib/External/isl/testsets/pip/seghir-e6.pip |
 | polly/lib/External/isl/imath/rsamath.h |
 | polly/lib/External/isl/imath/tests/root.tc |
 | polly/lib/External/isl/imath/tools/findthreshold.py |
 | polly/lib/External/isl/install-sh |
 | polly/lib/External/ppcg/config.guess |
 | polly/lib/External/isl/interface/Makefile.am |
 | polly/lib/External/isl/imath/tests/qsubz.tc |
 | polly/lib/External/update-isl.sh (diff) |
 | polly/lib/External/isl/imath/tests/qadd.tc |
 | polly/lib/External/ppcg/m4/lt~obsolete.m4 |
 | polly/lib/External/ppcg/depcomp |
 | polly/lib/External/isl/compile |
 | polly/lib/External/isl/interface/ltmain.sh |
 | polly/lib/External/isl/imath/imtest.c |
 | polly/lib/External/isl/imath/tests/init.tc |
 | polly/lib/External/isl/testsets/pip/seghir-e7.pip |
 | polly/lib/External/isl/imath/tests/test.bc |
 | polly/lib/External/isl/m4/ax_submodule.m4 |
 | polly/lib/External/isl/testsets/pip/bouleti.pip |
 | polly/lib/External/ppcg/configure.ac |
 | polly/lib/External/isl/imath/examples/basecvt.c |
 | polly/lib/External/isl/imath/tests/gmp-compat-test/.gitignore |
 | polly/lib/External/isl/m4/ax_compiler_vendor.m4 |
 | polly/lib/External/isl/doc/Makefile.am |
 | polly/lib/External/isl/imath/tests/imath-test.scm |
 | polly/lib/External/isl/imath/tests/pi1024.txt |
 | polly/lib/External/isl/m4/ax_gcc_warn_unused_result.m4 |
 | polly/lib/External/isl/imath/imdrover.c |
 | polly/lib/External/isl/m4/ax_prog_cc_for_build.m4 |
 | polly/lib/External/isl/imath/tests/qmul.tc |
 | polly/lib/External/isl/imath/tools/mkdoc.py |
 | polly/lib/External/isl/imath/tests/add.tc |
 | polly/lib/External/ppcg/m4/ltsugar.m4 |
 | polly/lib/External/isl/imath/ChangeLog |
 | polly/lib/External/isl/testsets/pip/seghir-e1.pip |
 | polly/lib/External/isl/testsets/pip/seghir-vd.pip |
 | polly/lib/External/isl/missing |
 | polly/lib/External/ppcg/Makefile.in |
 | polly/lib/External/isl/m4/ax_create_pkgconfig_info.m4 |
 | polly/lib/External/isl/include/isl/cpp-checked-conversion.h |
 | polly/lib/External/isl/aclocal.m4 |
 | polly/lib/External/isl/imath/tests/gmp-compat-test/runtest |
 | polly/lib/External/isl/imath/tests/sqr.tc |
 | polly/lib/External/isl/imath/contrib/Makefile.msvc |
 | polly/lib/External/isl/m4/ltversion.m4 |
 | polly/lib/External/isl/imath/iprime.c |
 | polly/lib/External/isl/config.sub |
 | polly/lib/External/isl/doc/Makefile.in |
 | polly/lib/External/isl/m4/ax_gcc_x86_cpuid.m4 |
 | polly/lib/External/isl/include/isl/cpp-checked.h |
 | polly/lib/External/isl/doc/interface |
 | polly/lib/External/isl/imath/tests/div.tc |
 | polly/lib/External/isl/Makefile.am |
 | polly/lib/External/isl/imath/tests/gmp-compat-test/gendata.py |
 | polly/lib/External/isl/imath/tests/qdivz.tc |
 | polly/lib/External/isl/imath/tests/isprime.tc |
 | polly/lib/External/ppcg/ltmain.sh |
 | polly/lib/External/isl/testsets/pip/seghir-e5.pip |
 | polly/lib/External/isl/imath/README.md |
 | polly/lib/External/isl/m4/ax_cxx_compile_stdcxx.m4 |
 | polly/lib/External/isl/m4/ax_gcc_archflag.m4 |
 | polly/lib/External/isl/imath/tests/expt.tc |
 | polly/lib/External/isl/imath/tests/neg.tc |
 | polly/lib/External/isl/m4/ax_detect_imath.m4 |
 | polly/lib/External/isl/imath/tests/test.sh |
 | polly/lib/External/isl/m4/ax_detect_clang.m4 |
 | polly/lib/External/isl/interface/aclocal.m4 |
 | polly/lib/External/isl/m4/ax_detect_git_head.m4 |
 | polly/lib/External/isl/imath/tests/bigsqr.tc |
 | polly/lib/External/isl/imath/tests/compare.tc |
 | polly/lib/External/isl/imath/contrib/README |
 | polly/lib/External/isl/m4/libtool.m4 |
 | polly/lib/External/isl/m4/ax_detect_gmp.m4 |
 | polly/lib/External/ppcg/m4/libtool.m4 |
 | polly/lib/External/isl/imath/tests/mul.tc |
 | polly/lib/External/ppcg/Makefile.am |
 | polly/lib/External/isl/imath/LICENSE |
 | polly/lib/External/isl/imath/tests/bug-swap.c |
 | polly/lib/External/isl/m4/ax_set_warning_flags.m4 |
 | polly/lib/External/isl/imath/tests/qsub.tc |
 | polly/lib/External/isl/Makefile.in |
 | polly/lib/External/isl/testsets/pip/difficult.pip |
 | polly/lib/External/isl/m4/ax_cxx_compile_stdcxx_11.m4 |
 | polly/lib/External/isl/imath/tests/gmp-compat-test/gmp_custom_test.c |
 | polly/lib/External/isl/testsets/pip/cnt_sum2.pip |
 | polly/lib/External/isl/imath/.gitattributes |
 | polly/lib/External/isl/imath/doc.md.in |
 | polly/lib/External/isl/imath/tests/emodv.tc |
 | polly/lib/External/isl/testsets/pip/phideo.pip |
 | polly/lib/External/isl/imath/tests/bigmul.tc |
 | polly/lib/External/ppcg/m4/ax_check_opencl.m4 |
 | polly/lib/External/isl/imath/tests/emod.tc |
 | polly/lib/External/isl/imath/tests/pi1698-16.txt |
 | polly/lib/External/isl/imath/examples/input.c |
 | polly/lib/External/isl/imath/examples/pi.c |
 | polly/lib/External/isl/interface/isl.py |
 | polly/lib/External/isl/imath/tests/qmulz.tc |
 | polly/lib/External/isl/imath/tests/invmod.tc |
 | polly/lib/External/isl/testsets/pip/seghir-e4.pip |
 | polly/lib/External/isl/interface/missing |
 | polly/lib/External/ppcg/compile |
 | polly/lib/External/isl/imath/tests/gmp-compat-test/README |
 | polly/lib/External/ppcg/missing |
 | polly/lib/External/isl/testsets/pip/seghir-e3.pip |
 | polly/lib/External/isl/imath/tests/mod.tc |
 | polly/lib/External/ppcg/m4/ltversion.m4 |
 | polly/lib/External/isl/configure.ac |
 | polly/lib/External/ppcg/config.sub |
 | polly/lib/External/isl/testsets/pip/seghir-e9.pip |
 | polly/lib/External/isl/m4/ax_cc_maxopt.m4 |
 | polly/lib/External/ppcg/configure |
 | polly/lib/External/isl/imath/tests/gmp-compat-test/genpytest.py |
 | polly/lib/External/isl/interface/config.sub |
 | polly/lib/External/isl/m4/lt~obsolete.m4 |
 | polly/lib/External/isl/imath/.dockerignore |
 | polly/lib/External/isl/imath/examples/rounding.c |
 | polly/lib/External/isl/imath/tests/lcm.tc |
 | polly/lib/External/isl/m4/ax_cxx_compile_stdcxx_11_no_override.m4 |
 | polly/lib/External/isl/include/isl/cpp.h |
|
 | llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/readability/BUILD.gn (diff) |
Commit
c3ddc13d7d631a29b55f82c7cc7a9008bf89b1f4
by aeubanks[NFC] Split up PassBuilder.cpp
PassBuilder.cpp is the slowest file to compile in LLVM. When trying to test changes to pipelines, it takes a long time to recompile.
This doesn't actually speedup building PassBuilder.cpp itself since most of the time is spent in other large/duplicated functions caused by PassRegistry.def.
Reviewed By: asbirlea
Differential Revision: https://reviews.llvm.org/D109798
|
 | llvm/lib/Passes/PassBuilderPipelines.cpp |
 | llvm/utils/gn/secondary/llvm/lib/Passes/BUILD.gn (diff) |
 | llvm/lib/Passes/PassBuilder.cpp (diff) |
 | llvm/lib/Passes/OptimizationLevel.cpp |
 | llvm/lib/Passes/CMakeLists.txt (diff) |
|
 | llvm/test/Other/extract-alias.ll |
 | llvm/test/tools/llvm-extract/extract-linkonce.ll |
 | llvm/test/tools/llvm-extract/extract.ll |
 | llvm/test/tools/llvm-extract/extract-weak-odr.ll |
 | llvm/test/Other/extract-weak-odr.ll |
 | llvm/test/tools/llvm-extract/extract-alias.ll |
 | llvm/test/Other/extract.ll |
 | llvm/test/Other/extract-linkonce.ll |
Commit
699da98739b0f88c27f75adbe8295c7e1dfd0188
by richardPR51874: Fix diagnostics for defaulted, implicitly deleted 'operator!='.
Don't say we couldn't find an 'operator<=>' when we were actually looking for an 'operator=='. Also fix a crash when attempting to diagnose if we select a built-in 'operator!=' in this lookup.
|
 | clang/include/clang/Basic/DiagnosticSemaKinds.td (diff) |
 | clang/test/CXX/class/class.compare/class.compare.secondary/p2.cpp |
 | clang/lib/Sema/SemaDeclCXX.cpp (diff) |
Commit
37a5a3ae5508a120a6eba113dbd0b23ab27d650e
by tejohnson[MemProf] Avoid global lock when updating MIB cache
Previously we used a global Allocator-scope mutex to lock when adding a deallocation to the MIB cache. This resulted in a lot of contention. Instead add and use per-set mutexes.
Along with this, we now need to remove the global miss and access count variables and instead utilize the per-set statistics to report the overall miss rate.
Differential Revision: https://reviews.llvm.org/D109853
|
 | compiler-rt/lib/memprof/memprof_allocator.cpp (diff) |
Commit
17589538aaef2b5ae27a0bfeb4346aff433aa59d
by tedwood[lldb-vscode] Fix focus thread when previous thread exits
The thread that Visual Studio Code displays on a stop is called the focus thread. When the previous focus thread exits and we stop in a new thread, lldb-vscode does not tell vscode to set the new thread as the focus thread, so it selects the first thread in the thread list.
This patch changes lldb-vscode to tell vscode that the new thread is the focus thread. It also includes a test that verifies the DAP stop message for this case contains the correct values.
Reviewed By: clayborg, wallace
Differential Revision: https://reviews.llvm.org/D109633
|
 | lldb/test/API/tools/lldb-vscode/correct-thread/Makefile |
 | lldb/test/API/tools/lldb-vscode/correct-thread/TestVSCode_correct_thread.py |
 | lldb/test/API/tools/lldb-vscode/correct-thread/main.c |
 | lldb/tools/lldb-vscode/lldb-vscode.cpp (diff) |
|
 | compiler-rt/lib/memprof/memprof_allocator.cpp (diff) |
Commit
94a2f9cdb6f9ef9843057030159ee69f76722121
by Ahmed Bougacha[GlobalISel] Fix CombinerHelper::isPredecessor for same def/use MI.
The doc comment for isPredecessor says: Returns true if \p DefMI precedes \p UseMI or they are the same instruction. And dominates relies on that behavior for its own: Returns true if \p DefMI dominates \p UseMI. By definition an instruction dominates itself.
Make both statements correct by fixing isPredecessor. Found by inspection.
|
 | llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp (diff) |
Commit
e159d3cbfc250115d1244f3a6219436a52f90f86
by Ahmed Bougacha[AArch64][GlobalISel] Use MI::getIntrinsicID in more spots. NFC.
There's technically a difference in the logic used by these findIntrinsicID and MachineInstr::getIntrinsicID, but it shouldn't be a meaningful difference here, with G_INTRINSIC instructions. getIntrinsicID's "first non-def" logic should be correct for those.
|
 | llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp (diff) |
 | llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp (diff) |
Commit
c8b3d7d6d6de37af68b2f379d0e37304f78e115f
by Jessica Paquette[AArch64][GlobalISel] Ensure atomic loads always get assigned GPR destinations
The default register bank selection code for G_LOAD assumes that we ought to use a FPR when the load is casted to a float/double.
For atomics, this isn't true; we should always use GPRs.
Without this patch, we crash in the following example:
https://godbolt.org/z/MThjas441
Also make the code a little more stylistically consistent while we're here.
Also test some other weird cast combinations as well.
Differential Revision: https://reviews.llvm.org/D109771
|
 | llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp (diff) |
 | llvm/test/CodeGen/AArch64/GlobalISel/arm64-atomic.ll (diff) |
|
 | llvm/lib/Transforms/Vectorize/LoopVectorize.cpp (diff) |
 | llvm/lib/Transforms/ObjCARC/ObjCARCAPElim.cpp (diff) |
 | llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp (diff) |
 | llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp (diff) |
 | llvm/lib/Transforms/Coroutines/CoroEarly.cpp (diff) |
 | llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp (diff) |
 | llvm/lib/Transforms/Utils/SimplifyCFG.cpp (diff) |
 | llvm/lib/Transforms/Coroutines/CoroCleanup.cpp (diff) |
 | llvm/lib/Transforms/InstCombine/InstructionCombining.cpp (diff) |
 | llvm/lib/Transforms/Utils/LowerSwitch.cpp (diff) |
 | llvm/lib/Transforms/Coroutines/CoroSplit.cpp (diff) |
 | llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp (diff) |
Commit
b1d44e59020a2a7adfc81bffb07577fd091d0778
by ajcbik[mlir][sparse] add affine subscripts to sparse compilation pass
This enables the sparsification of more kernels, such as convolutions where there is a x(i+j) subscript. It also enables more tensor invariants such as x(1) or other affine subscripts such as x(i+1). Currently, we reject sparsity altogether for such tensors. Despite this restriction, however, we can already handle a lot more kernels with compound subscripts for dense access (viz. convolution with dense input and sparse filter). Some unit tests and an integration test demonstrate new capability.
Reviewed By: bixia
Differential Revision: https://reviews.llvm.org/D109783
|
 | mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_filter_conv2d.mlir |
 | mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp (diff) |
 | mlir/test/Dialect/SparseTensor/sparse_affine.mlir |
|
 | llvm/include/llvm/IR/GlobalIndirectSymbol.h (diff) |