Commit
ed7b37155b48715dc5b2ec8c52571ce754cf7a80
by llvm-projectRevert "[llvm-reduce] Introduce operands-skip pass."
This reverts commit fa4210a9a0729eba04593b7df7b701e2b243de39.
It causes compile failures, presumably because conflicting with another patch landed after I checked locally.
|
 | llvm/tools/llvm-reduce/CMakeLists.txt |
 | llvm/tools/llvm-reduce/deltas/ReduceOperandsSkip.h |
 | llvm/tools/llvm-reduce/DeltaManager.cpp |
 | llvm/test/tools/llvm-reduce/operands-skip.ll |
 | llvm/tools/llvm-reduce/deltas/ReduceOperandsSkip.cpp |
Commit
74b979abcd0fd711cb1038b666eabf17f2274fe3
by pengfei.wang[X86][FP16] Avoid to generate VZEXT_MOVL with i16
This fixes the crash due to lacking VZEXT_MOVL support with i16.
Reviewed By: LuoYuanke, RKSimon
Differential Revision: https://reviews.llvm.org/D113661
|
 | llvm/test/CodeGen/X86/avx512fp16-mov.ll |
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
Commit
e1d6f29a1e640e267e1d2b94d0d761e1d15e99bd
by jeffniu22[mlir][ods] Escape attribute summaries
|
 | mlir/tools/mlir-tblgen/CodeGenHelpers.cpp |
Commit
c7be8b75399c727ec9e1ddc3f81510f284c65155
by stellaraccident[mlir] Allow out-of-tree python building from installed MLIR.
* Depends on D111504, which provides the boilerplate for building aggregate shared libraries from installed MLIR. * Adds a full-fledged Python example dialect and tests to the Standalone example (need to do a bit of tweaking in the top level CMake and lit tests to adapt better to if not building with Python enabled). * Rips out remnants of custom extension building in favor of `pybind11_add_module` which does the right thing. * Makes python and extension sources installable (outputs to src/python/${name} in the install tree): Both Python and C++ extension sources get installed as downstreams need all of this in order to build a derived version of the API. * Exports sources targets (with our properties that make everything work) by converting them to INTERFACE libraries (which have export support), as recommended for the forseeable future by CMake devs. Renames custom properties to start with lower-case letter, as also recommended/required (groan). * Adds a ROOT_DIR argument to `declare_mlir_python_extension` since now all C++ sources for an extension must be under the same directory (to line up at install time). * Need to validate against a downstream or two and adjust, prior to submitting.
Downstreams will need to adapt by:
* Remove absolute paths from any SOURCES for `declare_mlir_python_extension` (I believe all downstreams are just using `${CMAKE_CURRENT_SOURCE_DIR}` here, which can just be ommitted). May need to set `ROOT_DIR` if not relative to the current source directory. * To allow further downstreams to install/build, will need to make sure that all C++ extension headers are also listed under SOURCES for `declare_mlir_python_extension`.
Reviewed By: stephenneuendorffer, mikeurbach
Differential Revision: https://reviews.llvm.org/D111513
|
 | mlir/examples/standalone/test/python/lit.local.cfg |
 | mlir/examples/standalone/test/CMakeLists.txt |
 | mlir/examples/standalone/test/lit.site.cfg.py.in |
 | mlir/examples/standalone/CMakeLists.txt |
 | mlir/examples/standalone/python/mlir_standalone/dialects/standalone.py |
 | mlir/examples/standalone/include/Standalone/StandaloneOps.td |
 | mlir/examples/standalone/python/CMakeLists.txt |
 | mlir/python/CMakeLists.txt |
 | mlir/test/Examples/standalone/test.toy |
 | mlir/examples/standalone/test/lit.cfg.py |
 | mlir/examples/standalone/python/StandaloneExtension.cpp |
 | mlir/examples/standalone/test/python/smoketest.py |
 | mlir/cmake/modules/AddMLIRPython.cmake |
 | mlir/examples/standalone/python/mlir_standalone/dialects/StandaloneOps.td |
 | mlir/cmake/modules/MLIRConfig.cmake.in |
Commit
c15f930e9656dbcbd6384b403ec0fd5e28d350ed
by llvm-project[llvm-reduce] Introduce operands-skip pass.
Add a new "operands-skip" pass whose goal is to remove instructions in the middle of dependency chains. For instance: ``` %baseptr = alloca i32 %arrayidx = getelementptr i32, i32* %baseptr, i32 %idxprom store i32 42, i32* %arrayidx ``` might be reducible to ``` %baseptr = alloca i32 %arrayidx = getelementptr ... ; now dead, together with the computation of %idxprom store i32 42, i32* %baseptr ``` Other passes would either replace `%baseptr` with undef (operands, instructions) or move it to become a function argument (operands-to-args), both of which might fail the interestingness check.
In principle the implementation allows operand replacement with any value or instruction in the function that passes the filter constraints (same type, dominance, "more reduced"), but is limited in this patch to values that are directly or indirectly used to compute the current operand value, motivated by the example above. Additionally, function arguments are added to the candidate set which helps reducing the number of relevant arguments mitigating a concern of too many arguments mentioned in https://reviews.llvm.org/D110274#3025013.
Possible future extensions: * Instead of requiring the same type, bitcast/trunc/zext could be automatically inserted for some more flexibility. * If undef is added to the candidate set, "operands-skip"is able to produce any reduction that "operands" can do. Additional candidates might be zero and one, where the "reductive power" classification can prefer one over the other. If undefined behaviour should not be introduced, undef can be removed from the candidate set.
Recommit after resolving conflict with D112651 and reusing shouldReduceOperand from D113532.
Reviewed By: aeubanks
Differential Revision: https://reviews.llvm.org/D111818
|
 | llvm/tools/llvm-reduce/deltas/ReduceOperandsSkip.h |
 | llvm/test/tools/llvm-reduce/operands-skip.ll |
 | llvm/tools/llvm-reduce/CMakeLists.txt |
 | llvm/tools/llvm-reduce/DeltaManager.cpp |
 | llvm/tools/llvm-reduce/deltas/ReduceOperandsSkip.cpp |
Commit
72e947765a8f99cb415e366f0df3a6c8a4969732
by llvmgnsyncbot[gn build] Port c15f930e9656
|
 | llvm/utils/gn/secondary/llvm/tools/llvm-reduce/BUILD.gn |
Commit
1a6c26d1f52999edbfbf6a978ae3f0e6759ea755
by joker.ephRevert "[mlir] Allow out-of-tree python building from installed MLIR."
This reverts commit c7be8b75399c727ec9e1ddc3f81510f284c65155.
Build is broken (multiple buildbots)
|
 | mlir/python/CMakeLists.txt |
 | mlir/examples/standalone/python/mlir_standalone/dialects/StandaloneOps.td |
 | mlir/examples/standalone/CMakeLists.txt |
 | mlir/examples/standalone/test/python/lit.local.cfg |
 | mlir/examples/standalone/python/StandaloneExtension.cpp |
 | mlir/examples/standalone/include/Standalone/StandaloneOps.td |
 | mlir/examples/standalone/test/python/smoketest.py |
 | mlir/examples/standalone/python/mlir_standalone/dialects/standalone.py |
 | mlir/examples/standalone/test/lit.site.cfg.py.in |
 | mlir/cmake/modules/MLIRConfig.cmake.in |
 | mlir/examples/standalone/python/CMakeLists.txt |
 | mlir/examples/standalone/test/lit.cfg.py |
 | mlir/examples/standalone/test/CMakeLists.txt |
 | mlir/cmake/modules/AddMLIRPython.cmake |
 | mlir/test/Examples/standalone/test.toy |
Commit
463ee15e33c0a71c7ab13eef2eb235bcdcd792a5
by aeubanks[gn build] Fix Android compiler-rt targets
If a sysroot was specified, it would take precedence over the Android NDK sysroot since it would appear after in the command line.
Also only build runtimes for enabled target arches. Many places have copied this around so create and use supported_android_toolchains.
Reviewed By: pcc
Differential Revision: https://reviews.llvm.org/D113606
|
 | llvm/utils/gn/secondary/compiler-rt/test/hwasan/BUILD.gn |
 | llvm/utils/gn/secondary/llvm/lib/Target/targets.gni |
 | llvm/utils/gn/build/BUILD.gn |
 | llvm/utils/gn/secondary/compiler-rt/lib/scudo/BUILD.gn |
 | llvm/utils/gn/secondary/libunwind/BUILD.gn |
 | llvm/utils/gn/secondary/compiler-rt/BUILD.gn |
 | llvm/utils/gn/secondary/lldb/tools/driver/BUILD.gn |
Commit
be0b47d5304ea4190770a4504b329df7fac2ba92
by aeubanks[llvm-reduce] Skip replacing metadata and callee operands
Metadata operands tend to require special conditions, especially on dbg intrinsics. We also don't have a zero value for metadata.
Replacing callee operands is a little weird, since calling undef/null doesn't make sense. It also causes tons of invalid reductions when reducing calls to intrinsics since only arguments to intrinsics can be of the metadata type.
Reviewed By: Meinersbur
Differential Revision: https://reviews.llvm.org/D113532
|
 | llvm/tools/llvm-reduce/deltas/ReduceOperands.cpp |
 | llvm/test/tools/llvm-reduce/remove-operands.ll |
 | llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp |
 | llvm/test/tools/llvm-reduce/operands-to-args-metadata.ll |
Commit
6f288bd7727e6906f6e85208d710b70acf598514
by aeubanks[llvm-reduce] Count chunks by running a preliminary reduction
Having a separate counting method runs the risk of a mismatch between the actual reduction method and the counting method.
Instead, create an Oracle that always returns true for shouldKeep(), run the reduction, and count how many times shouldKeep() was called. The module should not be modified if shouldKeep() always returns true.
Reviewed By: Meinersbur
Differential Revision: https://reviews.llvm.org/D113537
|
 | llvm/tools/llvm-reduce/deltas/ReduceOperands.cpp |
 | llvm/tools/llvm-reduce/deltas/ReduceAttributes.cpp |
 | llvm/tools/llvm-reduce/deltas/Delta.cpp |
 | llvm/tools/llvm-reduce/deltas/ReduceFunctionBodies.cpp |
 | llvm/tools/llvm-reduce/deltas/ReduceGlobalValues.cpp |
 | llvm/tools/llvm-reduce/deltas/ReduceSpecialGlobals.cpp |
 | llvm/tools/llvm-reduce/deltas/Delta.h |
 | llvm/tools/llvm-reduce/deltas/ReduceInstructionsMIR.cpp |
 | llvm/tools/llvm-reduce/deltas/ReduceAliases.cpp |
 | llvm/tools/llvm-reduce/deltas/ReduceGlobalObjects.cpp |
 | llvm/tools/llvm-reduce/deltas/ReduceBasicBlocks.cpp |
 | llvm/tools/llvm-reduce/deltas/ReduceInstructions.cpp |
 | llvm/tools/llvm-reduce/deltas/ReduceGlobalVarInitializers.cpp |
 | llvm/tools/llvm-reduce/deltas/ReduceArguments.cpp |
 | llvm/tools/llvm-reduce/deltas/ReduceModuleData.cpp |
 | llvm/tools/llvm-reduce/deltas/ReduceFunctions.cpp |
 | llvm/tools/llvm-reduce/deltas/ReduceOperandBundles.cpp |
 | llvm/tools/llvm-reduce/deltas/ReduceMetadata.cpp |
 | llvm/tools/llvm-reduce/deltas/ReduceGlobalVars.cpp |
 | llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp |
Commit
87687b4ff70fa889bb0e930cd98befb8b869bc9e
by aeubanks[llvm-reduce] Fix build after D113537
Forgot to amend D113537 with these changes before committing.
|
 | llvm/tools/llvm-reduce/deltas/ReduceOperandsSkip.cpp |
Commit
665b4138d9eca2a783693c34f991a7329907d374
by paul.robinson[DebugInfo] run clang-format on some unformatted files
This trivial patch runs clang-format on some unformatted files before doing logic changes and prevent hard to review diffs.
Differential Revision: https://reviews.llvm.org/D113572
|
 | llvm/include/llvm/IR/DebugInfoMetadata.h |
 | llvm/lib/IR/DIBuilder.cpp |
 | llvm/lib/Bitcode/Reader/MetadataLoader.cpp |
 | llvm/lib/IR/DebugInfoMetadata.cpp |
 | llvm/lib/IR/LLVMContextImpl.h |
Commit
0ecd72ea0046dd56574cedba390fcc7f67243d6a
by jeffniu22[mlir][ods] Fix DenseSet ambiguous reference
|
 | mlir/tools/mlir-tblgen/CodeGenHelpers.cpp |
Commit
8df26e7b4aeaad0b1777c6909db7b14fec347880
by phosek[Fuchsia][CMake] Don't set libcxxabi and libunwind variables on Windows
We don't build libcxxabi and libunwind for Windows so don't set the corresponding variables to avoid configuration errors.
Differential Revision: https://reviews.llvm.org/D113729
|
 | clang/cmake/caches/Fuchsia.cmake |
Commit
e941fe506114569410ec8c77e600cddd5a77559d
by jezng[lld-macho] Fix symbol relocs handling for compact unwind's functionAddress
Clang seems to emit all functionAddress relocs as section relocs, but `ld -r` can turn those relocs into symbol ones. It turns out that we weren't handling that case correctly when the symbol was a weak def whose definition did not prevail.
Reviewed By: #lld-macho, oontvoo
Differential Revision: https://reviews.llvm.org/D113702
|
 | lld/test/MachO/weak-definition-gc.s |
 | lld/MachO/InputFiles.cpp |
Commit
835135a8aee5557001ce8316629ebd4166ce8648
by kazuRevert "[lld-macho] Fix symbol relocs handling for compact unwind's functionAddress"
This reverts commit e941fe506114569410ec8c77e600cddd5a77559d.
The commit in question causes:
lld/MachO/InputFiles.cpp:916:13: error: use of undeclared identifier 'it'
|
 | lld/test/MachO/weak-definition-gc.s |
 | lld/MachO/InputFiles.cpp |
Commit
3057e850b88e8faf754db02293066e1182da2954
by sepavloff[X86] Preserve FPSW when popping x87 stack
When compiler converts x87 operations to stack model, it may insert instructions that pop top stack element. To do it the compiler inserts instruction FSTP right after the instruction that calculates value on the stack. It can break the code that uses FPSW set by the last instruction. For example, an instruction FXAM is usually followed by FNSTSW, but FSTP is inserted after FXAM. As FSTP leaves condition code in FPSW undefined, the compiler produces incorrect code.
With this change FSTP in inserted after the FPSW consumer if the last instruction sets FPSW.
Differential Revision: https://reviews.llvm.org/D113335
|
 | llvm/test/CodeGen/X86/x87-stack-pop.mir |
 | llvm/lib/Target/X86/X86InstrInfo.cpp |
 | llvm/lib/Target/X86/X86InsertWait.cpp |
 | llvm/lib/Target/X86/X86InstrFPStack.td |
 | llvm/lib/Target/X86/X86FloatingPoint.cpp |
 | llvm/lib/Target/X86/X86InstrInfo.h |
Commit
6512098877c3a230bbd38bc81b14a4e5844739ff
by dblaikieDebugInfo/Printing: Improve name of policy for including types for template arguments
Feedback from Richard Smith that the policy should be named closer to the context its used in.
|
 | clang/lib/AST/DeclTemplate.cpp |
 | clang/include/clang/AST/PrettyPrinter.h |
 | clang/lib/CodeGen/CGDebugInfo.cpp |
Commit
2ca45adf24d8ede45b9f600d13a4b4f7005e13af
by kazu[CodeGen, Target] Use MachineRegisterInfo::use_operands (NFC)
|
 | llvm/lib/Target/AMDGPU/AMDGPUMachineCFGStructurizer.cpp |
 | llvm/lib/CodeGen/ModuloSchedule.cpp |
 | llvm/lib/Target/Hexagon/HexagonEarlyIfConv.cpp |
 | llvm/lib/CodeGen/MIRCanonicalizerPass.cpp |
 | llvm/lib/Target/ARM/A15SDOptimizer.cpp |
 | llvm/lib/Target/Hexagon/HexagonBitSimplify.cpp |
Commit
c265170110b2e3b82ab8fca6658bfbbce79381c5
by stellaraccident[mlir] Add MLIR-C dylib.
Per discussion on discord and various feature requests across bindings (Haskell and Rust bindings authors have asked me directly), we should be building a link-ready MLIR-C dylib which exports the C API and can be used without linking to anything else.
This patch:
* Adds a new MLIR-C aggregate shared library (libMLIR-C.so), which is similar in name and function to libLLVM-C.so. * It is guarded by the new CMake option MLIR_BUILD_MLIR_C_DYLIB, which has a similar purpose/name to the LLVM_BUILD_LLVM_C_DYLIB option. * On all platforms, this will work with both static, BUILD_SHARED_LIBS, and libMLIR builds, if supported: * In static builds: libMLIR-C.so will export the CAPI symbols and statically link all dependencies into itself. * In BUILD_SHARED_LIBS: libMLIR-C.so will export the CAPI symbols and have dynamic dependencies on implementation shared libraries. * In libMLIR.so mode: same as static. libMLIR.so was not finished for actual linking use within the project. An eventual relayering so that libMLIR-C.so depends on libMLIR.so is possible but requires first re-engineering the latter to use the aggregate facility. * On Linux, exported symbols are filtered to only the CAPI. On others (MacOS, Windows), all symbols are exported. A CMake status is printed unless if global visibility is hidden indicating that this has not yet been implemented. The library should still work, but it will be larger and more likely to conflict until fixed. Someone should look at lifting the corresponding support from libLLVM-C.so and adapting. Or, for special uses, just build with `-DCMAKE_CXX_VISIBILITY_PRESET=hidden -DCMAKE_C_VISIBILITY_PRESET=hidden`. * Includes fixes to execution engine symbol export macros to enable default visibility. Without this, the advice to use hidden visibility would have resulted in test failures and unusable execution engine support libraries.
Differential Revision: https://reviews.llvm.org/D113731
|
 | mlir/lib/CAPI/Dialect/CMakeLists.txt |
 | mlir/lib/CAPI/IR/CMakeLists.txt |
 | mlir/lib/CAPI/Debug/CMakeLists.txt |
 | mlir/include/mlir/ExecutionEngine/CRunnerUtils.h |
 | mlir/lib/CAPI/CMakeLists.txt |
 | mlir/lib/CAPI/Interfaces/CMakeLists.txt |
 | mlir/include/mlir/ExecutionEngine/RunnerUtils.h |
 | mlir/lib/CAPI/Registration/CMakeLists.txt |
 | mlir/test/CAPI/CMakeLists.txt |
 | mlir/lib/CAPI/ExecutionEngine/CMakeLists.txt |
 | mlir/lib/CAPI/Conversion/CMakeLists.txt |
 | mlir/CMakeLists.txt |
 | mlir/lib/CAPI/Transforms/CMakeLists.txt |
Commit
4e94e25c9024d01451e318fe48aee79b615e9c2b
by markus.lavinFix minor deficiency in machine-sink.
Register uses that are MRI->isConstantPhysReg() should not inhibit sinking transformation.
Reviewed By: StephenTozer
Differential Revision: https://reviews.llvm.org/D111531
|
 | llvm/test/CodeGen/RISCV/MachineSink-implicit-x0.mir |
 | llvm/lib/CodeGen/MachineSink.cpp |
Commit
751aa6c2807f164935603e8ceaff1bd4b4d8ca2d
by simon.moll[VE][NFCi] Remove unused tablegen parameters
TableGen has started warning about unused template parameters in the isel patterns. Remove those.
Reviewed By: kaz7
Differential Revision: https://reviews.llvm.org/D113675
|
 | llvm/lib/Target/VE/VEInstrInfo.td |
 | llvm/lib/Target/VE/VVPInstrPatternsVec.td |
Commit
f5f11e6b168fd00a62c7d881703281ff11f1a6d8
by joker.ephAdd a cppType string in AttrDef to make it possible to use them as parameters in other attributes
Differential Revision: https://reviews.llvm.org/D113737
|
 | mlir/test/lib/Dialect/Test/TestOps.td |
 | mlir/test/lib/Dialect/Test/TestAttrDefs.td |
 | mlir/include/mlir/IR/OpBase.td |
 | mlir/test/mlir-tblgen/op-format.mlir |
Commit
496e7f330c43094ab508e07cf75237e52394fa66
by simon.moll[VE] Disable incompatible compiler-rt tests
Some compiler-rt tests are inherently incompatible with VE because..
* No consistent denormal support on VE. We skip denormal fp inputs in builtin tests. * `madvise` unsupported on VE. * Instruction alignment requirements.
Reviewed By: phosek
Differential Revision: https://reviews.llvm.org/D113093
|
 | compiler-rt/test/builtins/Unit/compiler_rt_logb_test.c |
 | compiler-rt/test/builtins/Unit/compiler_rt_logbf_test.c |
 | compiler-rt/lib/profile/InstrProfilingUtil.c |
 | compiler-rt/test/builtins/Unit/compiler_rt_scalbnl_test.c |
 | compiler-rt/test/builtins/Unit/compiler_rt_scalbn_test.c |
 | compiler-rt/test/builtins/Unit/compiler_rt_scalbnf_test.c |
 | compiler-rt/test/builtins/Unit/compiler_rt_logbl_test.c |
 | compiler-rt/test/builtins/Unit/enable_execute_stack_test.c |
Commit
64d44208246b76772b2b04980234bd75d546a4b4
by Vitaly Buka[NFC][lsan] Simplify root_regions initialization
|
 | compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp |
 | compiler-rt/lib/lsan/lsan_common.h |
 | compiler-rt/lib/lsan/lsan_common.cpp |
 | compiler-rt/lib/lsan/lsan_common_mac.cpp |
Commit
6544d9a4a098c24ebafe2856259f927af8f211ec
by jperier[flang] Fix vector cshift runtime with non zero lower bounds
The source index should not be compared to zero after applying the shift with the modulo, it must be compared to the lower bound. Otherwise, the extent is not added in case it should and the computed source index may be less than the lower bound, causing invalid results.
Differential Revision: https://reviews.llvm.org/D113659
|
 | flang/runtime/transformational.cpp |
 | flang/unittests/Runtime/Transformational.cpp |
Commit
1fda7baf8a0bcc1819b5471ad0590f5bd05a5b3f
by jperier[flang] fix unused variable warning from D113659
|
 | flang/unittests/Runtime/Transformational.cpp |
Commit
735e4332e2a63e5f0a04f91472fa2403c7d37fe3
by mailMake minor fixes to docs based on post-commit review of commit 5de69e1
- Jaro–Winkler and Sørensen–Dice should use en-dashes not regular dashes. In reStructuredText this is typed as `--`. - Letters at the beginning of a sentence should be capitalized.
|
 | clang-tools-extra/docs/clang-tidy/checks/google-build-namespaces.rst |
 | clang-tools-extra/docs/clang-tidy/checks/readability-suspicious-call-argument.rst |
 | clang-tools-extra/docs/clang-tidy/checks/llvm-header-guard.rst |
 | clang-tools-extra/docs/clang-tidy/checks/concurrency-mt-unsafe.rst |
 | clang-tools-extra/docs/clang-tidy/checks/google-global-names-in-headers.rst |
 | clang-tools-extra/docs/clang-tidy/checks/misc-definitions-in-headers.rst |
 | clang-tools-extra/docs/clang-tidy/checks/bugprone-easily-swappable-parameters.rst |
Commit
9c00afe926e9f22f4e0cd92d88068c8a6ed769d0
by flo[DSE] Add test case with multiple inbounds stores, followed by OOB.
This patch extends the existing out-of-bounds store tests with a case with a bigger object and multiple inbounds stores, followed by an OOB store. The OOB store is not used to remove the inbounds stores in this case at the moment.
|
 | llvm/test/Transforms/DeadStoreElimination/out-of-bounds-stores.ll |
Commit
d73e27d91f6ab66aebf7c5381439b727ab256082
by mailRevert "Make minor fixes to docs based on post-commit review of commit 5de69e1"
Sphinx buildbot failing. This reverts commit 735e4332e2a63e5f0a04f91472fa2403c7d37fe3.
|
 | clang-tools-extra/docs/clang-tidy/checks/concurrency-mt-unsafe.rst |
 | clang-tools-extra/docs/clang-tidy/checks/llvm-header-guard.rst |
 | clang-tools-extra/docs/clang-tidy/checks/google-global-names-in-headers.rst |
 | clang-tools-extra/docs/clang-tidy/checks/bugprone-easily-swappable-parameters.rst |
 | clang-tools-extra/docs/clang-tidy/checks/readability-suspicious-call-argument.rst |
 | clang-tools-extra/docs/clang-tidy/checks/misc-definitions-in-headers.rst |
 | clang-tools-extra/docs/clang-tidy/checks/google-build-namespaces.rst |
Commit
2b247941cac6c278595b1c86ca3b895bd2b3f056
by kiran.chandramohan[Flang] Add type conversion for FIR heap type
Convert fir.heap type to its llvm equivalent type (llvm.ptr)
This patch is part of the upstreaming effort from fir-dev branch.
Reviewed By: clementval
Differential Revision: https://reviews.llvm.org/D113670
Co-authored-by: Eric Schweitz <eschweitz@nvidia.com> Co-authored-by: Jean Perier <jperier@nvidia.com>
|
 | flang/test/Fir/types-to-llvm.fir |
 | flang/lib/Optimizer/CodeGen/TypeConverter.h |
Commit
379935e5a460d98cf8fe4585bf6abca3e494f7b3
by mailRe-land commit 735e433 after fixing buildbot issue
This reverts commit d73e27d.
|
 | clang-tools-extra/docs/clang-tidy/checks/google-global-names-in-headers.rst |
 | clang-tools-extra/docs/clang-tidy/checks/llvm-header-guard.rst |
 | clang-tools-extra/docs/clang-tidy/checks/bugprone-easily-swappable-parameters.rst |
 | clang-tools-extra/docs/clang-tidy/checks/google-build-namespaces.rst |
 | clang-tools-extra/docs/clang-tidy/checks/concurrency-mt-unsafe.rst |
 | clang-tools-extra/docs/clang-tidy/checks/misc-definitions-in-headers.rst |
 | clang-tools-extra/docs/clang-tidy/checks/readability-suspicious-call-argument.rst |
Commit
bb4934601d731465e01e2e22c80ce2dbe687d73f
by akuegelRevert "Implement target_clones multiversioning"
This reverts commit 9deab60ae710f8c4cc810cd680edfb64c803f42d. There is a possibly unintended semantic change.
|
 | clang/include/clang/Sema/Sema.h |
 | clang/test/CodeGenCXX/attr-target-clones.cpp |
 | clang/test/Misc/pragma-attribute-supported-attributes-list.test |
 | clang/include/clang/Basic/DiagnosticGroups.td |
 | clang/include/clang/AST/Decl.h |
 | clang/lib/CodeGen/CodeGenModule.h |
 | clang/lib/AST/ASTContext.cpp |
 | clang/test/Sema/attr-cpuspecific.c |
 | clang/test/Sema/attr-target-clones.c |
 | clang/include/clang/Basic/AttrDocs.td |
 | clang/include/clang/Basic/DiagnosticSemaKinds.td |
 | clang/lib/CodeGen/CodeGenModule.cpp |
 | clang/lib/Sema/SemaDeclAttr.cpp |
 | clang/test/CodeGen/attr-target-clones.c |
 | clang/lib/Sema/SemaDecl.cpp |
 | clang/include/clang/Basic/Attr.td |
 | clang/lib/AST/Decl.cpp |
 | clang/test/SemaCXX/attr-target-clones.cpp |
Commit
aa26119b82cdabcba7c215bdd3a224a6ec3eedc0
by kiran.chandramohan[Flang] Add type conversion for FIR integer kind
Convert fir.int<kind> to their llvm equivalent type
This patch is part of the upstreaming effort from fir-dev branch.
Reviewed By: clementval, awarzynski
Differential Revision: https://reviews.llvm.org/D113660
Co-authored-by: Eric Schweitz <eschweitz@nvidia.com>
|
 | flang/lib/Optimizer/CodeGen/TypeConverter.h |
 | flang/test/Fir/types-to-llvm.fir |
Commit
5dfe60d171d7f7ebb33c53170cc4182dba22a7b4
by flo[SCEV] Add tests where guards limit both %n and (zext %n).
Suggested in D113577.
|
 | llvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info-rewrite-expressions.ll |
Commit
d1f45ed58f3a7bdca69b93f548682754dd67d80f
by sebastian.neubauer[AMDGPU][NFC] Fix typos
Differential Revision: https://reviews.llvm.org/D113672
|
 | llvm/lib/Target/AMDGPU/SILowerSGPRSpills.cpp |
 | llvm/lib/Target/AMDGPU/R600MachineScheduler.h |
 | llvm/lib/Target/AMDGPU/SIFoldOperands.cpp |
 | llvm/lib/Target/AMDGPU/R600ISelLowering.cpp |
 | llvm/lib/Target/AMDGPU/AMDGPULibFunc.cpp |
 | llvm/lib/Target/AMDGPU/SIMachineScheduler.h |
 | llvm/lib/Target/AMDGPU/AMDGPUOpenCLEnqueuedBlockLowering.cpp |
 | llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp |
 | llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h |
 | llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp |
 | llvm/lib/Target/AMDGPU/MCA/AMDGPUCustomBehaviour.h |
 | llvm/lib/Target/AMDGPU/SIPeepholeSDWA.cpp |
 | llvm/lib/Target/AMDGPU/AMDGPU.td |
 | llvm/lib/Target/AMDGPU/R600Instructions.td |
 | llvm/lib/Target/AMDGPU/SIPostRABundler.cpp |
 | llvm/lib/Target/AMDGPU/GCNPreRAOptimizations.cpp |
 | llvm/lib/Target/AMDGPU/GCNIterativeScheduler.cpp |
 | llvm/lib/Target/AMDGPU/R600MachineScheduler.cpp |
 | llvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp |
 | llvm/lib/Target/AMDGPU/SIPreEmitPeephole.cpp |
 | llvm/lib/Target/AMDGPU/GCNMinRegStrategy.cpp |
 | llvm/lib/Target/AMDGPU/MIMGInstructions.td |
 | llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp |
 | llvm/lib/Target/AMDGPU/SIMachineScheduler.cpp |
 | llvm/lib/Target/AMDGPU/AMDGPUInstrInfo.h |
 | llvm/lib/Target/AMDGPU/SILowerControlFlow.cpp |
 | llvm/lib/Target/AMDGPU/R600InstrInfo.h |
 | llvm/lib/Target/AMDGPU/SIRegisterInfo.td |
 | llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h |
 | llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp |
 | llvm/lib/Target/AMDGPU/Utils/AMDGPULDSUtils.h |
 | llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp |
 | llvm/lib/Target/AMDGPU/SIModeRegister.cpp |
 | llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h |
 | llvm/lib/Target/AMDGPU/SIOptimizeVGPRLiveRange.cpp |
 | llvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp |
 | llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp |
Commit
806329da07006b3b95b5164a2a7c8b3be0aac8de
by gabor.marton[analyzer][solver] Iterate to a fixpoint during symbol simplification with constants
D103314 introduced symbol simplification when a new constant constraint is added. Currently, we simplify existing equivalence classes by iterating over all existing members of them and trying to simplify each member symbol with simplifySVal.
At the end of such a simplification round we may end up introducing a new constant constraint. Example: ``` if (a + b + c != d) return; if (c + b != 0) return; // Simplification starts here. if (b != 0) return; ``` The `c == 0` constraint is the result of the first simplification iteration. However, we could do another round of simplification to reach the conclusion that `a == d`. Generally, we could do as many new iterations until we reach a fixpoint.
We can reach to a fixpoint by recursively calling `State->assume` on the newly simplified symbol. By calling `State->assume` we re-ignite the whole assume machinery (along e.g with adjustment handling).
Why should we do this? By reaching a fixpoint in simplification we are capable of discovering infeasible states at the moment of the introduction of the **first** constant constraint. Let's modify the previous example just a bit, and consider what happens without the fixpoint iteration. ``` if (a + b + c != d) return; if (c + b != 0) return; // Adding a new constraint. if (a == d) return; // This brings in a contradiction. if (b != 0) return; clang_analyzer_warnIfReached(); // This produces a warning. // The path is already infeasible... if (c == 0) // ...but we realize that only when we evaluate `c == 0`. return; ``` What happens currently, without the fixpoint iteration? As the inline comments suggest, without the fixpoint iteration we are doomed to realize that we are on an infeasible path only after we are already walking on that. With fixpoint iteration we can detect that before stepping on that. With fixpoint iteration, the `clang_analyzer_warnIfReached` does not warn in the above example b/c during the evaluation of `b == 0` we realize the contradiction. The engine and the checkers do rely on that either `assume(Cond)` or `assume(!Cond)` should be feasible. This is in fact assured by the so called expensive checks (LLVM_ENABLE_EXPENSIVE_CHECKS). The StdLibraryFuncionsChecker is notably one of the checkers that has a very similar assertion.
Before this patch, we simply added the simplified symbol to the equivalence class. In this patch, after we have added the simplified symbol, we remove the old (more complex) symbol from the members of the equivalence class (`ClassMembers`). Removing the old symbol is beneficial because during the next iteration of the simplification we don't have to consider again the old symbol.
Contrary to how we handle `ClassMembers`, we don't remove the old Sym->Class relation from the `ClassMap`. This is important for two reasons: The constraints of the old symbol can still be found via it's equivalence class that it used to be the member of (1). We can spare one removal and thus one additional tree in the forest of `ClassMap` (2).
Performance and complexity: Let us assume that in a State we have N non-trivial equivalence classes and that all constraints and disequality info is related to non-trivial classes. In the worst case, we can simplify only one symbol of one class in each iteration. The number of symbols in one class cannot grow b/c we replace the old symbol with the simplified one. Also, the number of the equivalence classes can decrease only, b/c the algorithm does a merge operation optionally. We need N iterations in this case to reach the fixpoint. Thus, the steps needed to be done in the worst case is proportional to `N*N`. Empirical results (attached) show that there is some hardly noticeable run-time and peak memory discrepancy compared to the baseline. In my opinion, these differences could be the result of measurement error. This worst case scenario can be extended to that cases when we have trivial classes in the constraints and in the disequality map are transforming to such a State where there are only non-trivial classes, b/c the algorithm does merge operations. A merge operation on two trivial classes results in one non-trivial class.
Differential Revision: https://reviews.llvm.org/D106823
|
 | clang/test/Analysis/symbol-simplification-fixpoint-two-iterations.cpp |
 | clang/include/clang/StaticAnalyzer/Core/PathSensitive/RangedConstraintManager.h |
 | clang/test/Analysis/symbol-simplification-fixpoint-iteration-unreachable-code.cpp |
 | clang/test/Analysis/symbol-simplification-disequality-info.cpp |
 | clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp |
 | clang/test/Analysis/symbol-simplification-fixpoint-one-iteration.cpp |
 | clang/test/Analysis/symbol-simplification-reassume.cpp |
 | clang/test/Analysis/expr-inspection-printState-eq-classes.c |
Commit
01c9700aaad39339414d77da7fc910a435303016
by gabor.marton[analyzer][solver] Remove reference to RangedConstraintManager
We no longer need a reference to RangedConstraintManager, we call top level `State->assume` functions.
Differential Revision: https://reviews.llvm.org/D113261
|
 | clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp |
Commit
9089a1dff030dbcf48f2bdae6d2d80e7ddfca25a
by mail[clang-tidy] Re-apply 0076957 with fix for failing ASan tests
Re-apply "Fix lint warning in ClangTidyDiagnosticConsumer.cpp (NFC)" with fixes for the failing ASan tests.
This reverts commit 74add1b6d6d377ab2cdce26699cf798110817e42.
|
 | clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp |
Commit
269baa7bfcf8e42b576ff29a56b8d56c1e7d39eb
by Jan Svoboda[clang] NFC: Remove benign condition
|
 | clang/lib/Frontend/CompilerInstance.cpp |
Commit
c57ca335474704cabeafcd8421600c3c7ccc4484
by Jan Svoboda[clang] NFC: Use range-based for loop
|
 | clang/lib/Frontend/CompilerInstance.cpp |
Commit
c3e07df6076045540574ce4fa5362742b52d91db
by tomasz.miasko[llvm-nm] Demangle Rust symbols
Add support for demangling Rust v0 symbols to llvm-nm by reusing nonMicrosoftDemangle which supports both Itanium and Rust mangling.
Reviewed By: dblaikie, jhenderson
Differential Revision: https://reviews.llvm.org/D111937
|
 | llvm/tools/llvm-nm/llvm-nm.cpp |
 | llvm/test/tools/llvm-nm/X86/demangle.ll |
Commit
a6728382c6de6211499ab83d708655947c8ce052
by dvyukovtsan: fix XMM register corruption in hacky call
The compiler does not recognize HACKY_CALL as a call (we intentionally hide it from the compiler so that it can compile non-leaf functions as leaf functions). To compensate for that hacky call thunk saves and restores all caller-saved registers. However, it saves only general-purposes registers and does not save XMM registers. This is a latent bug that was masked up until a recent "NFC" commit d736002e90 ("tsan: move memory access functions to a separate file"), which allowed more inlining and exposed the 10-year bug. Save and restore caller-saved XMM registers (all) as well.
Currently the bug manifests as e.g. frexp interceptor messes the return value and the added test fails with: i=8177 y=0.000000 exp=4
Reviewed By: melver
Differential Revision: https://reviews.llvm.org/D113742
|
 | compiler-rt/lib/tsan/rtl/tsan_rtl_amd64.S |
 | compiler-rt/test/sanitizer_common/TestCases/frexp.cpp |
Commit
aa3731806723a2a12914aecda2af6e40e1903702
by nicolas.vasilache[mlir][Linalg] Rewrite DownscaleSizeOneWindowed2DConvolution to use rank-reducing insert/extract slices.
This rewriting enables better bufferization and canonicalizations.
Differential Revision: https://reviews.llvm.org/D113745
|
 | mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp |
 | mlir/lib/Dialect/Tensor/IR/TensorOps.cpp |
 | mlir/include/mlir/IR/BuiltinTypes.h |
 | mlir/test/Dialect/Linalg/decompose-convolution.mlir |
 | mlir/include/mlir/Dialect/Tensor/IR/Tensor.h |
 | mlir/include/mlir/IR/BuiltinTypes.td |
Commit
e91595bf948a23bb44a47854321aa80307a48fd1
by dvyukovtsan: don't start background thread after clone
Start the background thread only after fork, but not after clone. For fork we did this always and it's known to work (or user code has adopted). But if we do this for the new clone interceptor some code (sandbox2) fails. So model we used to do for years and don't start the background thread after clone.
Reviewed By: melver
Differential Revision: https://reviews.llvm.org/D113744
|
 | compiler-rt/test/tsan/Linux/clone_setns.cpp |
 | compiler-rt/lib/tsan/rtl/tsan_rtl.h |
 | compiler-rt/lib/tsan/rtl/tsan_rtl.cpp |
 | compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp |
Commit
69c1cbe20f5db9b7a3b7086acabd92db1cd59cad
by flo[SCEV] Add test case where applying zext info pessimizes BTC.
Add an additional test case for D113578.
|
 | llvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info-rewrite-expressions.ll |
Commit
819bca9b907242805f48355713549f58df51cc79
by flo[SCEV] Use APIntOps::umin to select best max BC count (NFC).
Suggested in D102267, but I missed this in the committed version.
|
 | llvm/lib/Analysis/ScalarEvolution.cpp |
Commit
c30c37c00a501e21f36f13109795dd5f95e1d937
by akuegelRevert "[lldb] fix test expectation broken by clang fix at D110216"
This reverts commit 55085952175ed3b029097a0594acc4e34a5df218. The patch it depends on is reverted.
|
 | lldb/test/Shell/SymbolFile/NativePDB/function-types-builtins.cpp |
Commit
1d7fdbbc183aee2f1168425ae21e961164495466
by akuegelRevert "[clang] retain type sugar in auto / template argument deduction"
This reverts commit 9b6036deedf28e10d797fc4ca734d57680d18053. Breaks two libc++ tests.
|
 | clang-tools-extra/clang-tidy/cppcoreguidelines/OwningMemoryCheck.cpp |
 | clang/test/SemaCXX/deduced-return-type-cxx14.cpp |
 | clang-tools-extra/clangd/unittests/HoverTests.cpp |
 | clang-tools-extra/clangd/unittests/InlayHintTests.cpp |
 | clang/lib/Sema/SemaCXXScopeSpec.cpp |
 | clang/include/clang/ASTMatchers/ASTMatchersInternal.h |
 | clang/test/CXX/over/over.match/over.match.funcs/over.match.class.deduct/p2.cpp |
 | clang/include/clang/Sema/Sema.h |
 | clang/lib/Sema/SemaStmt.cpp |
 | clang/test/SemaTemplate/friend.cpp |
 | clang-tools-extra/clang-tidy/cppcoreguidelines/ProBoundsPointerArithmeticCheck.cpp |
 | clang/lib/Sema/SemaExprCXX.cpp |
 | clang/lib/AST/Type.cpp |
 | clang/test/SemaCXX/cxx1z-decomposition.cpp |
 | clang/lib/Sema/SemaType.cpp |
 | clang/test/Index/print-type.cpp |
 | clang/test/SemaCXX/cxx1z-class-template-argument-deduction.cpp |
 | clang/lib/AST/ASTImporter.cpp |
 | clang/lib/Sema/SemaTemplateDeduction.cpp |
 | clang/test/CXX/temp/temp.fct.spec/temp.deduct/temp.deduct.call/p1-0x.cpp |
 | clang/lib/AST/ASTContext.cpp |
 | clang/test/SemaCXX/friend.cpp |
 | clang/lib/Sema/SemaDecl.cpp |
 | clang/include/clang/AST/ASTContext.h |
 | clang-tools-extra/clangd/unittests/ASTTests.cpp |
 | clang-tools-extra/clang-tidy/readability/QualifiedAutoCheck.cpp |
 | clang/include/clang/AST/Type.h |
 | clang/lib/Sema/SemaDeclCXX.cpp |
 | clang-tools-extra/clangd/unittests/tweaks/ExpandAutoTypeTests.cpp |
 | clang/test/SemaCXX/sugared-auto.cpp |
 | clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines-owning-memory.cpp |
 | clang/test/CXX/temp/temp.fct.spec/temp.deduct/temp.deduct.call/p4.cpp |
 | clang/lib/Sema/SemaInit.cpp |
 | clang/test/SemaTemplate/attributes.cpp |
 | clang-tools-extra/clangd/InlayHints.cpp |
 | clang/test/SemaTemplate/operator-template.cpp |
 | clang/lib/Sema/SemaLambda.cpp |
 | clang/lib/Sema/TreeTransform.h |
 | clang/test/SemaCXX/recovery-expr-type.cpp |
 | clang/test/SemaCXX/sizeless-1.cpp |
 | clang/lib/Sema/SemaTemplate.cpp |
 | clang-tools-extra/clangd/FindTarget.cpp |
 | clang/test/CXX/stmt.stmt/stmt.iter/stmt.ranged/p1.cpp |
 | clang/test/CXX/temp/temp.decls/temp.variadic/multi-level-substitution.cpp |
Commit
7d668ae38d2d54ebd5eca5f66a8cf353c3526dc3
by kadircet[clangd] Mark macros from preamble for code completion
If the main file is a header, mark the marcos defined in its preamble section as code-completion ready.
Fixes https://github.com/clangd/clangd/issues/921.
Differential Revision: https://reviews.llvm.org/D113555
|
 | clang-tools-extra/clangd/index/SymbolCollector.cpp |
 | clang-tools-extra/clangd/unittests/FileIndexTests.cpp |
Commit
4721ee7029850456d5d86da9bdfaa11d8a049ef6
by pengfei.wangAdd nounwind for tests. NFC
|
 | llvm/test/CodeGen/X86/inline-asm-fpstack.ll |
Commit
19c1d03f97188206c96a5a54bbe4a8b5a9643d27
by dvyukovtsan: ignore some errors in the clone_setns test
Some bots failed with: unshare failed: 1 https://lab.llvm.org/buildbot/#/builders/70/builds/14101
Look only for the target EINVAL error.
Differential Revision: https://reviews.llvm.org/D113759
|
 | compiler-rt/test/tsan/Linux/clone_setns.cpp |
Commit
99ff697bf72af978515ecca833337965502d4e63
by nicolas.vasilache[mlir][Vector] Add support for 1D depthwise conv vectorization
At this time the 2 flavors of conv are a little too different to allow significant code sharing and other will likely come up. so we go the easy route first by duplicating and adapting.
Reviewed By: gysit
Differential Revision: https://reviews.llvm.org/D113758
|
 | mlir/test/Dialect/Linalg/vectorize-convolution.mlir |
 | mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp |
Commit
ab6ef5872763fd84e714c30467a49ad41d81bafc
by Jan Svoboda[clang] NFC: Format a loop in CompilerInstance
This code will be moved to a separate function in a future patch. Reformatting now to prevent a bunch of clang-format complains on Phabricator.
|
 | clang/lib/Frontend/CompilerInstance.cpp |
Commit
bf5748a1af0d2f6f9396d9dc6ac89d15de41eee7
by spatel[x86] fold vector (X > -1) & Y to shift+andn
and (pcmpgt X, -1), Y --> pandn (vsrai X, BitWidth-1), Y
This avoids the -1 constant vector in favor of an arithmetic shift instruction if it exists (the ISA is still not complete after all these years...).
We catch this pattern late in combining by matching PCMPGT, so it should not interfere with more general folds.
Differential Revision: https://reviews.llvm.org/D113603
|
 | llvm/test/CodeGen/X86/vselect-zero.ll |
 | llvm/test/CodeGen/X86/vector-pcmp.ll |
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
Commit
cef1e07cc6d00b5b429d77133201e1f404a8023c
by Raphael Isemann[lldb] Fix that the embedded Python REPL crashes if it receives SIGINT
When LLDB receives a SIGINT while running the embedded Python REPL it currently just crashes in `ScriptInterpreterPythonImpl::Interrupt` with an error such as the one below:
```
Fatal Python error: PyThreadState_Get: the function must be called with the GIL held, but the GIL is released (the current Python thread state is NULL)
```
The faulty code that causes this error is this part of `ScriptInterpreterPythonImpl::Interrupt`: ``` PyThreadState *state = PyThreadState_GET(); if (!state) state = GetThreadState(); if (state) { long tid = state->thread_id; PyThreadState_Swap(state); int num_threads = PyThreadState_SetAsyncExc(tid, PyExc_KeyboardInterrupt); ```
The obvious fix I tried is to just acquire the GIL before this code is running which fixes the crash but the `KeyboardInterrupt` we want to raise immediately is actually just queued and would only be raised once the next line of input has been parsed (which e.g. won't interrupt Python code that is currently waiting on a timer or IO from what I can see). Also none of the functions we call here is marked as safe to be called from a signal handler from what I can see, so we might still end up crashing here with some bad timing.
Python 3.2 introduced `PyErr_SetInterrupt` to solve this and the function takes care of all the details and avoids doing anything that isn't safe to do inside a signal handler. The only thing we need to do is to manually setup our own fake SIGINT handler that behaves the same way as the standalone Python REPL signal handler (which raises a KeyboardInterrupt).
From what I understand the old code used to work with Python 2 so I kept the old code around until we officially drop support for Python 2.
There is a small gap here with Python 3.0->3.1 where we might still be crashing, but those versions have reached their EOL more than a decade ago so I think we don't need to bother about them.
Reviewed By: JDevlieghere
Differential Revision: https://reviews.llvm.org/D104886
|
 | lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp |
 | lldb/test/API/iohandler/sigint/TestIOHandlerPythonREPLSigint.py |
Commit
ac95b8d9548cb3c07e60236d3e9e1fd05f79579b
by dvyukovtsan: new runtime (v3)
This change switches tsan to the new runtime which features: - 2x smaller shadow memory (2x of app memory) - faster fully vectorized race detection - small fixed-size vector clocks (512b) - fast vectorized vector clock operations - unlimited number of alive threads/goroutimes
Depends on D112602.
Reviewed By: melver
Differential Revision: https://reviews.llvm.org/D112603
|
 | compiler-rt/lib/tsan/rtl/tsan_defs.h |
 | compiler-rt/lib/tsan/rtl/tsan_mutexset.h |
 | compiler-rt/test/tsan/memcmp_race.cpp |
 | compiler-rt/lib/tsan/rtl/tsan_shadow.h |
 | compiler-rt/lib/tsan/rtl/tsan_sync.cpp |
 | compiler-rt/lib/tsan/tests/unit/tsan_stack_test.cpp |
 | compiler-rt/lib/tsan/rtl/tsan_mman.cpp |
 | compiler-rt/lib/tsan/rtl/tsan_platform_mac.cpp |
 | compiler-rt/lib/tsan/rtl/tsan_rtl_proc.cpp |
 | compiler-rt/lib/tsan/rtl/tsan_flags.cpp |
 | compiler-rt/lib/tsan/rtl/tsan_mutexset.cpp |
 | compiler-rt/lib/tsan/CMakeLists.txt |
 | compiler-rt/lib/tsan/go/tsan_go.cpp |
 | compiler-rt/lib/tsan/rtl/tsan_interface_java.cpp |
 | compiler-rt/lib/tsan/rtl/tsan_platform.h |
 | compiler-rt/lib/tsan/rtl/tsan_rtl_thread.cpp |
 | compiler-rt/lib/tsan/rtl/tsan_report.h |
 | compiler-rt/lib/tsan/rtl/tsan_rtl_access.cpp |
 | compiler-rt/lib/sanitizer_common/sanitizer_thread_registry.h |
 | compiler-rt/lib/tsan/rtl/tsan_sync.h |
 | compiler-rt/test/tsan/memcpy_race.cpp |
 | compiler-rt/lib/tsan/rtl/tsan_platform_linux.cpp |
 | compiler-rt/lib/tsan/rtl/tsan_report.cpp |
 | compiler-rt/lib/tsan/rtl/tsan_rtl.h |
 | compiler-rt/lib/tsan/tests/unit/tsan_sync_test.cpp |
 | compiler-rt/lib/tsan/tests/unit/tsan_trace_test.cpp |
 | compiler-rt/lib/tsan/tests/unit/tsan_shadow_test.cpp |
 | compiler-rt/lib/tsan/rtl/tsan_interface_atomic.cpp |
 | compiler-rt/lib/tsan/rtl/tsan_update_shadow_word.inc |
 | compiler-rt/lib/tsan/go/build.bat |
 | compiler-rt/test/tsan/mutexset7.cpp |
 | compiler-rt/lib/tsan/rtl/tsan_debugging.cpp |
 | compiler-rt/lib/tsan/rtl/tsan_trace.h |
 | compiler-rt/lib/tsan/rtl/tsan_platform_windows.cpp |
 | compiler-rt/lib/tsan/rtl/tsan_rtl_report.cpp |
 | compiler-rt/test/tsan/free_race2.c |
 | compiler-rt/lib/tsan/rtl/tsan_flags.inc |
 | compiler-rt/lib/tsan/rtl/tsan_platform_posix.cpp |
 | compiler-rt/lib/tsan/rtl/tsan_dense_alloc.h |
 | compiler-rt/lib/tsan/rtl/tsan_rtl.cpp |
 | compiler-rt/lib/tsan/rtl/tsan_rtl_mutex.cpp |
 | compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp |
 | compiler-rt/lib/tsan/go/buildgo.sh |
Commit
ebda5e1e521f4e7e47ccddb51a6a1d0d586b4265
by kadircet[clangd] Fix use-after-free in test
|
 | clang-tools-extra/clangd/unittests/FileIndexTests.cpp |
Commit
59087dce3b588c48dbb102d801dd986ea81eaac9
by llvm-dev[X86] combineX86ShufflesConstants - constant fold from target shuffles unless optsize = true
Currently we only constant fold target shuffles if any of the sources has one use, or it would remove a variable shuffle mask - the aim being to avoid constant pool bloat.
This patch proposes we should constant fold by default and only limit this if optsize is enabled - I've added a basic test for this in vector-mul.ll (the pmuludq case is by far the most common), I can add other specific test cases if people need them.
This should permit further constant folding, break some instruction dependencies and help reduce shuffle port pressure.
Differential Revision: https://reviews.llvm.org/D113748
|
 | llvm/test/CodeGen/X86/vector-fshl-rot-256.ll |
 | llvm/test/CodeGen/X86/vector-shift-shl-128.ll |
 | llvm/test/CodeGen/X86/combine-pmuldq.ll |
 | llvm/test/CodeGen/X86/vector-fshl-128.ll |
 | llvm/test/CodeGen/X86/vector-fshr-rot-256.ll |
 | llvm/test/CodeGen/X86/urem-seteq-vec-splat.ll |
 | llvm/test/CodeGen/X86/combine-shl.ll |
 | llvm/test/CodeGen/X86/vector-fshr-rot-sub128.ll |
 | llvm/test/CodeGen/X86/vector-trunc-math.ll |
 | llvm/test/CodeGen/X86/vector-rotate-128.ll |
 | llvm/test/CodeGen/X86/vec_shift6.ll |
 | llvm/test/CodeGen/X86/urem-seteq-vec-nonsplat.ll |
 | llvm/test/CodeGen/X86/combine-rotates.ll |
 | llvm/test/CodeGen/X86/madd.ll |
 | llvm/test/CodeGen/X86/srem-seteq-vec-nonsplat.ll |
 | llvm/test/CodeGen/X86/vector-fshr-128.ll |
 | llvm/test/CodeGen/X86/vector-rotate-256.ll |
 | llvm/test/CodeGen/X86/urem-seteq-illegal-types.ll |
 | llvm/test/CodeGen/X86/combine-concatvectors.ll |
 | llvm/test/CodeGen/X86/sdiv-exact.ll |
 | llvm/test/CodeGen/X86/hoist-and-by-const-from-shl-in-eqcmp-zero.ll |
 | llvm/test/CodeGen/X86/vector-mul.ll |
 | llvm/test/CodeGen/X86/vector-fshl-rot-sub128.ll |
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
 | llvm/test/CodeGen/X86/vector-shuffle-combining.ll |
 | llvm/test/CodeGen/X86/vector-fshl-rot-128.ll |
 | llvm/test/CodeGen/X86/omit-urem-of-power-of-two-or-zero-when-comparing-with-zero.ll |
 | llvm/test/CodeGen/X86/combine-multiplies.ll |
 | llvm/test/CodeGen/X86/vector-fshr-rot-128.ll |
Commit
352c46e70716061e99cae2009daddbfc78380fda
by a.bataev[SLP]Improve vectorization of split loads.
Need to fix ther cost estimation for split loads, since we look at the subregs already, no need to permute them, need just to estimate subregister insert, if it is smaller than the real register. Also, using split loads, it might be profitable already to vectorize smaller trees with gathering of the loads.
Differential Revision: https://reviews.llvm.org/D107188
|
 | llvm/test/Transforms/SLPVectorizer/X86/schedule_budget.ll |
 | llvm/test/Transforms/SLPVectorizer/X86/tiny-tree.ll |
 | llvm/test/Transforms/SLPVectorizer/X86/split-load8_2-unord.ll |
 | llvm/test/Transforms/SLPVectorizer/AArch64/getelementptr.ll |
 | llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp |
Commit
76478221565167da286bdc2d6a13eb241563e31c
by kerry.mclaughlin[AArch64][SVE] Remove i1 type from isElementTypeLegalForScalableVector
`collectElementTypesForWidening` collects the types of load, store and reduction Phis in a loop. These types are later checked using `isElementTypeLegalForScalableVector` to prevent vectorisation of loops with instruction types that are unsupported.
This patch removes i1 from the list of types supported for scalable vectors. This fixes an assert ("Cannot yet scalarize uniform stores") in `setCostBasedWideningDecision` when we have a loop containing a uniform i1 store and a scalable VF, which we cannot create a scatter for.
Reviewed By: david-arm
Differential Revision: https://reviews.llvm.org/D113680
|
 | llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h |
 | llvm/test/Transforms/LoopVectorize/AArch64/sve-illegal-type.ll |
Commit
1513ca339b4349cdd183fffa341a499d2c9f4575
by a.bataev[Feature][NFC]Improve test checks to avoid possible false postitive test failures, NFC.
|
 | llvm/test/Feature/weak_constant.ll |
Commit
388e8110db6f7b4ad9d655a70780f8698c4b9fd1
by Justas.Janickas[OpenCL] Constructor address space test adjusted for C++ for OpenCL 2021
Reuses C++ for OpenCL constructor address space test so that it supports optional generic address spaces in version 2021.
Differential Revision: https://reviews.llvm.org/D110184
|
 | clang/test/CodeGenOpenCLCXX/addrspace-constructors.clcpp |
Commit
0e185ceafb91c00382a31835215d3bae9d819613
by nicolas.vasilache[mlir] NFC - Address post-commit comments
Address comments from https://reviews.llvm.org/D113745 which landed as aa3731806723a2a12914aecda2af6e40e1903702
|
 | mlir/include/mlir/Dialect/Tensor/IR/Tensor.h |
 | mlir/include/mlir/IR/BuiltinTypes.td |
 | mlir/include/mlir/IR/BuiltinTypes.h |
Commit
8d35c054e31e5a2bee082f7a587a660eeb24bf99
by lebedev.ri[NFC][SROA] Add more tests for non-capturing pointer-escaping calls
|
 | llvm/test/Transforms/SROA/non-capturing-call.ll |
Commit
99d5cbbd7e33b620f5f4725ffa04ce15d2794a14
by kazu[CodeGen] Use SDNode::uses (NFC)
|
 | llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp |
 | llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp |
 | llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp |
 | llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp |
Commit
05f34ffa216975f132fa1bd4cbf8424053a19147
by zarko[clang] Inclusive language: change instances of blacklist/whitelist to allowlist/ignorelist
Change the error message to use ignorelist, and changed some variable and function names in related code and test.
Reviewed By: thakis
Differential Revision: https://reviews.llvm.org/D113189
|
 | clang/include/clang/AST/CommentHTMLTags.td |
 | clang/lib/Frontend/HeaderIncludeGen.cpp |
 | clang/include/clang/Basic/DiagnosticASTKinds.td |
 | clang/test/CodeGen/sanitize-address-field-padding.cpp |
 | clang/lib/Driver/ToolChains/Clang.cpp |
Commit
a70bbb5f7af051a704a985402ff11a38a5f78984
by jay.foad[AMDGPU] Simplify 64-bit division/remainder expansion
The old expansion open-coded a 64-bit addition in a strange way, by adding the high parts *without* carry-in from the low part, and then adding the carry back in later on. Fixing this saves a couple of instructions and makes the code much easier to understand.
Differential Revision: https://reviews.llvm.org/D113679
|
 | llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp |
 | llvm/test/CodeGen/AMDGPU/carryout-selection.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-srem.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-sdiv.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-udiv.mir |
 | llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp |
 | llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-idiv.ll |
 | llvm/test/CodeGen/AMDGPU/sdiv64.ll |
 | llvm/test/CodeGen/AMDGPU/bypass-div.ll |
 | llvm/test/CodeGen/AMDGPU/udiv64.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/sdiv.i64.ll |
 | llvm/test/CodeGen/AMDGPU/urem64.ll |
 | llvm/test/CodeGen/AMDGPU/wave32.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/srem.i64.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/urem.i64.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/sdivrem.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/udivrem.ll |
 | llvm/test/CodeGen/AMDGPU/srem64.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/udiv.i64.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-urem.mir |
Commit
30ebdf8a6dcc74823abf2ec318a44ad3ce9e231e
by flo[LV] Precommit test case from PR52485.
|
 | llvm/test/Transforms/LoopVectorize/reduction-small-size.ll |
Commit
c9dfe322eefca14ce07f73452f7327ecda57da30
by jdenny.ornl[OpenMP] Fix main thread barrier for Pascal and amdgpu
Fixes what's left of https://bugs.llvm.org/show_bug.cgi?id=51781.
Reviewed By: jdoerfert, JonChesterfield, tianshilei1992
Differential Revision: https://reviews.llvm.org/D113602
|
 | openmp/libomptarget/deviceRTLs/common/src/support.cu |
 | openmp/libomptarget/deviceRTLs/common/src/omptarget.cu |
 | openmp/libomptarget/deviceRTLs/target_interface.h |
 | openmp/libomptarget/test/offloading/bug51781.c |
 | llvm/test/Transforms/OpenMP/spmdization.ll |
 | llvm/lib/Transforms/IPO/OpenMPOpt.cpp |
 | openmp/libomptarget/DeviceRTL/src/Kernel.cpp |
 | llvm/test/Transforms/OpenMP/custom_state_machines.ll |
 | llvm/test/Transforms/OpenMP/spmdization_guarding.ll |
Commit
2d0aede515e8d7ce141da9708c7e7129d6e24241
by bcain[libcxx] Change the type of __size to correspond
__size was declared as unsigned which was compatible with
|
 | libcxx/include/__format/formatter_integral.h |
Commit
bd81c39107e35ffa89df7df573f2719dee59ecef
by zarko[NFC][llvm] Remove uses of blacklist in llvm/test/Instrumentation
Small patch that changes blacklisted_global to blocked_global and a change in comments.
Reviewed By: pgousseau
Differential Revision: https://reviews.llvm.org/D113692
|
 | llvm/test/Instrumentation/AddressSanitizer/global_metadata.ll |
 | llvm/test/Instrumentation/AddressSanitizer/global_with_comdat.ll |
 | llvm/test/Instrumentation/MemorySanitizer/msan_basic.ll |
 | llvm/test/Instrumentation/AddressSanitizer/global_metadata_array.ll |
Commit
6bb71738e26ca3ba4f2894bf6542bf33625a52c0
by llvm-dev[X86] convertShiftLeftToScale - improve vXi8 constant handling
Add support for v32i8/v64i8 converting shift-by-constant to multiply-by-constant. This helps us avoid the generic vXi8 shift lowering, and a lot of VPBLENDVB ops which can be particularly slow.
We also needed to reorder a few shift lowering patterns to prevent regressions, particularly for XOP+AVX2 (Excavator) targets (which can split to fast v16i8 shifts) and AVX512-BWI targets (which prefers to extend to fast v32i16 shifts).
|
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
 | llvm/test/CodeGen/X86/vector-shift-shl-512.ll |
 | llvm/test/CodeGen/X86/vector-fshr-512.ll |
 | llvm/test/CodeGen/X86/vector-shift-shl-256.ll |
 | llvm/test/CodeGen/X86/vector-fshl-512.ll |
 | llvm/test/CodeGen/X86/min-legal-vector-width.ll |
 | llvm/test/CodeGen/X86/vector-rotate-512.ll |
 | llvm/test/CodeGen/X86/srem-seteq-vec-nonsplat.ll |
 | llvm/test/CodeGen/X86/vector-fshr-rot-256.ll |
 | llvm/test/CodeGen/X86/vector-fshl-256.ll |
 | llvm/test/CodeGen/X86/vector-rotate-256.ll |
 | llvm/test/CodeGen/X86/vector-fshl-rot-512.ll |
 | llvm/test/CodeGen/X86/vector-fshl-rot-256.ll |
 | llvm/test/CodeGen/X86/vector-fshr-rot-512.ll |
 | llvm/test/CodeGen/X86/vector-fshr-256.ll |
Commit
79fbba9b7948d217ad34a81de205a9eaf53b05f9
by dvyukovRevert "tsan: new runtime (v3)"
Summary: This reverts commit ac95b8d9548cb3c07e60236d3e9e1fd05f79579b. There is a number of bot failures: http://45.33.8.238/mac/38755/step_4.txt https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/38135/consoleFull#-148886289949ba4694-19c4-4d7e-bec5-911270d8a58c
Reviewers: vitalybuka, melver
Subscribers:
|
 | compiler-rt/test/tsan/memcpy_race.cpp |
 | compiler-rt/lib/tsan/rtl/tsan_rtl_thread.cpp |
 | compiler-rt/lib/tsan/rtl/tsan_platform_mac.cpp |
 | compiler-rt/lib/tsan/go/tsan_go.cpp |
 | compiler-rt/lib/tsan/rtl/tsan_flags.inc |
 | compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp |
 | compiler-rt/lib/tsan/rtl/tsan_rtl.cpp |
 | compiler-rt/test/tsan/free_race2.c |
 | compiler-rt/lib/tsan/rtl/tsan_mutexset.h |
 | compiler-rt/lib/tsan/rtl/tsan_mman.cpp |
 | compiler-rt/lib/tsan/rtl/tsan_platform.h |
 | compiler-rt/lib/tsan/go/buildgo.sh |
 | compiler-rt/lib/tsan/rtl/tsan_debugging.cpp |
 | compiler-rt/lib/tsan/rtl/tsan_report.cpp |
 | compiler-rt/lib/tsan/rtl/tsan_platform_windows.cpp |
 | compiler-rt/lib/tsan/rtl/tsan_defs.h |
 | compiler-rt/lib/tsan/rtl/tsan_platform_posix.cpp |
 | compiler-rt/lib/tsan/rtl/tsan_dense_alloc.h |
 | compiler-rt/lib/tsan/rtl/tsan_update_shadow_word.inc |
 | compiler-rt/lib/tsan/CMakeLists.txt |
 | compiler-rt/lib/tsan/rtl/tsan_interface_java.cpp |
 | compiler-rt/lib/tsan/rtl/tsan_rtl_proc.cpp |
 | compiler-rt/lib/tsan/rtl/tsan_sync.h |
 | compiler-rt/lib/tsan/tests/unit/tsan_stack_test.cpp |
 | compiler-rt/lib/tsan/go/build.bat |
 | compiler-rt/lib/tsan/rtl/tsan_interface_atomic.cpp |
 | compiler-rt/lib/tsan/tests/unit/tsan_shadow_test.cpp |
 | compiler-rt/lib/tsan/rtl/tsan_platform_linux.cpp |
 | compiler-rt/lib/tsan/rtl/tsan_rtl.h |
 | compiler-rt/lib/tsan/rtl/tsan_trace.h |
 | compiler-rt/lib/tsan/rtl/tsan_rtl_access.cpp |
 | compiler-rt/lib/tsan/tests/unit/tsan_sync_test.cpp |
 | compiler-rt/lib/tsan/tests/unit/tsan_trace_test.cpp |
 | compiler-rt/lib/tsan/rtl/tsan_mutexset.cpp |
 | compiler-rt/lib/tsan/rtl/tsan_report.h |
 | compiler-rt/test/tsan/mutexset7.cpp |
 | compiler-rt/lib/sanitizer_common/sanitizer_thread_registry.h |
 | compiler-rt/lib/tsan/rtl/tsan_flags.cpp |
 | compiler-rt/lib/tsan/rtl/tsan_rtl_mutex.cpp |
 | compiler-rt/test/tsan/memcmp_race.cpp |
 | compiler-rt/lib/tsan/rtl/tsan_rtl_report.cpp |
 | compiler-rt/lib/tsan/rtl/tsan_shadow.h |
 | compiler-rt/lib/tsan/rtl/tsan_sync.cpp |
Commit
52a3ed5b93ca9aba042d87e2bb697bf0dda2e43c
by quinn.pham[lldb][NFC] Inclusive language: replace master/slave names for ptys
[NFC] This patch replaces master and slave with primary and secondary respectively when referring to pseudoterminals/file descriptors.
Reviewed By: clayborg, teemperor
Differential Revision: https://reviews.llvm.org/D113687
|
 | lldb/test/API/tools/lldb-server/TestPtyServer.py |
 | lldb/test/API/functionalities/gdb_remote_client/gdbclientutils.py |
 | lldb/source/Target/Process.cpp |
 | lldb/test/API/functionalities/gdb_remote_client/TestPty.py |
 | lldb/third_party/Python/module/ptyprocess-0.6.0/ptyprocess/ptyprocess.py |
 | lldb/unittests/Editline/EditlineTest.cpp |
 | lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.cpp |
 | lldb/source/Target/Platform.cpp |
 | lldb/source/Plugins/Platform/MacOSX/objcxx/PlatformiOSSimulatorCoreSimulatorSupport.mm |
 | lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp |
Commit
1c5d636af1a7b0786e2d4574cfa469dd27c34be1
by nikita.ppv[ConstantRangeTest] Add helper to enumerate APInts (NFC)
While ForeachNumInConstantRange(ConstantRange::getFull(Bits)) works, it's somewhat roundabout, and I keep looking for this function.
|
 | llvm/unittests/IR/ConstantRangeTest.cpp |
Commit
e01c91f242fc7d8ebb2c6267758838d90f17d58c
by listmail[tests] Add coverage for cases we can prune exits when runtlme unrolling
|
 | llvm/test/Transforms/LoopUnroll/runtime-loop-multiple-exits.ll |
Commit
4fb62e138398263dbefaa499c712929562bdf3bd
by sam.mccall[clangd] Mark completions as plain-text when there's no snippet part
This helps nvim support the "repeat" action
Fixes https://github.com/clangd/clangd/issues/922
|
 | clang-tools-extra/clangd/CodeComplete.cpp |
 | clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp |
Commit
a05384dc8930cbe967def7c5c4113740838e8fd0
by i[ELF] Make --no-relax disable R_X86_64_GOTPCRELX and R_X86_64_REX_GOTPCRELX GOT optimization
This brings back the original version of D81359. I have found several use cases now.
* Unlike GNU ld, LLD's relocation processing is one pass. If we decide to optimize(relax) R_X86_64_{,REX_}GOTPCRELX, we will suppress GOT generation and cannot undo the decision later. Optimizing R_X86_64_REX_GOTPCRELX can usually make it easy to hit `relocation R_X86_64_REX_GOTPCRELX out of range` because the distance to GOT is usually shorter. Without --no-relax, the user has to recompile with `-Wa,-mrelax-relocations=no`. * The option would help during my investigationg of the root cause of https://git.kernel.org/linus/09e43968db40c33a73e9ddbfd937f46d5c334924 * There is need for relaxation for AArch64 & RISC-V. Implementing this for x86-64 improves consistency with little target-specific cost (two-line X86_64.cpp change).
Reviewed By: alexander-shaposhnikov
Differential Revision: https://reviews.llvm.org/D113615
|
 | lld/docs/ReleaseNotes.rst |
 | lld/docs/ld.lld.1 |
 | lld/ELF/Config.h |
 | lld/test/ELF/x86-64-gotpc-relax.s |
 | lld/ELF/Options.td |
 | lld/ELF/Arch/X86_64.cpp |
 | lld/ELF/Driver.cpp |
Commit
5dd64ef528d2b975f6b266e838c7c761a301e867
by listmailRefresh an autogen test to reduce spurious diffs
|
 | llvm/test/Transforms/LoopUnroll/runtime-loop-at-most-two-exits.ll |
Commit
3170670541c0f4c59cba73764206c6edb59f7e3f
by llvm-dev[AMDGPU] Regenerate udiv.ll tests
|
 | llvm/test/CodeGen/AMDGPU/udiv.ll |
Commit
84c5702b76497e6f3e3f2abc15fb59e947663b38
by quinn.pham[lldb][NFC] Inclusive language: rename m_master in ASTImporterDelegate
[NFC] As part of using inclusive language within the llvm project, this patch replaces `m_master` in `ASTImporterDelegate` with `m_main`.
Reviewed By: teemperor, clayborg
Differential Revision: https://reviews.llvm.org/D113720
|
 | lldb/source/Plugins/ExpressionParser/Clang/ClangASTImporter.cpp |
 | lldb/source/Plugins/ExpressionParser/Clang/ClangASTImporter.h |
Commit
7a5680233e03c8ac65d4a9bd97c59b3a3b683526
by nawrin.sultana[OpenMP] Set default blocktime to 0 for hybrid cpu
Differential Revision:https://reviews.llvm.org/D113012
|
 | openmp/runtime/src/kmp.h |
Commit
03cfea68c65f02ad4267a2b026fe5baf32a2d519
by flo[SCEV] Update SCEVLoopGuardRewriter to take SCEV -> SCEV map (NFC).
Split off refactoring from D113577 to reduce the diff. NFC as the new interface will only be used in D113577.
|
 | llvm/lib/Analysis/ScalarEvolution.cpp |
Commit
85ec449352fb809e42e3e14dd10152cbdf8b5945
by pklausler[flang] Fix ORDER= argument to RESHAPE
The ORDER= argument to the transformational intrinsic function RESHAPE was being misinterpreted in an inverted way that could be detected only with 3-d or higher rank array. Fix in both folding and the runtime, and extend tests.
Differential Revision: https://reviews.llvm.org/D113699
|
 | flang/lib/Evaluate/constant.cpp |
 | flang/runtime/transformational.cpp |
 | flang/include/flang/Evaluate/constant.h |
 | flang/test/Evaluate/folding06.f90 |
Commit
f453e23e67e260b375ea222dab2483c1663aa5c9
by listmailAutogen a bunch of unrolling tests for ease of update
|
 | llvm/test/DebugInfo/unrolled-loop-remainder.ll |
 | llvm/test/Transforms/LoopUnroll/2011-08-08-PhiUpdate.ll |
 | llvm/test/Transforms/LoopUnroll/full-unroll-keep-first-exit.ll |
 | llvm/test/Transforms/LoopUnroll/partially-unroll-unconditional-latch.ll |
 | llvm/test/Transforms/LoopUnroll/2011-08-09-PhiUpdate.ll |
 | llvm/test/Transforms/LoopUnroll/ARM/multi-blocks.ll |
 | llvm/test/Transforms/LoopUnroll/runtime-multiexit-heuristic.ll |
 | llvm/test/Transforms/LoopUnroll/runtime-unroll-remainder.ll |
Commit
9d5e6474281cd4d774ede800eb339e1dc610e471
by Lang Hames[JITLink] Fix think-o in handwritten CWrapperFunctionResult -> Error converter.
We need to skip the length field when generating error strings.
No test case: This hand-hacked deserializer should be removed in the near future once JITLink can use generic ORC APIs (including SPS and WrapperFunction).
|
 | llvm/lib/ExecutionEngine/JITLink/JITLinkMemoryManager.cpp |
Commit
3fb641618f1a3b73c0bd661c567e8db32dcde491
by Lang Hames[ORC-RT][llvm-jitlink] Fix a buggy check in ORC-RT MachO TLV deregistration.
The check was failing because it was matching against the end of the range, not the start.
This bug wasn't causing the ORC-RT MachO TLV regression test to fail because we were only logging deallocation errors (including TLV deregistration errors) and not actually returning a failure code. This commit updates llvm-jitlink to report the errors properly.
|
 | llvm/tools/llvm-jitlink/llvm-jitlink.cpp |
 | compiler-rt/lib/orc/macho_platform.cpp |
Commit
4a0af824ee22d21362b5e6eccdb38a666e2d9b27
by pklausler[flang] Respect NO_STOP_MESSAGE=1 in runtime
When an environment variable NO_STOP_MESSAGE=1 is set, assume that STOP statements with a successful code have QUIET=.TRUE.
Differential Revision: https://reviews.llvm.org/D113701
|
 | flang/runtime/environment.h |
 | flang/runtime/environment.cpp |
 | flang/runtime/stop.cpp |
Commit
f46f93b4786377dd7ee704ef2beedadfe4f05adf
by Louis Dionne[libc++][NFC] Resolve Python 2 FIXME
We don't use Python 2 anymore, so let us do the recommended fix instead of using the workaround made for Python 2.
Differential Revision: https://reviews.llvm.org/D107715
|
 | libcxx/utils/ssh.py |
 | libcxx/utils/gdb/libcxx/printers.py |
 | libcxx/utils/libcxx/util.py |
 | libcxx/CMakeLists.txt |
Commit
d1b09adeebe8e2faf2c18fd24b9f83e89087a1e8
by pklausler[flang] Fix rounding edge case in F output editing
When an Fw.d output edit descriptor has a "d" value exactly equal to the number of zeroes after the decimal point for a value (e.g., 0.07 with F5.1), the Fw.d output editing code needs to do the rounding itself to either 0.0 or 0.1 after performing a conversion without rounding (to avoid 0.04999 rounding up twice).
Differential Revision: https://reviews.llvm.org/D113698
|
 | flang/unittests/Runtime/NumericalFormatTest.cpp |
 | flang/runtime/edit-output.h |
 | flang/runtime/edit-output.cpp |
Commit
a1b496be6c7105943583acab0923acb8993e8e2f
by listmail(re-)Autogen one last unroll-and-jam test
This case was complicated because someone had added new non-autogened test to an autogened file. In particular, those new tests used two variables (%J and %j) which differeded only in capitalization. The auto-updater doesn't distinguish case, so this meant auto-gened versions of the new tests failed with non-obvious errors.
There are two key lessons here: 1) Please don't use two values which differ only in case. This is problematic for automatic tooling, but is also hard to understand for a human. 2) Please DO NOT add new tests to an autogened test without running autogen again. If autogen doesn't pass on your new test, put them in a separate file.
|
 | llvm/test/Transforms/LoopUnrollAndJam/unroll-and-jam.ll |
Commit
1b651be0465de70cfa22ce4f715d3501a4dcffc1
by Duncan P. N. Exon SmithADT: Fix const-correctness of iterator adaptors
This fixes const-correctness of iterator adaptors, dropping non-`const` overloads for `operator*()`.
Iterators, like the pointers that they generalize, have two types of `const`.
The `const` qualifier on members indicates whether the iterator itself can be changed. This is analagous to `int *const`.
The `const` qualifier on return values of `operator*()`, `operator[]()`, and `operator->()` controls whether the the pointed-to value can be changed. This is analogous to `const int *`.
Since `operator*()` does not (in principle) change the iterator, then there should only be one definition, which is `const`-qualified. E.g., iterators wrapping `int*` should look like: ``` int *operator*() const; // always const-qualified, no overloads ```
ba7a6b314fd14bb2c9ff5d3f4fe2b6525514cada changed `iterator_adaptor_base` away from this to work around bugs in other iterator adaptors. That was already reverted. This patch adds back its test, which combined llvm::enumerate() and llvm::make_filter_range(), adds a test for iterator_adaptor_base itself, and cleans up the `const`-ness of the other iterator adaptors.
This also updates the documented requirements for `iterator_facade_base`: ``` /// OLD: /// - const T &operator*() const; /// - T &operator*();
/// New: /// - T &operator*() const; ``` In a future commit we might also clean up `iterator_facade`'s overloads of `operator->()` and `operator[]()`. These already (correctly) return non-`const` proxies regardless of the iterator's `const` qualifier.
Differential Revision: https://reviews.llvm.org/D113158
|
 | llvm/include/llvm/ADT/STLExtras.h |
 | llvm/include/llvm/ADT/iterator.h |
 | llvm/unittests/ADT/IteratorTest.cpp |
Commit
eb6f9f3123e6043d559fdfd921714626ff542cee
by keithbsmiley[lld-macho] Fix trailing slash in oso_prefix
Previously if you passed `-oso_prefix path/to/foo/` with a trailing slash at the end, using `real_path` would remove that slash, but that slash is necessary to make sure OSO prefix paths end up as valid relative paths instead of starting with `/`.
Differential Revision: https://reviews.llvm.org/D113541
|
 | lld/test/MachO/stabs.s |
 | lld/MachO/Driver.cpp |
Commit
da25f968a90ad4560fc920a6d18fc2a0221d2750
by pklausler[flang] Runtime performance improvements to real formatted input
Profiling a basic internal real input read benchmark shows some hot spots in the code used to prepare input for decimal-to-binary conversion, which is of course where the time should be spent. The library that implements decimal to/from binary conversions has been optimized, but not the code in the Fortran runtime that calls it, and there are some obvious light changes worth making here.
Move some member functions from *.cpp files into the class definitions of Descriptor and IoStatementState to enable inlining and specialization.
Make GetNextInputBytes() the new basic input API within the runtime, replacing GetCurrentChar() -- which is rewritten in terms of GetNextInputBytes -- so that input routines can have the ability to acquire more than one input character at a time and amortize overhead.
These changes speed up the time to read 1M random reals using internal I/O from a character array from 1.29s to 0.54s on my machine, which on par with Intel Fortran and much faster than GNU Fortran.
Differential Revision: https://reviews.llvm.org/D113697
|
 | flang/lib/Decimal/decimal-to-binary.cpp |
 | flang/runtime/internal-unit.h |
 | flang/runtime/unit.cpp |
 | flang/runtime/unit.h |
 | flang/lib/Decimal/big-radix-floating-point.h |
 | flang/runtime/descriptor.cpp |
 | flang/runtime/io-stmt.h |
 | flang/runtime/io-stmt.cpp |
 | flang/runtime/edit-input.cpp |
 | flang/unittests/Runtime/NumericalFormatTest.cpp |
 | flang/include/flang/Decimal/decimal.h |
 | flang/runtime/internal-unit.cpp |
 | flang/include/flang/Runtime/descriptor.h |
Commit
de2fed61528a5584dc54c47f6754408597be24de
by listmail[unroll] Keep unrolled iterations with initial iteration
The unrolling code was previously inserting new cloned blocks at the end of the function. The result of this with typical loop structures is that the new iterations are placed far from the initial iteration.
With unrolling, the general assumption is that the a) the loop is reasonable hot, and b) the first Count-1 copies of the loop are rarely (if ever) loop exiting. As such, placing Count-1 copies out of line is a fairly poor code placement choice. We'd much rather fall through into the hot (non-exiting) path. For code with branch profiles, later layout would fix this, but this may have a positive impact on non-PGO compiled code.
However, the real motivation for this change isn't performance. Its readability and human understanding. Having to jump around long distances in an IR file to trace an unrolled loop structure is error prone and tedious.
|
 | llvm/test/Transforms/LoopUnroll/full-unroll-keep-first-exit.ll |
 | llvm/test/Transforms/LoopUnroll/AArch64/unroll-upperbound.ll |
 | llvm/test/Transforms/LoopUnroll/full-unroll-one-unpredictable-exit.ll |
 | llvm/test/Transforms/LoopUnroll/runtime-small-upperbound.ll |
 | llvm/test/Transforms/LoopUnroll/2011-08-09-PhiUpdate.ll |
 | llvm/test/Transforms/LoopUnroll/runtime-loop5.ll |
 | llvm/test/Transforms/LoopUnroll/2011-08-08-PhiUpdate.ll |
 | llvm/test/Transforms/LoopUnroll/unroll-header-exiting-with-phis-multiple-exiting-blocks.ll |
 | llvm/lib/Transforms/Utils/LoopUnroll.cpp |
 | llvm/test/Transforms/LoopUnroll/scevunroll.ll |
 | llvm/test/Transforms/LoopUnroll/partial-unroll-non-latch-exit.ll |
 | llvm/test/Transforms/LoopUnrollAndJam/unroll-and-jam.ll |
 | llvm/test/DebugInfo/unrolled-loop-remainder.ll |
 | llvm/test/Transforms/LoopUnroll/runtime-unroll-remainder.ll |
 | llvm/test/Transforms/LoopUnroll/shifted-tripcount.ll |
 | llvm/test/Transforms/LoopUnroll/nonlatchcondbr.ll |
 | llvm/test/Transforms/LoopUnroll/partially-unroll-unconditional-latch.ll |
 | llvm/test/Transforms/LoopUnroll/runtime-loop-multiexit-dom-verify.ll |
 | llvm/test/Transforms/LoopUnroll/unroll-unconditional-latch.ll |
 | llvm/test/Transforms/LoopUnroll/ARM/multi-blocks.ll |
 | llvm/test/Transforms/LoopUnroll/runtime-multiexit-heuristic.ll |
 | llvm/test/Transforms/LoopUnroll/AArch64/thresholdO3-cost-model.ll |
 | llvm/test/Transforms/LoopUnroll/ARM/upperbound.ll |
 | llvm/test/Transforms/LoopUnroll/runtime-loop-multiple-exits.ll |
 | llvm/test/Transforms/LoopUnroll/AArch64/runtime-unroll-generic.ll |
 | llvm/test/Transforms/LoopUnroll/ARM/loop-unrolling.ll |
 | llvm/test/Transforms/PhaseOrdering/AArch64/matrix-extract-insert.ll |
 | llvm/test/Transforms/LoopUnroll/multiple-exits.ll |
 | llvm/test/Transforms/LoopUnroll/runtime-loop-at-most-two-exits.ll |
Commit
8b3e1adf2b4a69b6055dc4e07b4e97817208c904
by Duncan P. N. Exon SmithIR: Avoid duplication of SwitchInst::findCaseValue(), NFC
Change the non-const version of findCaseValue() to forward to the const version.
|
 | llvm/include/llvm/IR/Instructions.h |
Commit
46a68c85bfc99f0bc651e5096a641d5d4051e99d
by Duncan P. N. Exon SmithSema: const-qualify ParsedAttr::iterator::operator*()
`const`-qualify ParsedAttr::iterator::operator*(), clearing up confusion about the two meanings of const for pointers/iterators. Helps unblock removal of (non-const) iterator_facade_base::operator->().
|
 | clang/include/clang/Sema/ParsedAttr.h |
Commit
153c2983422e6c5840efc4bbe73b7b9bf0658d0d
by jpienaar[mlir][shape] Add value_as_shape op
Part of the very first discussion here, but didn't upstream it before as we didn't use it yet. Fix that for pending updates. Just adding the op here, follow up will add the lowering to codegen.
|
 | mlir/include/mlir/Dialect/Shape/IR/ShapeOps.td |
Commit
ad8df21db287b9f186421aa340e8e0c061f6222c
by jezng[reland][lld-macho] Fix symbol relocs handling for compact unwind's functionAddress
Clang seems to emit all functionAddress relocs as section relocs, but `ld -r` can turn those relocs into symbol ones. It turns out that we weren't handling that case correctly when the symbol was a weak def whose definition did not prevail.
Reviewed By: #lld-macho, oontvoo
Differential Revision: https://reviews.llvm.org/D113702
|
 | lld/MachO/InputFiles.cpp |
 | lld/test/MachO/weak-definition-gc.s |
Commit
5074a20dec70ef2afef650f770fb45eb0247a4f7
by gcmnDon't define //mlir:MLIRBindingsPythonCore in terms of the NoCAPI and CAPIDeps targets.
We noticed that the library structure causes link ordering problems in Google's internal build. However, we don't think the problem is specific to Google's build, it probably can be reproduced anywhere with the right library structure.
In general splitting the Python bindings from their dependencies (the C API targets) creates the possibility that the two libraries might end up in the wrong order on the linker command line. We can avoid this problem happening by reverting the structure of the MLIRBindingsPythonCore to represent its dependencies in the usual way, rather than composing an incomplete `MLIRBindingsPythonCoreNoCAPI` target and their CAPI dependencies. It was probably a mistake to rewrite this particular `cc_library()` rule in terms of the two, since nothing guarantees that the two will be correctly ordered by the linker when both are being linked into the same binary, and it was only an incidental "cleanup" done in passing.
Otherwise the previous PR (D113565) is fine, since that was about the case where both are being built into two separate shared libraries. It just shouldn't have made this (unrelated) change.
Reviewed By: GMNGeoffrey
Differential Revision: https://reviews.llvm.org/D113773
|
 | utils/bazel/llvm-project-overlay/mlir/BUILD.bazel |
Commit
4e7df1ef7b679953c1501177539166876c4cbda4
by aaron.puchertComment AST: Find out if function is variadic in DeclInfo::fill
Then we don't have to look into the declaration again. Also it's only natural to collect this information alongside parameters and return type, as it's also just a parameter in some sense.
Reviewed By: gribozavr2
Differential Revision: https://reviews.llvm.org/D113690
|
 | clang/lib/AST/CommentSema.cpp |
 | clang/test/Sema/warn-documentation.cpp |
 | clang/lib/AST/Comment.cpp |
 | clang/include/clang/AST/Comment.h |
Commit
3010883fc296619def051e0a2f97d40fb15960d7
by aaron.puchertComment AST: Recognize function-like objects via return type (NFC)
Instead of pretending that function pointer type aliases or variables are functions, and thereby losing the information that they are type aliases or variables, respectively, we use the existence of a return type in the DeclInfo to signify a "function-like" object.
That seems pretty natural, since it's also the return type (or parameter list) from the DeclInfo that we compare the documentation with.
Addresses a concern voiced in D111264#3115104.
Reviewed By: gribozavr2
Differential Revision: https://reviews.llvm.org/D113691
|
 | clang/include/clang/AST/Comment.h |
 | clang/include/clang/AST/CommentSema.h |
 | clang/lib/AST/CommentSema.cpp |
 | clang/lib/AST/Comment.cpp |
Commit
59b1e98137e961a61ffaeb609b6790999c461bec
by aaron.puchertComment Sema: Make most of CommentSema private (NFC)
We only need to expose setDecl, copyArray and the actOn* methods.
|
 | clang/include/clang/AST/CommentSema.h |
Commit
aab1810006a6788e32ee04e7d40d0b2474754aa2
by wlei[llvm-profgen] Fix bug of setting function entry
Previously we set `isFuncEntry` flag to true when the funcName from DWARF is equal to the name in symbol table and we use this flag to ignore reporting callsite sample that's from an intra func branch. However, in HHVM, it appears that the symbol table name is inconsistent with the dwarf info func name, it's likely due to `OptimizeGlobalAliases`.
This change is a workaround in llvm-profgen side to mark the only one range as the function entry and add warnings for the remaining inconsistence.
This also fixed a missing `getCanonicalFnName` for symbol name which caused the mismatching as well.
Reviewed By: hoy, wenlei
Differential Revision: https://reviews.llvm.org/D113492
|
 | llvm/tools/llvm-profgen/PerfReader.cpp |
 | llvm/tools/llvm-profgen/ProfiledBinary.cpp |
 | llvm/tools/llvm-profgen/PerfReader.h |
 | llvm/tools/llvm-profgen/ErrorHandling.h |
 | llvm/tools/llvm-profgen/ProfiledBinary.h |
Commit
6c32dd4dfafe01d01e4b189a4eeda5c4497c71ec
by spatel[AArch64][x86] add tests for swapped cmp+vselect patterns; NFC
These patterns were noted in the recent D113212 and follow-ups. I did not bother to duplicate every test because it should be clear if we recognize the swaps from a smaller sample. We have complete coverage for the original patterns.
|
 | llvm/test/CodeGen/AArch64/vselect-constants.ll |
 | llvm/test/CodeGen/X86/vselect-zero.ll |
Commit
d9b6f7e312c11ff69779939bb2be0bd53936a333
by jezng[lld-macho] Teach ICF to dedup functions with identical unwind info
Dedup'ing unwind info is tricky because each CUE contains a different function address, if ICF operated naively and compared the entire contents of each CUE, entries with identical unwind info but belonging to different functions would never be considered identical. To work around this problem, we slice away the function address before performing ICF. We rely on `relocateCompactUnwind()` to correctly handle these truncated input sections.
Here are the numbers before and after D109944, D109945, and this diff were applied, as tested on my 3.2 GHz 16-Core Intel Xeon W:
Without any optimizations:
base diff difference (95% CI) sys_time 0.849 ± 0.015 0.896 ± 0.012 [ +4.8% .. +6.2%] user_time 3.357 ± 0.030 3.512 ± 0.023 [ +4.3% .. +5.0%] wall_time 3.944 ± 0.039 4.032 ± 0.031 [ +1.8% .. +2.6%] samples 40 38
With `-dead_strip`:
base diff difference (95% CI) sys_time 0.847 ± 0.010 0.896 ± 0.012 [ +5.2% .. +6.5%] user_time 3.377 ± 0.014 3.532 ± 0.015 [ +4.4% .. +4.8%] wall_time 3.962 ± 0.024 4.060 ± 0.030 [ +2.1% .. +2.8%] samples 47 30
With `-dead_strip` and `--icf=all`:
base diff difference (95% CI) sys_time 0.935 ± 0.013 0.957 ± 0.018 [ +1.5% .. +3.2%] user_time 3.472 ± 0.022 6.531 ± 0.046 [ +87.6% .. +88.7%] wall_time 4.080 ± 0.040 5.329 ± 0.060 [ +30.0% .. +31.2%] samples 37 30
Unsurprisingly, ICF is now a lot slower, likely due to the much larger number of input sections it needs to process. But the rest of the linker only suffers a mild slowdown.
Note that the compact-unwind-bad-reloc.s test was expanded because we now handle the relocation for CUE's function address in a separate code path from the rest of the CUE relocations. The extended test covers both code paths.
Reviewed By: #lld-macho, oontvoo
Differential Revision: https://reviews.llvm.org/D109946
|
 | lld/MachO/UnwindInfoSection.cpp |
 | lld/test/MachO/icf.s |
 | lld/MachO/InputFiles.cpp |
 | lld/MachO/ICF.cpp |
Commit
9d0b237c516f935482cfff5c3df9cb44ee766664
by jezng[lld-macho] Fix symbol relocs handling for LSDAs
Similar to D113702, but for the LSDAs. Clang seems to emit all LSDA relocs as section relocs, but ld -r can turn those relocs into symbol ones.
Reviewed By: #lld-macho, oontvoo
Differential Revision: https://reviews.llvm.org/D113721
|
 | lld/MachO/UnwindInfoSection.cpp |
 | lld/test/MachO/compact-unwind-sym-relocs.s |
Commit
07092ea6bd1370da5eb9e05cc2910039f5f08bbd
by Vitaly Buka[asan] Fix GCC warning "left shift count >= width"
Fixes PR52385
|
 | compiler-rt/lib/asan/asan_allocator.cpp |
Commit
8cf674f12e8b62607a79d2a069f2805558fc08fc
by jeffniu22[mlir][ods] DialectAsmPrinter -> AsmPrinter in comments
|
 | mlir/include/mlir/IR/OpBase.td |
Commit
ece17064b592db70a56ef7e4e750d0fe589014f2
by pklausler[flang] Handle ENTRY names in IsPureProcedure() predicate
Fortran defines an ENTRY point name as being pure if its enclosing subprogram scope defines a pure procedure.
Differential Revision: https://reviews.llvm.org/D113711
|
 | flang/include/flang/Evaluate/tools.h |
 | flang/lib/Evaluate/tools.cpp |
Commit
2696a9529eed0fe60017b46ba8823d8efcddf571
by jeffniu22[mlir][ods] Cleanup of Class Codegen helper
Depends on D113331
Reviewed By: jpienaar
Differential Revision: https://reviews.llvm.org/D113714
|
 | mlir/lib/TableGen/CMakeLists.txt |
 | mlir/tools/mlir-tblgen/OpFormatGen.cpp |
 | mlir/include/mlir/TableGen/OpClass.h |
 | mlir/lib/TableGen/Class.cpp |
 | mlir/lib/TableGen/OpClass.cpp |
 | mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp |
 | mlir/include/mlir/TableGen/CodeGenHelpers.h |
 | mlir/tools/mlir-tblgen/DialectGen.cpp |
 | mlir/include/mlir/TableGen/Class.h |
Commit
4602f52d482c5752d6a4c13108f29f0be39598c8
by Louis Dionne[libcxx][AIX] XFAIL tests enabled by locale.fr_FR.UTF-8
We missed the tests in the earlier XFAIL-ing because the locale.fr_FR.UTF-8 feature wasn't available, but since an upgrade these are now showing up on the CI.
Differential Revision: https://reviews.llvm.org/D113791
|
 | libcxx/test/std/localization/locale.categories/facet.numpunct/locale.numpunct.byname/grouping.pass.cpp |
 | libcxx/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_fr_FR.pass.cpp |
 | libcxx/test/std/localization/locale.categories/category.time/locale.time.put.byname/put1.pass.cpp |
 | libcxx/test/std/localization/locale.categories/facet.numpunct/locale.numpunct.byname/thousands_sep.pass.cpp |
 | libcxx/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_fr_FR.pass.cpp |
Commit
12ab3e6c8402078f58959847277858eb47a43a19
by fcloutierformat_arg attribute does not support nullable instancetype return type
* The format_arg attribute tells the compiler that the attributed function returns a format string that is compatible with a format string that is being passed as a specific argument. * Several NSString methods return copies of their input, so they would ideally have the format_arg attribute. A previous differential (D112670) added support for instancetype methods having the format_arg attribute when used in the context of NSString method declarations. * D112670 failed to account that instancetype can be sugared in certain narrow (but critical) scenarios, like by using nullability specifiers. This patch resolves this problem.
Differential Revision: https://reviews.llvm.org/D113636 Reviewed By: ahatanak
Radar-Id: rdar://85278860
|
 | clang/test/SemaObjC/format-arg-attribute.m |
 | clang/lib/Sema/SemaDeclAttr.cpp |
Commit
e2a86ab8474eec1a427a71b1b4795830cf068c3e
by a.bataev[SLP][NFCAdd a test for vector intrinsic with scalar parameter, NFC.
|
 | llvm/test/Transforms/SLPVectorizer/X86/intrinsic_with_scalar_param.ll |
Commit
c3edab8f781d0c3cf063ec0c675ad7bd7c3b65b8
by Duncan P. N. Exon SmithADT: Avoid repeating iterator adaptor/facade template params, NFC
Take advantage of class name injection to avoid redundantly specifying template parameters of iterator adaptor/facade base classes.
No functionality change, although the private typedefs changed in a couple of cases.
- Added a private typedef HashTableIterator::BaseT, following the pattern from r207084 / 3478d4b164e8d3eba01f5bfa3fc5bfb287a78b97, to pre-emptively appease MSVC (maybe it's not necessary anymore but looks like we do this pretty consistently). Otherwise, I removed private - Removed private typedefs filter_iterator_impl::BaseT and FilterIteratorTest::InputIterator::BaseT since there was only one use of each and the definition was no longer interesting.
|
 | llvm/include/llvm/DebugInfo/PDB/Native/HashTable.h |
 | llvm/include/llvm/DebugInfo/PDB/Native/DbiModuleList.h |
 | llvm/unittests/ADT/IteratorTest.cpp |
 | llvm/include/llvm/ADT/STLExtras.h |
Commit
a678c6743f536dac67b3714fd8c71dca7b1ae082
by Duncan P. N. Exon SmithIR: Fix const-correctness of SwitchInst::CaseIterator and CaseHandle
Fix some confusion between the two types of `const` a pointer/iterator can have. Users of a SwitchInst::CaseIterator should not (and do not!) manually mutate the SwitchInst::CaseHandle that tracks its internal state. Change operator*() to return `const CaseHandle&`, remove the non-const-qualified operator*(), and const-qualify CaseHandle::setValue() and CaseHandle::setSuccessor().
Differential Revision: https://reviews.llvm.org/D113788
|
 | llvm/include/llvm/IR/Instructions.h |
Commit
9a2b54af221717bf71040b530c4ac8043e1db23a
by Duncan P. N. Exon Smithlld: const-qualify iterations through VarStreamArray, NFC
No functionality change here; just unblocking a patch to LLVM.
|
 | lld/COFF/PDB.cpp |
 | lld/COFF/DebugTypes.cpp |
Commit
02bed66cd5923a9964b7cb2211eae4bf3a065c6f
by craig.topper[RISCV] Improve codegen for i32 udiv/urem by constant on RV64.
The division by constant optimization often produces constants that are uimm32, but not simm32. These constants require 3 or 4 instructions to materialize without Zba.
Since these instructions are often used by a multiply with a LHS that needs to be zero extended with an AND, we can switch the MUL to a MULHU by shifting both inputs left by 32. Once we shift the constant left, the upper 32 bits no longer need to be 0 so constant materialization is free to use LUI+ADDIW. This reduces the constant materialization from 4 instructions to 3 in some cases while also reducing the zero extend of the LHS from 2 shifts to 1.
Differential Revision: https://reviews.llvm.org/D113805
|
 | llvm/lib/Target/RISCV/RISCVInstrInfoM.td |
 | llvm/test/CodeGen/RISCV/urem-lkk.ll |
 | llvm/test/CodeGen/RISCV/div.ll |
Commit
19cd6f31d83ec9cf4712e76668b2076a4c9741e4
by Lawrence D'Anna[lldb] temporarily disable TestPaths.test_interpreter_info on windows
I'm disabling this test until the fix is reviewed (here https://reviews.llvm.org/D113650/)
|
 | lldb/test/API/functionalities/paths/TestPaths.py |
Commit
37ead201e6148f2b079179a71ccbad5af223ce03
by listmail[runtime-unroll] Use incrementing IVs instead of decrementing ones
This is one of those wonderful "in theory X doesn't matter, but in practice is does" changes. In this particular case, we shift the IVs inserted by the runtime unroller to clamp iteration count of the loops* from decrementing to incrementing.
Why does this matter? A couple of reasons: * SCEV doesn't have a native subtract node. Instead, all subtracts (A - B) are represented as A + -1 * B and drops any flags invalidated by such. As a result, SCEV is slightly less good at reasoning about edge cases involving decrementing addrecs than incrementing ones. (You can see this in the inferred flags in some of the test cases.) * Other parts of the optimizer produce incrementing IVs, and they're common in idiomatic source language. We do have support for reversing IVs, but in general if we produce one of each, the pair will persist surprisingly far through the optimizer before being coalesced. (You can see this looking at nearby phis in the test cases.)
Note that if the hardware prefers decrementing (i.e. zero tested) loops, LSR should convert back immediately before codegen.
* Mostly irrelevant detail: The main loop of the prolog case is handled independently and will simple use the original IV with a changed start value. We could in theory use this scheme for all iteration clamping, but that's a larger and more invasive change.
|
 | llvm/test/Transforms/LoopUnroll/runtime-loop5.ll |
 | llvm/test/Transforms/PhaseOrdering/X86/vdiv.ll |
 | llvm/test/Transforms/LoopUnroll/runtime-loop-multiple-exits.ll |
 | llvm/test/Transforms/LoopUnroll/runtime-unroll-assume-no-remainder.ll |
 | llvm/test/Transforms/LoopUnrollAndJam/unroll-and-jam.ll |
 | llvm/test/Transforms/LoopUnroll/runtime-unroll-remainder.ll |
 | llvm/test/DebugInfo/unrolled-loop-remainder.ll |
 | llvm/test/Transforms/LoopUnroll/ARM/multi-blocks.ll |
 | llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp |
 | llvm/test/Transforms/LoopUnroll/PowerPC/p8-unrolling-legalize-vectors-inseltpoison.ll |
 | llvm/test/Transforms/LoopUnroll/PowerPC/p8-unrolling-legalize-vectors.ll |
 | llvm/test/Transforms/LoopUnroll/runtime-multiexit-heuristic.ll |
 | llvm/test/Transforms/LoopUnroll/runtime-loop-at-most-two-exits.ll |
 | llvm/test/Transforms/LoopUnroll/AArch64/runtime-unroll-generic.ll |
 | llvm/test/Transforms/LoopUnroll/runtime-loop.ll |
 | llvm/test/Transforms/LoopVectorize/X86/float-induction-x86.ll |
 | llvm/test/Transforms/LoopUnroll/runtime-loop-multiexit-dom-verify.ll |
 | llvm/test/Transforms/LoopVectorize/X86/gather_scatter.ll |
 | llvm/test/Transforms/LoopUnroll/WebAssembly/basic-unrolling.ll |
Commit
cb0e14ce6dcdd614a7207f4ce6fcf81a164471ab
by Vitaly Buka[sanitizer] Switch dlsym hack to internal_allocator
Since glibc 2.34, dlsym does 1. malloc 1 2. malloc 2 3. free pointer from malloc 1 4. free pointer from malloc 2 These sequence was not handled by trivial dlsym hack.
This fixes https://bugs.llvm.org/show_bug.cgi?id=52278
Reviewed By: eugenis, morehouse
Differential Revision: https://reviews.llvm.org/D112588
|
 | compiler-rt/lib/sanitizer_common/sanitizer_allocator_dlsym.h |
 | compiler-rt/lib/sanitizer_common/sanitizer_malloc_mac.inc |
 | compiler-rt/lib/sanitizer_common/CMakeLists.txt |
 | compiler-rt/lib/hwasan/hwasan_allocation_functions.cpp |
 | compiler-rt/lib/msan/msan_interceptors.cpp |
 | compiler-rt/lib/asan/asan_malloc_linux.cpp |
 | compiler-rt/lib/memprof/memprof_malloc_linux.cpp |
 | compiler-rt/lib/dfsan/dfsan_interceptors.cpp |
 | compiler-rt/lib/lsan/lsan_common.h |
 | compiler-rt/lib/lsan/lsan_interceptors.cpp |
Commit
7611e16fce9ce36b6bd6dceda691f6bc7e754347
by Akira[clang][objc][codegen] Skip emitting ObjC category metadata when the category is empty
Currently, if we create a category in ObjC that is empty, we still emit runtime metadata for that category. This is a scenario that could commonly be run into when using __attribute__((objc_direct_members)), which elides the need for much of the category metadata. This is slightly wasteful and can be easily skipped by checking the category metadata contents during CodeGen.
rdar://66177182
Differential Revision: https://reviews.llvm.org/D113455
|
 | clang/test/CodeGenObjC/category-class-empty.m |
 | clang/lib/CodeGen/CGObjCMac.cpp |
 | clang/test/CodeGenObjC/non-lazy-classes.m |
Commit
8909dc5ebe8ad39f1743131eb70df402d796acab
by craig.topper[RISCV] Fixed duplicate RUN line on float-intrinsics.ll. NFC
We had two identical RV64I RUN lines. One should be RV32I.
|
 | llvm/test/CodeGen/RISCV/float-intrinsics.ll |
Commit
2a739f2789c3549aec3d77807e452dc22e4ef9f9
by blangmuir[ORC][ORC-RT] Register type metadata from __swift5_types MachO section
Similar to how the other swift sections are registered by the ORC runtime's macho platform, add the __swift5_types section, which contains type metadata. Add a simple test that demonstrates that the swift runtime recognized the registered types.
rdar://85358530
Differential Revision: https://reviews.llvm.org/D113811
|
 | llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp |
 | compiler-rt/test/lit.common.cfg.py |
 | compiler-rt/test/orc/TestCases/Darwin/x86-64/trivial-swift-types-section.S |
 | compiler-rt/lib/orc/macho_platform.cpp |
 | llvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp |
Commit
afafa883a4757d88d869d1abb6bf7e11022fd521
by Vitaly Buka[sanitizer] Fix test linking
|
 | compiler-rt/test/sanitizer_common/TestCases/Linux/pthread_mutex.cpp |
Commit
a144869384f93097163e1aaa31daf48962c1e66d
by thakis[gn build] (semi-manually) port cb0e14ce6dcd
|
 | llvm/utils/gn/secondary/compiler-rt/lib/sanitizer_common/BUILD.gn |
Commit
4b768eeb976ec15a2701f9a7b3eac2b0b43e8a7d
by Vitaly Buka[asan] Fix "no matching function" on GCC
|
 | compiler-rt/test/asan/TestCases/Posix/unpoison-alternate-stack.cpp |
Commit
ad932320d89684e23f7952e54bc90c96598db1a3
by vyng[lld-macho] Parallelize scanning the symbol tables in export/unexport-ing.
(Split from D113167) Benchmarking on one of our large apps which exports a few thousands symbols, this showed an improvement of ~17%.
x ./LLD_no_parallel.txt + ./LLD_with_parallel.txt
N Min Max Median Avg Stddev x 10 84.01 89.41 88.64 87.693 1.7424061 + 10 71.9 74.29 72.63 72.753 0.77734663 Difference at 95.0% confidence -14.94 +/- 1.26763 -17.0367% +/- 1.44553% (Student's t, pooled s = 1.34912)
(wallclock)
Differential Revision: https://reviews.llvm.org/D113820
|
 | lld/MachO/Driver.cpp |
Commit
89fb2c71a2cd2818bb2d9aa7fcaf882a4d2b5128
by Vitaly Buka[asan] More leaks in test
It fails to detect a single leak with GLIBC 2.34.
|
 | compiler-rt/test/asan/TestCases/coverage-and-lsan.cpp |
Commit
e49fcfc7cdf82e41f15a857083c0fb275c1b6021
by pengfei.wang[X86][ABI] Change the alignment of f80 in 32-bit calling convention to meet with different data layout
Reviewed By: RKSimon
Differential Revision: https://reviews.llvm.org/D113739
|
 | llvm/test/CodeGen/X86/2007-09-27-LDIntrinsics.ll |
 | llvm/test/CodeGen/X86/inline-asm-fpstack.ll |
 | llvm/lib/Target/X86/X86CallingConv.td |
Commit
4d8fff477e024698facd89741cc6cf996708d598
by mizvekov[clang] retain type sugar in auto / template argument deduction
This implements the following changes: * AutoType retains sugared deduced-as-type. * Template argument deduction machinery analyses the sugared type all the way down. It would previously lose the sugar on first recursion. * Undeduced AutoType will be properly canonicalized, including the constraint template arguments. * Remove the decltype node created from the decltype(auto) deduction.
As a result, we start seeing sugared types in a lot more test cases, including some which showed very unfriendly `type-parameter-*-*` types.
Signed-off-by: Matheus Izvekov <mizvekov@gmail.com>
Reviewed By: rsmith
Differential Revision: https://reviews.llvm.org/D110216
|
 | clang/include/clang/AST/Type.h |
 | clang/lib/Sema/SemaInit.cpp |
 | clang/lib/AST/ASTContext.cpp |
 | clang/test/SemaCXX/friend.cpp |
 | libcxx/test/std/utilities/any/any.nonmembers/any.cast/const_correctness.fail.cpp |
 | clang/test/SemaTemplate/friend.cpp |
 | clang-tools-extra/clangd/FindTarget.cpp |
 | clang-tools-extra/clang-tidy/cppcoreguidelines/ProBoundsPointerArithmeticCheck.cpp |
 | clang/test/CXX/temp/temp.fct.spec/temp.deduct/temp.deduct.call/p4.cpp |
 | clang-tools-extra/clangd/unittests/ASTTests.cpp |
 | clang/test/SemaTemplate/attributes.cpp |
 | clang-tools-extra/clangd/unittests/InlayHintTests.cpp |
 | clang/lib/AST/ASTImporter.cpp |
 | clang/lib/Sema/SemaTemplateDeduction.cpp |
 | clang/include/clang/Sema/Sema.h |
 | clang/test/CXX/over/over.match/over.match.funcs/over.match.class.deduct/p2.cpp |
 | clang/test/SemaTemplate/operator-template.cpp |
 | clang-tools-extra/clang-tidy/readability/QualifiedAutoCheck.cpp |
 | clang/include/clang/AST/ASTContext.h |
 | libcxx/test/std/utilities/any/any.nonmembers/any.cast/not_copy_constructible.fail.cpp |
 | clang/test/CXX/temp/temp.fct.spec/temp.deduct/temp.deduct.call/p1-0x.cpp |
 | clang/lib/Sema/SemaDeclCXX.cpp |
 | clang/test/SemaCXX/recovery-expr-type.cpp |
 | clang/test/SemaCXX/sugared-auto.cpp |
 | clang/lib/AST/Type.cpp |
 | clang/include/clang/ASTMatchers/ASTMatchersInternal.h |
 | clang/lib/Sema/SemaExprCXX.cpp |
 | clang/test/SemaCXX/deduced-return-type-cxx14.cpp |
 | clang/lib/Sema/SemaStmt.cpp |
 | clang/test/CXX/temp/temp.decls/temp.variadic/multi-level-substitution.cpp |
 | clang/test/SemaCXX/cxx1z-decomposition.cpp |
 | clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines-owning-memory.cpp |
 | clang-tools-extra/clangd/unittests/tweaks/ExpandAutoTypeTests.cpp |
 | libcxx/test/std/utilities/any/any.nonmembers/any.cast/const_correctness.verify.cpp |
 | clang/lib/Sema/SemaType.cpp |
 | clang/lib/Sema/SemaDecl.cpp |
 | clang/lib/Sema/SemaCXXScopeSpec.cpp |
 | clang/lib/Sema/TreeTransform.h |
 | clang/test/Index/print-type.cpp |
 | clang/test/SemaCXX/cxx1z-class-template-argument-deduction.cpp |
 | clang-tools-extra/clangd/InlayHints.cpp |
 | clang/test/SemaCXX/sizeless-1.cpp |
 | clang-tools-extra/clangd/unittests/HoverTests.cpp |
 | clang/lib/Sema/SemaLambda.cpp |
 | lldb/test/Shell/SymbolFile/NativePDB/function-types-builtins.cpp |
 | clang/test/CXX/stmt.stmt/stmt.iter/stmt.ranged/p1.cpp |
 | libcxx/test/std/utilities/any/any.nonmembers/any.cast/not_copy_constructible.verify.cpp |
 | clang/lib/Sema/SemaTemplate.cpp |
 | clang-tools-extra/clang-tidy/cppcoreguidelines/OwningMemoryCheck.cpp |
Commit
9b29dae3cae1860f663698fcb709a19cf0c398be
by vyng[lld-macho] Allow exporting weak_def_can_be_hidden(AKA "autohide") symbols
autohide symbols behaves similarly to private_extern symbols. However, LD64 allows exporting autohide symbols. LLD currently does not. This patch allows LLD to export them.
Differential Revision: https://reviews.llvm.org/D113167
|
 | lld/MachO/ConcatOutputSection.cpp |
 | lld/test/MachO/export-options.s |
 | lld/MachO/SymbolTable.cpp |
 | lld/MachO/SymbolTable.h |
 | lld/MachO/Symbols.cpp |
 | lld/MachO/Symbols.h |
 | lld/MachO/Driver.cpp |
 | lld/MachO/InputFiles.cpp |
Commit
47bb456b2ffd774990a6aca45f6b90183e2075c3
by keithbsmiley[llvm-obcopy][MachO] Add error for MH_PRELOAD
Previously this would crash. Fixes https://bugs.llvm.org/show_bug.cgi?id=51877
Differential Revision: https://reviews.llvm.org/D113819
|
 | llvm/test/tools/llvm-objcopy/MachO/mh-preload-unsupported.yaml |
 | llvm/tools/llvm-objcopy/MachO/MachOObjcopy.cpp |
Commit
51715fbd96c100e08ad5e0afe78eff474e4caa3f
by keithbsmiley[lld-macho] Fix warning
``` /Users/ksmiley/dev/llvm-project/lld/MachO/Symbols.cpp:43:27: warning: field 'external' will be initialized after field 'weakDefCanBeHidden' [-Wreorder-ctor] weakDef(isWeakDef), external(isExternal), ^ 1 warning generated. ```
Differential Revision: https://reviews.llvm.org/D113823
|
 | lld/MachO/Symbols.cpp |
Commit
3129b3339ce133650b460a7e6b7199111f97bb4c
by tstellartest/ExecutionEngine: Clean up lit.local.cfg
Switch to using config.root.native_target to determine if tests are supported. This is a canonical form of the arch from the target triple.
Reviewed By: lhames, DavidSpickett
Differential Revision: https://reviews.llvm.org/D110788
|
 | llvm/test/ExecutionEngine/lit.local.cfg |
Commit
75c86c9935925f841c1c4e0396b701210358489a
by Duncan P. N. Exon SmithSupport: Make VarStreamArrayIterator iterate over const values
VarStreamArrayIterator returns a reference to a just-computed internal value. Change it to iterate over `const ValueType` to avoid allowing clients to mutate the internal state, and to drop the non-`const`-qualified operator*().
The removed operator*() was from 175d70ee5c2f03f6 to get iterator_facade_base::operator->() working, and this fixes the root cause instead: setting `T` to `const ValueType` causes iterator_facade_base to infer `PointerT` as `const ValueType*`.
Ironically, this is the last blocker for removing the const-incorrect overload of `iterator_facade_base::operator->()`, whose presence triggered adding the workaround in the first place :).
Differential Revision: https://reviews.llvm.org/D113797
|
 | llvm/tools/llvm-pdbutil/ExplainOutputStyle.cpp |
 | llvm/include/llvm/Support/BinaryStreamArray.h |
Commit
6b9b86db9dd974585a5c71cf2e5231d1e3385f7c
by Duncan P. N. Exon SmithADT: Fix const-correctness of iterator facade
Fix the const-ness of `iterator_facade_base::operator->` and `iterator_facade_base::operator[]`. This is a follow-up to 1b651be0465de70cfa22ce4f715d3501a4dcffc1, which fixed const-ness of various iterator adaptors.
Iterators, like the pointers that they generalize, have two types of `const`.
- The `const` qualifier on members indicates whether the iterator itself can be changed. This is analagous to `int *const`. - The `const` qualifier on return values of `operator*()`, `operator[]()`, and `operator->()` controls whether the the pointed-to value can be changed. This is analogous to `const int*`.
If an iterator facade returns a handle to its own state, then T (and PointerT and ReferenceT) should usually be const-qualified. Otherwise, if clients are expected to modify the state itself, the field can be declared mutable or a const_cast can be used.
|
 | llvm/unittests/ADT/IteratorTest.cpp |
 | llvm/include/llvm/ADT/iterator.h |
Commit
79c5479822e6039f764968225181b93f4c2924ad
by Duncan P. N. Exon SmithSupport: Pass wrapped Error's error code through FileError
Change FileError to pass through the error code from the Error it wraps. This allows APIs that return ECError to transition to FileError without changing returned std::error_code.
This was extracted from https://reviews.llvm.org/D109345.
Differential Revision: https://reviews.llvm.org/D113225
|
 | llvm/lib/Support/Error.cpp |
 | llvm/unittests/Support/ErrorTest.cpp |
Commit
efa896e5f7c393505f1bce2c9f530d1ba2b97720
by kazu[Target] Use SDNode::uses (NFC)
|
 | llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp |
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
 | llvm/lib/Target/ARM/ARMISelLowering.cpp |
 | llvm/lib/Target/SystemZ/SystemZISelLowering.cpp |
 | llvm/lib/Target/VE/VEISelLowering.cpp |
 | llvm/lib/Target/X86/X86ISelDAGToDAG.cpp |
 | llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp |
 | llvm/lib/Target/AArch64/AArch64ISelLowering.cpp |
Commit
2272ec1c63893e370e7dea8b946843d8d433d458
by Lang Hames[JITLink][MachO] Fix "find-symbol-by-address" logic.
Only search within the requested section, and allow one-past-then-end addresses.
This is needed to support section-end-address references to sections with no symbols in them.
|
 | llvm/lib/ExecutionEngine/JITLink/MachO_x86_64.cpp |
 | llvm/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.h |
 | llvm/lib/ExecutionEngine/JITLink/MachO_arm64.cpp |
 | llvm/test/ExecutionEngine/JITLink/X86/MachO_lookup_section_end_by_address.s |
 | llvm/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.cpp |
Commit
82bc6a094e85014f1891ef9407496f44af8fe442
by craig.topper[X86] Promote f16 STRICT_FROUND to f32 and call libc.
Reviewed By: pengfei
Differential Revision: https://reviews.llvm.org/D113817
|
 | llvm/test/CodeGen/X86/fp-strict-scalar-round-fp16.ll |
 | llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp |
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
Commit
e60b3fcefa62311a93a9f7c8589a1da5f25b1ba9
by Vitaly Buka[sanitizer] Don't test __pthread_mutex_lock with GLIBC 2.34
|
 | compiler-rt/test/sanitizer_common/TestCases/Linux/pthread_mutex.cpp |
Commit
dd87c5b322684b072e9df3058b84d09a702a1ea4
by Vitaly BukaRevert "[sanitizer] Fix test linking"
This reverts commit afafa883a4757d88d869d1abb6bf7e11022fd521.
-pthread was not the fix. Symbols removed from GLIBC 2.34 Fixed with e60b3fcefa62311a93a9f7c8589a1da5f25b1ba9.
|
 | compiler-rt/test/sanitizer_common/TestCases/Linux/pthread_mutex.cpp |
Commit
b5ff187b7b51dd76f881e10c1c2b4033e672fb12
by dvyukovtsan: mmap shadow stack
We used to mmap C++ shadow stack as part of the trace region before ed7f3f5bc9 ("tsan: move shadow stack into ThreadState"), which moved the shadow stack into TLS. This started causing timeouts and OOMs on some of our internal tests that repeatedly create and destroy thousands of threads. Allocate C++ shadow stack with mmap and small pages again. This prevents the observed timeouts and OOMs. But we now need to be more careful with interceptors that run after thread finalization because FuncEntry/Exit and TraceAddEvent all need the shadow stack.
Reviewed By: vitalybuka
Differential Revision: https://reviews.llvm.org/D113786
|
 | compiler-rt/lib/tsan/rtl/tsan_rtl_thread.cpp |
 | compiler-rt/lib/tsan/rtl/tsan_rtl.cpp |
 | compiler-rt/lib/tsan/rtl/tsan_rtl.h |
 | compiler-rt/lib/tsan/rtl/tsan_mman.cpp |
Commit
8ed8d370880b5c4e7bbf52b50791710a9f4f834b
by flo[SCEV] Update SCEVLoopGuardRewriter to hold reference to map. (NFC)
SCEVLoopGuardRewriter doesn't need to copy the rewrite map. It can just hold a const reference instead, to avoid an unnecessary copy.
|
 | llvm/lib/Analysis/ScalarEvolution.cpp |
Commit
a310cbae02248023b11eefc8d1663661ac1f7721
by llvm-dev[X86] Add getAVX512Node helper. NFC.
For AVX512 targets without VLX, we have to widen 128/256-bit vectors to 512-bits to use some specific AVX512 instructions (or some other instructions with predicates etc.).
I've pulled out the widening code from LowerFunnelShift into the helper function, so we can convert some other widening patterns in the future.
|
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
Commit
6e58d14e5b012215007ae375006f5e847a9b61bc
by mydeveloperday[clang-format] [PR52228] clang-format csharp inconsistant nested namespace indentation
https://bugs.llvm.org/show_bug.cgi?id=52228
For multilevel namespaces in C# get their content indented when NamespaceIndentation: None is set, where as single level namespaces are formatted correctly.
Reviewed By: HazardyKnusperkeks, jbcoe
Differential Revision: https://reviews.llvm.org/D112887
|
 | clang/unittests/Format/FormatTestCSharp.cpp |
 | clang/lib/Format/UnwrappedLineParser.cpp |
Commit
33af58937bd2293e9fff44f4aa1a0cdd5cd9455e
by kbessonova[DebugInfo][test] Simplify/improve a few tests using --impicit-check-not=DW_TAG. NFC
This patch rewrites checks in a few debug info tests to avoid using 'CHECK-NOT: {{DW_TAG|NULL}}'. It proposes `--impicit-check-not=DW_TAG` instead, as it makes the checks clearer, and easier to analyze and update.
Differential Revision: https://reviews.llvm.org/D113652
|
 | llvm/test/DebugInfo/X86/gnu-public-names.ll |
 | llvm/test/DebugInfo/Generic/namespace.ll |
 | llvm/test/DebugInfo/X86/align_c11.ll |
 | llvm/test/DebugInfo/Generic/PR20038.ll |
 | llvm/test/DebugInfo/X86/align_cpp11.ll |
 | llvm/test/DebugInfo/X86/align_objc.ll |
Commit
609ccbb2407ff346ffcedd7b8d7937fb98e11a01
by kazu[PowerPC] Use SDNode::uses (NFC)
|
 | llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp |
 | llvm/lib/Target/PowerPC/PPCISelLowering.cpp |
Commit
54172326e09503e2669fd4ab0f0333f52c387bba
by Matthew.ArsenaultAMDGPU: Regenerate test checks
Regenerate with -NEXT checks to make a future diff clearer.
|
 | llvm/test/CodeGen/AMDGPU/sgpr-spill.mir |
Commit
c3a3e65ecc082542080376e917d9c57d22901f6b
by Raphael IsemannRevert "[lldb] Fix that the embedded Python REPL crashes if it receives SIGINT"
This reverts commit cef1e07cc6d00b5b429d77133201e1f404a8023c.
It broke the windows bot.
|
 | lldb/test/API/iohandler/sigint/TestIOHandlerPythonREPLSigint.py |
 | lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp |
Commit
c972175649f4bb50d40d911659a04d5620ce6fe0
by keithbsmiley[VFS] Use original path when falling back to external FS
This is a follow up to 0be9ca7c0f9a733f846bb6bc4e8e36d46b518162 to make paths in the case of falling back to the external file system use the original format, preserving relative paths, and allow the external filesystem to canonicalize them if needed.
Reviewed By: dexonsmith
Differential Revision: https://reviews.llvm.org/D109128
|
 | llvm/include/llvm/Support/VirtualFileSystem.h |
 | llvm/lib/Support/VirtualFileSystem.cpp |
 | clang/test/VFS/relative-path-errors.c |
 | llvm/unittests/Support/VirtualFileSystemTest.cpp |
Commit
b19e823ff9de52f08bb2d35b91305b3c2d3dd0be
by koraq[libc++][NFC] Fixes code alignment.
D112904 fixed some code alignment issues, but it seems only line was omitted. (Found while resolving merge conflicts for my own patches.)
|
 | libcxx/include/vector |
Commit
f0cf544d6f6fe6cbca4c07772998272d6bb433d8
by keithbsmileyRevert "[VFS] Use original path when falling back to external FS"
``` /work/omp-vega20-0/openmp-offload-amdgpu-runtime/llvm.src/llvm/lib/Support/VirtualFileSystem.cpp: In static member function 'static llvm::ErrorOr<std::unique_ptr<llvm::vfs::File> > llvm::vfs::File::getWithPath(llvm::ErrorOr<std::unique_ptr<llvm::vfs::File> >, const llvm::Twine&)': /work/omp-vega20-0/openmp-offload-amdgpu-runtime/llvm.src/llvm/lib/Support/VirtualFileSystem.cpp:2084:10: error: could not convert 'F' from 'std::unique_ptr<llvm::vfs::File>' to 'llvm::ErrorOr<std::unique_ptr<llvm::vfs::File> >' return F; ^ ```
This reverts commit c972175649f4bb50d40d911659a04d5620ce6fe0.
|
 | clang/test/VFS/relative-path-errors.c |
 | llvm/lib/Support/VirtualFileSystem.cpp |
 | llvm/unittests/Support/VirtualFileSystemTest.cpp |
 | llvm/include/llvm/Support/VirtualFileSystem.h |
Commit
d96161a179c7dabad3af0bbf8e899cfe077a8a4b
by david.green[ARM/AArch64] Move REQUIRES after update_cc_test_checks line. NFC
c17d9b4b125e5561925aa added REQUIRES lines to a lot of Arm and AArch64 test, but added them to the very beginning, before the existing update_cc_test_checks lines. This just moves them later so as to not mess up the existing ordering when the checks are regenerated.
|
 | clang/test/CodeGen/arm-mve-intrinsics/vmulhq.c |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_stnt1.c |
 | clang/test/CodeGen/aarch64-neon-sha3.c |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_recpe.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_matmul_fp32.c |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rshrnb.c |
 | clang/test/CodeGen/aarch64-neon-vget-hilo.c |
 | clang/test/CodeGen/arm-mve-intrinsics/vminvq.c |
 | clang/test/CodeGen/arm-mve-intrinsics/vadc.c |
 | clang/test/CodeGen/aarch64-neon-vsqadd-float-conversion.c |
 | clang/test/Sema/arm_vfma.c |
 | clang/test/CodeGen/aarch64-neon-across.c |
 | clang/test/CodeGen/arm-neon-vcvtX.c |
 | clang/test/CodeGen/arm-mve-intrinsics/vector-shift-imm-dyadic.c |
 | clang/test/Sema/aarch64-sve-explicit-casts-fixed-size.c |
 | clang/test/CodeGen/arm-mve-intrinsics/vcvt.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_prfh.c |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_aese.c |
 | clang/test/CodeGen/aarch64-neon-fcvt-intrinsics.c |
 | clang/test/CodeGen/arm-mve-intrinsics/vmaxnmaq.c |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_whilewr.c |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_aesmc.c |
 | clang/test/CodeGen/neon-aapcs-align.c |
 | clang/test/CodeGen/arm-mve-intrinsics/compare.c |
 | clang/test/CodeGen/arm-mve-intrinsics/vclz.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mmla.c |
 | clang/test/CodeGen/aarch64-neon-2velem.c |
 | clang/test/CodeGen/arm-mve-intrinsics/cplusplus.cpp |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_shllb.c |
 | clang/test/CodeGen/arm-mve-intrinsics/vornq.c |
 | clang/test/CodeGen/arm_neon_intrinsics.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_set4.c |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_whilerw-bfloat.c |
 | clang/test/CodeGen/arm-mve-intrinsics/vshlc.c |
 | clang/test/CodeGen/attr-arm-sve-vector-bits-codegen.c |
 | clang/test/CodeGen/arm-mve-intrinsics/vcvt_anpm.c |
 | clang/test/CodeGen/aarch64-neon-vcmla.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create3-bfloat.c |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrshrunb.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip1-fp64-bfloat.c |
 | clang/test/CodeGen/aarch64-neon-scalar-copy.c |
 | clang/test/CodeGen/arm-cde-vfp.c |
 | clang/test/CodeGen/arm-mve-intrinsics/vsubq.c |
 | clang/test/Headers/arm-fp16-header.c |
 | clang/test/CodeGen/arm-mve-intrinsics/vector-shift-imm.c |
 | clang/test/CodeGen/arm-mve-intrinsics/veorq.c |
 | clang/test/Sema/aarch64-neon-bf16-ranges.c |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_stnt1b.c |
 | clang/test/CodeGen/aarch64-neon-scalar-x-indexed-elem.c |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_histcnt.c |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sli.c |
 | clang/test/CodeGen/arm-mve-intrinsics/vaddq.c |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_whilege.c |
 | clang/test/Sema/aarch64-neon-fp16-ranges.c |
 | clang/test/CodeGen/arm-mve-intrinsics/vcmlaq.c |
 | clang/test/CodeGen/arm-mve-intrinsics/vhsubq.c |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sm4e.c |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_maxp.c |
 | clang/test/CodeGen/aarch64-v8.1a-neon-intrinsics.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld2.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set4-bfloat.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip1-fp64.c |
 | clang/test/CodeGen/aarch64-bf16-lane-intrinsics.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip2-fp64-bfloat.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn2-fp64-bfloat.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn2-fp64.c |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_match.c |
 | clang/test/CodeGen/arm64-arguments.c |
 | clang/test/CodeGen/neon-immediate-ubsan.c |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_aesd.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_prfb.c |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_shllt.c |
 | clang/test/CodeGen/arm64_vcreate.c |
 | clang/test/CodeGen/aarch64-neon-range-checks.c |
 | clang/test/CodeGen/arm-mve-intrinsics/bitwise-imm.c |
 | clang/test/CodeGen/aarch64-poly128.c |
 | clang/test/CodeGen/aarch64-neon-fma.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef-bfloat.c |
 | clang/test/CodeGen/arm-mve-intrinsics/vmulq.c |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qxtunt.c |
 | clang/test/CodeGen/aarch64-neon-vcombine.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set2-bfloat.c |
 | clang/test/CodeGen/attr-arm-sve-vector-bits-bitcast.c |
 | clang/test/CodeGen/arm-mve-intrinsics/vrhaddq.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1ro.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef3.c |
 | clang/test/CodeGen/arm-mve-intrinsics/vmaxq.c |
 | clang/test/CodeGen/aarch64-neon-extract.c |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rshr.c |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qshlu.c |
 | clang/test/CodeGen/arm-mve-intrinsics/vminnmaq.c |
 | clang/test/CodeGen/aarch64-poly-add.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp1-bfloat.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_set2.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn1-bfloat.c |
 | clang/test/CodeGen/aarch64-neon-misc.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_matmul_fp64.c |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrshrnt.c |
 | clang/test/CodeGen/arm-mve-intrinsics/ternary.c |
 | clang/test/CodeGen/arm-mve-intrinsics/scalar-shifts.c |
 | clang/test/CodeGen/arm-cde-reinterpret.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st4-bfloat.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_get3.c |
 | clang/test/CodeGen/arm-bf16-dotprod-intrinsics.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef3-bfloat.c |
 | clang/test/CodeGen/arm-mve-intrinsics/get-set-lane.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip1-bfloat.c |
 | clang/test/Sema/aarch64-neon-ranges.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_get2.c |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_logb.c |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_whilegt.c |
 | clang/test/CodeGen/arm-mve-intrinsics/vqrdmulhq.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp1-fp64.c |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_xar.c |
 | clang/test/Sema/arm-no-fp16.c |
 | clang/test/Headers/arm-neon-header.c |
 | clang/test/CodeGen/arm-bf16-params-returns.c |
 | clang/test/CodeGen/arm-mve-intrinsics/vandq.c |
 | clang/test/CodeGen/arm-cde-vec.c |
 | clang/test/CodeGen/arm-mve-intrinsics/vhcaddq.c |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_histseg.c |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qshrunb.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1-bfloat.c |
 | clang/test/Sema/aarch64-sve-lax-vector-conversions.c |
 | clang/test/CodeGen/arm-mve-intrinsics/predicates.c |
 | clang/test/CodeGen/aarch64-bf16-getset-intrinsics.c |
 | clang/test/CodeGen/arm-mve-intrinsics/load-store.c |
 | clang/test/CodeGen/arm-mve-intrinsics/vcmulq.c |
 | clang/test/CodeGen/arm-mve-intrinsics/vbrsrq.c |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_whilerw.c |
 | clang/test/CodeGen/arm-mve-intrinsics/reinterpret.c |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rsra.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1ro-bfloat.c |
 | clang/test/Sema/arm-mve-immediates.c |
 | clang/test/CodeGen/arm64_crypto.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld3-bfloat.c |
 | clang/test/CodeGenCXX/int64_uint64.cpp |
 | clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1-bfloat.c |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_tbx.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create4-bfloat.c |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qshrunt.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld2-bfloat.c |
 | clang/test/Sema/arm64-neon-args.c |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_stnt1h.c |
 | clang/test/CodeGen/arm-mve-intrinsics/vrmulhq.c |
 | clang/test/Sema/big-endian-neon-initializers.c |
 | clang/test/CodeGen/armv7k-abi.c |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_maxnmp.c |
 | clang/test/CodeGen/arm64-vrnd.c |
 | clang/test/CodeGen/aarch64-neon-shifts.c |
 | clang/test/CodeGen/arm-neon-numeric-maxmin.c |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qshrnb.c |
 | clang/test/CodeGen/arm-neon-fma.c |
 | clang/test/CodeGen/aarch64-sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.cpp |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_movlt.c |
 | clang/test/CodeGen/arm64_vdup.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_prfw.c |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cvtlt.c |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qxtnt.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get3-bfloat.c |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cmla.c |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qxtunb.c |
 | clang/test/CodeGen/arm-neon-vget.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp1-fp64-bfloat.c |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrshrunt.c |
 | clang/test/Sema/aarch64-bf16-ldst-intrinsics.c |
 | clang/test/CodeGen/aarch64-neon-tbl.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create2-bfloat.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip2-bfloat.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef2.c |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cadd.c |
 | clang/test/CodeGen/arm-mve-intrinsics/vabavq.c |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cvtxnt.c |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1sb.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set3-bfloat.c |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mls.c |
 | clang/test/CodeGen/arm-neon-directed-rounding.c |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrshrnb.c |
 | clang/test/CodeGen/arm-mve-intrinsics/vminaq.c |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1sh.c |
 | clang/test/CodeGen/arm-mve-intrinsics/vqdmullbq.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn1-fp64-bfloat.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef2-bfloat.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set2.c |
 | clang/test/CodeGen/arm-cde-gpr.c |
 | clang/test/CodeGen/arm-mve-intrinsics/vqdmlad.c |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_movlb.c |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rshrnt.c |
 | clang/test/CodeGen/arm-mve-intrinsics/vmldav.c |
 | clang/test/CodeGen/arm-mve-intrinsics/vrev.c |
 | clang/test/CodeGen/arm-mve-intrinsics/vorrq.c |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rsqrte.c |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_nmatch.c |
 | clang/test/CodeGen/arm-mve-intrinsics/vhaddq.c |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cdot.c |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_whilewr-bfloat.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp2-fp64.c |
 | clang/test/CodeGen/arm-mve-intrinsics/dup.c |
 | clang/test/CodeGen/arm-mve-intrinsics/vmlldav.c |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_adalp.c |
 | clang/test/CodeGen/arm-mve-intrinsics/vcaddq.c |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_tbl2.c |
 | clang/test/CodeGen/arm-mve-intrinsics/vldr.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create4.c |
 | clang/test/Headers/arm-cde-header.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_set3.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef4.c |
 | clang/test/CodeGen/attr-arm-sve-vector-bits-cast.c |
 | clang/test/CodeGen/attr-arm-sve-vector-bits-types.c |
 | clang/test/CodeGen/arm-mve-intrinsics/vqdmulltq.c |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1.c |
 | clang/test/CodeGen/aarch64-neon-vcadd.c |
 | clang/test/CodeGen/arm-mve-intrinsics/vmulltq.c |
 | clang/test/CodeGen/arm64_vcopy.c |
 | clang/test/SemaCXX/aarch64-sve-explicit-casts-fixed-size.cpp |
 | clang/test/CodeGen/aarch64-neon-ldst-one.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1rq-bfloat.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef4-bfloat.c |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qxtnb.c |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addp.c |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cvtnt.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld4.c |
 | clang/test/CodeGen/arm-mve-intrinsics/vminnmq.c |
 | clang/test/Sema/arm-cde-immediates.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rev-bfloat.c |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qabs.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st3-bfloat.c |
 | clang/test/Driver/memtag.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get4-bfloat.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_get4.c |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1uh.c |
 | clang/test/CodeGen/arm-mve-intrinsics/vmullbq.c |
 | clang/test/CodeGen/arm-mve-intrinsics/vaddv.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_stnt1-bfloat.c |
 | clang/test/CodeGen/arm-mve-intrinsics/admin.c |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_aesimc.c |
 | clang/test/CodeGen/neon-crypto.c |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrdcmlah.c |
 | clang/test/CodeGen/arm-mve-intrinsics/vmaxaq.c |
 | clang/test/CodeGenCXX/poly-unsigned.cpp |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qcadd.c |
 | clang/test/CodeGen/arm-poly64.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnf1-bfloat.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set3.c |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1uw.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get2-bfloat.c |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_stnt1w.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnt1-bfloat.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip2-fp64.c |
 | clang/test/CodeGen/arm64_vdupq_n_f64.c |
 | clang/test/CodeGen/arm-neon-vst.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cvtnt.c |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qshrnt.c |
 | clang/test/CodeGen/aarch64-bf16-dotprod-intrinsics.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set4.c |
 | clang/test/CodeGen/arm-mve-intrinsics/vqmovn.c |
 | clang/test/CodeGen/arm-mve-intrinsics/vrnd.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld4-bfloat.c |
 | clang/test/CodeGen/aarch64-neon-intrinsics.c |
 | clang/test/CodeGen/aarch64-neon-vuqadd-float-conversion-warning.c |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qneg.c |
 | clang/test/CodeGen/arm-mve-intrinsics/vabdq.c |
 | clang/test/CodeGen/arm-mve-intrinsics/vbicq.c |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sri.c |
 | clang/test/Sema/arm-bfloat.cpp |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mla.c |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_shrnt.c |
 | clang/test/CodeGen/arm-mve-intrinsics/vmovn.c |
 | clang/test/CodeGen/arm-mve-intrinsics/vqsubq.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_prfd.c |
 | clang/test/CodeGen/aarch64-poly64.c |
 | clang/test/CodeGen/attr-arm-sve-vector-bits-globals.c |
 | clang/test/CodeGen/arm-mve-intrinsics/vmaxnmq.c |
 | clang/test/CodeGen/aarch64-v8.2a-neon-intrinsics-constrained.c |
 | clang/test/CodeGen/aarch64-neon-perm.c |
 | clang/test/CodeGen/arm-neon-vld.c |
 | clang/test/CodeGen/arm-mve-intrinsics/vqaddq.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn2-bfloat.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cvt-bfloat.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldff1-bfloat.c |
 | clang/test/CodeGen/arm-bf16-getset-intrinsics.c |
 | clang/test/CodeGen/arm-mve-intrinsics/absneg.c |
 | clang/test/CodeGen/aarch64-neon-3v.c |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1ub.c |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_minnmp.c |
 | clang/test/CodeGen/aarch64-neon-vget.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create3.c |
 | clang/test/CodeGen/aarch64-sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.c |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sm4ekey.c |
 | clang/test/CodeGen/arm-mve-intrinsics/vld24.c |
 | clang/test/SemaCXX/aarch64-sve-lax-vector-conversions.cpp |
 | clang/test/CodeGen/arm64-lanes.c |
 | clang/test/CodeGen/arm-neon-range-checks.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/negative/big_endian.c |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sra.c |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mul.c |
 | clang/test/CodeGen/attr-arm-sve-vector-bits-call.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st2-bfloat.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp2-bfloat.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld3.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn1-fp64.c |
 | clang/test/CodeGen/arm-mve-intrinsics/vmovl.c |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cvtx.c |
 | clang/test/CodeGen/arm-mve-intrinsics/scatter-gather.c |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_minp.c |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_shrnb.c |
 | clang/test/CodeGen/arm-mve-intrinsics/vminq.c |
 | clang/test/Sema/arm-neon-types.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create2.c |
 | clang/test/CodeGen/aarch64-neon-sm4-sm3.c |
 | clang/test/CodeGen/arm-aapcs-vfp.c |
 | clang/test/CodeGen/arm-mve-intrinsics/vqdmulhq.c |
 | clang/test/Sema/arm64-neon-header.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp2-fp64-bfloat.c |
 | clang/test/CodeGen/aarch64-sve-vector-bits-codegen.c |
 | clang/test/CodeGen/aarch64-fix-cortex-a53-835769.c |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rax1.c |
 | clang/test/CodeGen/arm-mve-intrinsics/idup.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_bfmmla.c |
 | clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1sw.c |
 | clang/test/CodeGen/arm-mve-intrinsics/vector-shift-var.c |
Commit
8ac9d2ae5839172013ac6e9108398902da8a8969
by sam.mccall[clangd] Fix function-arg-placeholder suppression with macros.
While here, unhide function-arg-placeholders flag. It's reasonable to want and maybe we should consider making it default.
Fixes https://github.com/clangd/clangd/issues/922
Differential Revision: https://reviews.llvm.org/D113765
|
 | clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp |
 | clang-tools-extra/clangd/tool/ClangdMain.cpp |
 | clang-tools-extra/clangd/CodeComplete.cpp |
Commit
da4d716ef909a3ff466def5e0d6847e6fb5a6cb3
by jeffniu22[mlir][ods] Fix incorrect name in comment (NFC)
|
 | mlir/tools/mlir-tblgen/OpFormatGen.cpp |
Commit
e96214ddefb98d18c4448604a746657dba1da91f
by joker.ephFix some clang-tidy reports in MLIR (NFC)
Mostly replace uses of `container.size()` with `container.empty()` in conditionals when applicable.
|
 | mlir/lib/Transforms/LoopFusion.cpp |
 | mlir/lib/Transforms/ParallelLoopCollapsing.cpp |
 | mlir/lib/Transforms/NormalizeMemRefs.cpp |
Commit
86e2af8043c7728710a711b623f27425801a36c3
by keithbsmileyreland: [VFS] Use original path when falling back to external FS
This reverts commit f0cf544d6f6fe6cbca4c07772998272d6bb433d8.
Just a small change to fix:
``` /home/buildbot/as-builder-4/llvm-clang-x86_64-expensive-checks-ubuntu/llvm-project/llvm/lib/Support/VirtualFileSystem.cpp: In static member function ‘static llvm::ErrorOr<std::unique_ptr<llvm::vfs::File> > llvm::vfs::File::getWithPath(llvm::ErrorOr<std::unique_ptr<llvm::vfs::File> >, const llvm::Twine&)’: /home/buildbot/as-builder-4/llvm-clang-x86_64-expensive-checks-ubuntu/llvm-project/llvm/lib/Support/VirtualFileSystem.cpp:2084:10: error: could not convert ‘F’ from ‘std::unique_ptr<llvm::vfs::File>’ to ‘llvm::ErrorOr<std::unique_ptr<llvm::vfs::File> >’ return F; ^ ```
Differential Revision: https://reviews.llvm.org/D113832
|
 | llvm/unittests/Support/VirtualFileSystemTest.cpp |
 | llvm/lib/Support/VirtualFileSystem.cpp |
 | llvm/include/llvm/Support/VirtualFileSystem.h |
 | clang/test/VFS/relative-path-errors.c |
Commit
c35e8185d8c170c20e28956e0c9f3c1be895fefb
by github[GVN][NFC] Remove redundant check
The if-check above deleted part guarantees that StoreOffset <= LoadOffset and that StoreOffset + StoreSize >= LoadOffset + LoadSize, and given that LoadOffset + LoadSize > LoadOffset when LoadSize > 0. Thus, this shows StoreOffset + StoreSize > LoadOffset is guaranteed given LoadSize > 0, while it could be meaningless to have a type with nonpositive size, so that the check could be removed.
Part of revision D100179 Reviewed By: nikic
|
 | llvm/lib/Transforms/Utils/VNCoercion.cpp |
Commit
e1933a0488a50eb939210808fc895d374570d891
by Lang Hames[ORC] Initial MachO debugging support (via GDB JIT debug registration interface)
This commit adds a new plugin, GDBJITDebugInfoRegistrationPlugin, that checks for objects containing debug info and registers any debug info found via the GDB JIT registration API.
To enable this registration without redundantly representing non-debug sections this plugin synthesizes a new embedded object within a section of the LinkGraph. An allocation action is used to make the registration call.
Currently MachO only. ELF users can still use the DebugObjectManagerPlugin. The two are likely to be merged in the near future.
|
 | llvm/lib/ExecutionEngine/Orc/CMakeLists.txt |
 | llvm/lib/ExecutionEngine/JITLink/JITLinkMemoryManager.cpp |
 | llvm/test/ExecutionEngine/JITLink/X86/MachO_skip_debug_sections.s |
 | llvm/include/llvm/ExecutionEngine/Orc/DebuggerSupportPlugin.h |
 | llvm/lib/ExecutionEngine/Orc/TargetProcess/JITLoaderGDB.cpp |
 | llvm/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.cpp |
 | llvm/tools/llvm-jitlink/llvm-jitlink.cpp |
 | llvm/lib/ExecutionEngine/Orc/DebuggerSupportPlugin.cpp |
 | llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h |
 | llvm/test/ExecutionEngine/JITLink/X86/MachO_gdb_jit_debuginfo_register.s |
Commit
6a40854ce507b41316b413f2925ec0824923198f
by llvmgnsyncbot[gn build] Port e1933a0488a5
|
 | llvm/utils/gn/secondary/llvm/lib/ExecutionEngine/Orc/BUILD.gn |
Commit
e56d680fe870c293908f7d1ba577d973cc5af5d6
by Vitaly Buka[sanitizer] Fix test for GLIBC 2.31
Newer GLIBC uses sysconf to get SIGSTKSZ.
|
 | compiler-rt/test/sanitizer_common/TestCases/Linux/sysconf_interceptor_bypass_test.cpp |
Commit
7f7cab6bb1d48b53e1fa9ab5a4fd7bcf7f00f19b
by gusrb406[sanitizer][aarch64] fix clone system call's inline assembly
Return value of the system call was not returned normally. It was discussed at https://reviews.llvm.org/D105169.
|
 | compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp |
Commit
7505b7045f7cc887efffee7a312084bd248a1f1e
by kazu[llvm] Use GetElementPtrInst::indices (NFC)
|
 | llvm/lib/Transforms/IPO/AttributorAttributes.cpp |
 | llvm/lib/Target/Hexagon/HexagonCommonGEP.cpp |
 | llvm/lib/Transforms/Scalar/GVN.cpp |
Commit
f55ba3525eb19baed7d3f23638cbbd880246a370
by Lang HamesRevert "[ORC] Initial MachO debugging support (via GDB JIT debug..."
This reverts commit e1933a0488a50eb939210808fc895d374570d891 until I can look into bot failures.
|
 | llvm/lib/ExecutionEngine/Orc/CMakeLists.txt |
 | llvm/include/llvm/ExecutionEngine/Orc/DebuggerSupportPlugin.h |
 | llvm/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.cpp |
 | llvm/lib/ExecutionEngine/Orc/TargetProcess/JITLoaderGDB.cpp |
 | llvm/lib/ExecutionEngine/Orc/DebuggerSupportPlugin.cpp |
 | llvm/test/ExecutionEngine/JITLink/X86/MachO_gdb_jit_debuginfo_register.s |
 | llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h |
 | llvm/tools/llvm-jitlink/llvm-jitlink.cpp |
 | llvm/test/ExecutionEngine/JITLink/X86/MachO_skip_debug_sections.s |
 | llvm/lib/ExecutionEngine/JITLink/JITLinkMemoryManager.cpp |
Commit
ed2b77b068cdb10082c03f44e315831eda9ed264
by llvmgnsyncbot[gn build] Port f55ba3525eb1
|
 | llvm/utils/gn/secondary/llvm/lib/ExecutionEngine/Orc/BUILD.gn |
Commit
7e980c46ed6a9195e221c682f226ac6ad4d227ea
by Vitaly Buka[sanitizer] Another try to fix the test with GLIBC 2.34
|
 | compiler-rt/test/sanitizer_common/TestCases/Linux/sysconf_interceptor_bypass_test.cpp |
Commit
90c5ab54a9dd750c3c9725115c1205b4eba9eeb9
by kbessonova[DwarfCompileUnit] getOrCreateGlobalVariableDIE(): remove outdated comment. NFC
|
 | llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp |
Commit
5b4bfd8c2415cb38983a56007bb424e063778460
by kbessonova[DwarfCompileUnit] getOrCreateCommonBlock(): check for existing entity first. NFCI
For global variables and common blocks there is no way to create entities through getOrCreateContextDIE(), so no need to obtain the context first.
Differential Revision: https://reviews.llvm.org/D113651
|
 | llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp |
Commit
355ee18c5df9364f315f2bfad1793dd54efe6c9b
by david.green[TypePromotion] Extend TypePromotion::isSafeWrap
This modifies the preconditions of TypePromotion's isSafeWrap method, to allow it to work from all constants from the ICmp. Using the code: %a = add %x, C1 %c = icmp ult %a, C2
According to Alive, we can prove that is equivalent to icmp ult (add zext(%x), sext(C1)), zext(C2) given C1 <=s 0 and C1 >s C2. https://alive2.llvm.org/ce/z/CECYZB Which is similar to what is already present. We can also prove icmp ult (add zext(%x), sext(C1)), sext(C2) given C1 <=s 0 and C1 <=s C2. https://alive2.llvm.org/ce/z/KKgyeL
The PrepareWrappingAdds method was removed, and the constants are now altered to sext or zext directly as required by the above methods.
Differential Revision: https://reviews.llvm.org/D113678
|
 | llvm/test/CodeGen/AArch64/typepromotion-overflow.ll |
 | llvm/test/Transforms/TypePromotion/ARM/wrapping.ll |
 | llvm/lib/CodeGen/TypePromotion.cpp |
 | llvm/test/Transforms/TypePromotion/ARM/icmps.ll |
 | llvm/test/Transforms/TypePromotion/ARM/casts.ll |
 | llvm/test/CodeGen/AArch64/and-mask-removal.ll |
 | llvm/test/Transforms/TypePromotion/ARM/clear-structures.ll |
Commit
2c91f48c48c42f9bd730d0791fcb19dbe0038d96
by lebedev.ri[NFC][SROA] Revisit test coverage in non-capturing-call.ll
|
 | llvm/test/Transforms/SROA/non-capturing-call.ll |
Commit
fd24446ba5559b928201c34139e7546d6d4ed0c2
by lebedev.ri[NFC][X86][Costmodel] Improve test coverage for i16->{i32,i64} vector *ext
|
 | llvm/test/Analysis/CostModel/X86/extend.ll |
Commit
17a3df87ffc2c2d2f1307dad7f4fcfc438008050
by lebedev.ri[NFC][X86][Costmodel] Improve test coverage for {i32,i64}->i16 vector *ext
See https://reviews.llvm.org/D113609 - some of these costs seem wrong.
|
 | llvm/test/Analysis/CostModel/X86/trunc.ll |
Commit
f4143ffed76ef8847b42a042f7525cdd7f43d1d7
by llvm-dev[X86] Widen 128/256-bit VPTERNLOG patterns to 512-bit on non-VLX targets
Similar to what we've done for other ops, this patch widens VPTERNLOG to a 512-bit op for non-VLX targets.
Fixes regressions in D113192
Differential Revision: https://reviews.llvm.org/D113827
|
 | llvm/test/CodeGen/X86/vector-fshl-256.ll |
 | llvm/test/CodeGen/X86/vector-fshr-rot-128.ll |
 | llvm/test/CodeGen/X86/vector-fshr-rot-256.ll |
 | llvm/test/CodeGen/X86/vector-rotate-256.ll |
 | llvm/test/CodeGen/X86/combine-bitselect.ll |
 | llvm/test/CodeGen/X86/vector-fshl-rot-128.ll |
 | llvm/test/CodeGen/X86/vector-fshr-256.ll |
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
 | llvm/test/CodeGen/X86/vector-fshl-128.ll |
 | llvm/test/CodeGen/X86/vector-fshr-128.ll |
 | llvm/test/CodeGen/X86/vector-fshl-rot-256.ll |
 | llvm/test/CodeGen/X86/vector-rotate-128.ll |
Commit
fce3eed9f93afac512d809c22234db7be7a9d478
by mydeveloperday[clang-format][c++2b] support removal of the space between auto and {} in P0849R8
Looks like the work of {D113393} requires manual clang-formatting intervention. Removal of the space between `auto` and `{}`
Reviewed By: HazardyKnusperkeks, Quuxplusone
Differential Revision: https://reviews.llvm.org/D113826
|
 | clang/lib/Format/TokenAnnotator.cpp |
 | clang/unittests/Format/FormatTest.cpp |
Commit
254c5246e9204f4d799f41c09068243e3a308177
by spatel[DAGCombiner] match inverted/swapped patterns for vselect of mask of signbit
This was noted as a follow-up to D113212 / D113426: 4fc1fc4005f7 7e30404c3b6c 11522cfcad6b
https://alive2.llvm.org/ce/z/e4o96b
The canonicalization rules for these IR patterns are complicated, and we were not matching the expected forms in 2 out of the 3 cases. We can make codegen more robust by matching the swapped forms (and that will also work if these patterns are created late).
|
 | llvm/test/CodeGen/X86/vselect-zero.ll |
 | llvm/test/CodeGen/AArch64/cmp-select-sign.ll |
 | llvm/test/CodeGen/AArch64/vselect-constants.ll |
 | llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp |
Commit
0662a3612cea579668252571182da7b493b2e124
by mtrofin[NFC][InlineFunction] Renamed some vars to conform to coding style
|
 | llvm/include/llvm/Transforms/Utils/Cloning.h |
 | llvm/lib/Transforms/Utils/InlineFunction.cpp |
Commit
a5f2fdca993eca0ae85e90f987fbbfb3b4aee626
by lebedev.ri[X86][Costmodel] `trunc v16i32 to v32i16` can appear after legalization, cost is same as for `trunc v16i32 to v16i16`
This was noticed in D113609, hopefully it unblocks that patch. There are likely other similar problems.
Reviewed By: RKSimon
Differential Revision: https://reviews.llvm.org/D113842
|
 | llvm/lib/Target/X86/X86TargetTransformInfo.cpp |
 | llvm/test/Analysis/CostModel/X86/trunc.ll |
 | llvm/test/Analysis/CostModel/X86/arith-overflow.ll |
 | llvm/test/Analysis/CostModel/X86/arith-fix.ll |
Commit
b2839610124bd8a3a881a65ab14005c9405479ef
by lebedev.ri[X86][Costmodel] `trunc v8i64 to v16i16/v32i16` can appear after legalization, cost is same as for `trunc v8i64 to v8i16`
Same as D113842, but for i64
Reviewed By: RKSimon
Differential Revision: https://reviews.llvm.org/D113843
|
 | llvm/test/Analysis/CostModel/X86/trunc.ll |
 | llvm/lib/Target/X86/X86TargetTransformInfo.cpp |
Commit
68854f4e572afec802299e36b2db71dfc4cf2f27
by Ahmed Bougacha[IR] Define ptrauth intrinsics.
This defines the new `@llvm.ptrauth.` pointer authentication intrinsics: sign, auth, strip, blend, and sign_generic, documented in PointerAuth.md.
Pointer Authentication is a mechanism by which certain pointers are signed. When a pointer gets signed, a cryptographic hash of its value and other values (pepper and salt) is stored in unused bits of that pointer.
Before the pointer is used, it needs to be authenticated, i.e., have its signature checked. This prevents pointer values of unknown origin from being used to replace the signed pointer value.
sign and auth provide the core operations. strip removes the ptrauth bits from a signed pointer without checking them. sign_generic allows signing non-pointer values. Finally, blend combines salt values ("discriminators") to derive more targeted and less reusable ones.
In later patches, we implement primary backend support for these intrinsics using the AArch64 PAuth feature, and build on that to implement the arm64e Darwin ABI and ELF PAuth ABI Extension in clang.
For more details, see the docs page, as well as our llvm-dev RFC: http://lists.llvm.org/pipermail/llvm-dev/2019-October/136091.html or our 2019 Developers' Meeting talk.
Differential Revision: https://reviews.llvm.org/D90868
|
 | llvm/docs/PointerAuth.md |
 | llvm/docs/LangRef.rst |
 | llvm/docs/Reference.rst |
 | llvm/include/llvm/IR/Intrinsics.td |
Commit
b69dc2d18042ee4ad679fcb9279deb17b752a332
by spatel[InstCombine] add tests for or-xor logic fold; NFC
Baseline tests for D113783
Differential Revision: https://reviews.llvm.org/D113846
|
 | llvm/test/Transforms/InstCombine/or-xor.ll |
Commit
e876698a5dc48697a077ae51455fb3520ed7410d
by lebedev.ri[NFC][TTI] `getReplicationShuffleCost()`: s/Replicated/Dst/
'Replicated' is mouthful and somewhat ambigious, while 'destination' is pretty self-explanatory.
|
 | llvm/lib/Target/X86/X86TargetTransformInfo.cpp |
 | llvm/lib/Target/X86/X86TargetTransformInfo.h |
 | llvm/include/llvm/Analysis/TargetTransformInfoImpl.h |
 | llvm/include/llvm/Analysis/TargetTransformInfo.h |
 | llvm/lib/Analysis/TargetTransformInfo.cpp |
 | llvm/include/llvm/CodeGen/BasicTTIImpl.h |
Commit
4dd2f0446cf5de76c16a2663049a874f5c90ac92
by lebedev.ri[X86][Costmodel] `getReplicationShuffleCost()`: promote 16 bit-wide elements to 32 bit when no AVX512BW
The basic idea is simple, if we don't have native shuffle for this element type, then we must have native shuffle for wider element type, so promote, replicate, demote.
I believe, asking `getCastInstrCost(Instruction::Trunc` is correct semantically, case in point `trunc <32 x i32> to <32 x i8>` aka 2 * ZMM will naively result in 2 * XMM, that then will be packed into 1 * YMM, and it should count the cost of said packing, not just the truncations.
Reviewed By: RKSimon
Differential Revision: https://reviews.llvm.org/D113609
|
 | llvm/test/Analysis/CostModel/X86/shuffle-replication-i16.ll |
 | llvm/lib/Target/X86/X86TargetTransformInfo.cpp |
Commit
f0da329f93cbf5fd315fbfa63807d7a90b0a6275
by lebedev.ri[NFC][X86][Costmodel] Improve test coverage for i8->{i16,i32,i64} vector *ext
|
 | llvm/test/Analysis/CostModel/X86/extend.ll |
Commit
f86b57e37cc69d84a71500e27c294b3dca222f70
by lebedev.ri[NFC][X86][Costmodel] Improve test coverage for {i16,i32,i64}->i8 vector trunc
|
 | llvm/test/Analysis/CostModel/X86/trunc.ll |