Commit
1123e03a9d9401c5203ae55bff533dd4d133d8d2
by yikong[opt-viewer] Use safe yaml load_all
Differential Revision: https://reviews.llvm.org/D112075
|
 | llvm/tools/opt-viewer/optrecord.py |
Commit
d531e5cf58413e34dc006a580d2c109863bddaa1
by shivam98.tkg[LLDB] [NFC] Typo fix in usage text for "type filter" command
When you invoke "help type filter" the resulting help shows:
Syntax: type synthetic [<sub-command-options>]
This patch fixes the help so it says "type filter" instead of "type synthetic".
patch by: "Daniel Jalkut <jalkut@red-sweater.com>"
Reviewed By: teemperor
Differential Revision: https://reviews.llvm.org/D112199
|
 | lldb/source/Commands/CommandObjectType.cpp |
Commit
76db6d80805a70802fa9796ca1a5bb999ff205c7
by eopxd[NFC][LoopIdiom] Add more test case to runtime-determined memset size
This patch supplements missing test case for D107353. - Fix wrong descriptions in 64-bit mode test case - Added testcase under 32-bit mode
Reviewed By: bmahjour
Differential Revision: https://reviews.llvm.org/D108507
|
 | llvm/test/Transforms/LoopIdiom/memset-runtime-64bit.ll |
 | llvm/test/Transforms/LoopIdiom/memset-runtime.ll |
 | llvm/test/Transforms/LoopIdiom/memset-runtime-32bit.ll |
Commit
e4ce92245c96cea9492767d7149eb9e30dee0d16
by clementval[fir] Add Character helper
This patch is extracted from D111337. It introduce the CharacterExprHelper that helps dealing with character in FIR.
Reviewed By: schweitz, awarzynski
Differential Revision: https://reviews.llvm.org/D112140
Co-authored-by: Jean Perier <jperier@nvidia.com> Co-authored-by: Eric Schweitz <eschweitz@nvidia.com> Co-authored-by: V Donaldson <vdonaldson@nvidia.com>
|
 | flang/include/flang/Optimizer/Builder/FIRBuilder.h |
 | flang/unittests/Optimizer/Builder/FIRBuilderTest.cpp |
 | flang/lib/Optimizer/Builder/Character.cpp |
 | flang/unittests/Optimizer/CMakeLists.txt |
 | flang/lib/Optimizer/Builder/CMakeLists.txt |
 | flang/lib/Optimizer/Builder/FIRBuilder.cpp |
 | flang/include/flang/Optimizer/Dialect/FIRType.h |
 | flang/include/flang/Optimizer/Dialect/FIROpsSupport.h |
 | flang/include/flang/Optimizer/Builder/Character.h |
 | flang/unittests/Optimizer/Builder/CharacterTest.cpp |
Commit
46fb5d5ddffdccbd14a09c7dcff63de6fef63c07
by Raphael Isemann[lldb][NFC] clang-format CPlusPlusLanguage.cpp
|
 | lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp |
Commit
9c55e718f537577f2aac9e52b2dce9e01aadd1d7
by springerm[mlir][linalg][bufferize] Bufferize using PostOrder traversal
This is required for bufferization of scf::IfOp, which is added in a subsequent commit.
Some ops (scf::ForOp, TiledLoopOp) require PreOrder traversal to make sure that bbArgs are mapped before bufferizing the loop body.
Differential Revision: https://reviews.llvm.org/D111924
|
 | mlir/lib/Dialect/Linalg/Transforms/ComprehensiveBufferize.cpp |
 | mlir/test/Dialect/Linalg/comprehensive-module-bufferize.mlir |
 | mlir/test/Dialect/Linalg/comprehensive-module-bufferize-invalid.mlir |
Commit
65ef43e288ad1e9fa7a01d2c09a13727f568b870
by springerm[mlir][linalg][bufferize][NFC] Check return value of getResultBuffer
In a subsequent commit, getResultBuffer can return a "null" Value. This is the case when the returned buffer from an scf.if is not unique.
This commit is in preparation for scf.if support to keep the next commit smaller.
Differential Revision: https://reviews.llvm.org/D111927
|
 | mlir/lib/Dialect/Linalg/Transforms/ComprehensiveBufferize.cpp |
Commit
b37e5187f22fc13079a2f6d0684ccc08ecfdf0a8
by qiaopeixin[MLIR][OpenMP] Add support for ordered construct
This patch supports the ordered construct in OpenMP dialect following Section 2.19.9 of the OpenMP 5.1 standard. Also lowering to LLVM IR using OpenMP IRBduiler. Lowering to LLVM IR for ordered simd directive is not supported yet since LLVM optimization passes do not support it for now.
Reviewed By: kiranchandramohan, clementval, ftynse, shraiysh
Differential Revision: https://reviews.llvm.org/D110015
|
 | mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp |
 | mlir/test/Target/LLVMIR/openmp-llvm.mlir |
 | mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp |
 | mlir/test/Dialect/OpenMP/invalid.mlir |
 | mlir/test/Dialect/OpenMP/ops.mlir |
 | mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td |
Commit
92fb574c9f20aef56948c51f4921a92efbb72a5b
by mgorny[lldb] [Host] Add setters for common teletype properties to Terminal
Add setters for common teletype properties to the Terminal class:
- SetRaw() to enable common raw mode options
- SetBaudRate() to set the baud rate
- SetStopBits() to select the number of stop bits
- SetParity() to control parity bit in the output
- SetHardwareControlFlow() to enable or disable hardware control flow (if supported)
Differential Revision: https://reviews.llvm.org/D111030
|
 | lldb/unittests/Host/posix/TerminalTest.cpp |
 | lldb/include/lldb/Host/Terminal.h |
 | lldb/source/Host/common/Terminal.cpp |
Commit
9448cdc90007611659ecbec4dca18a83f06bc4c3
by david.sherwood[SVE][Analysis] Tune the cost model according to the tune-cpu attribute
This patch introduces a new function:
AArch64Subtarget::getVScaleForTuning
that returns a value for vscale that can be used for tuning the cost model when using scalable vectors. The VScaleForTuning option in AArch64Subtarget is initialised according to the following rules:
1. If the user has specified the CPU to tune for we use that, else 2. If the target CPU was specified we use that, else 3. The tuning is set to "generic".
For CPUs of type "generic" I have assumed that vscale=2.
New tests added here:
Analysis/CostModel/AArch64/sve-gather.ll Analysis/CostModel/AArch64/sve-scatter.ll Transforms/LoopVectorize/AArch64/sve-strict-fadd-cost.ll
Differential Revision: https://reviews.llvm.org/D110259
|
 | llvm/lib/Target/AArch64/AArch64Subtarget.h |
 | llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h |
 | llvm/test/Analysis/CostModel/AArch64/sve-gather.ll |
 | llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp |
 | llvm/test/Transforms/LoopVectorize/AArch64/sve-strict-fadd-cost.ll |
 | llvm/lib/Target/AArch64/AArch64Subtarget.cpp |
 | llvm/test/Analysis/CostModel/AArch64/sve-scatter.ll |
 | llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll |
Commit
36ec848dc7186b9713bb69ade134f9b2b7d65070
by springerm[mlir][linalg][bufferize][NFC] Change findValueInReverseUseDefChain signature
This commit is in preparation for scf.if support.
* `condition` in findValueInReverseUseDefChain takes a Value instead of OpOperand*. * Return a SetVector<Value> instead of a single Value. This SetVector always contains exactly one Value at the moment.
Differential Revision: https://reviews.llvm.org/D111928
|
 | mlir/lib/Dialect/Linalg/Transforms/ComprehensiveBufferize.cpp |
Commit
1a8ec24efbae282f39eaacd5b22f37c2d8cad12f
by ybrevnov[NARY-REASSOCIATE][NFC] Simplify min/max handling
In order to explore different variants of reassociation current implementation uses "swap in a loop" approach. Unfortunately, the implementation is more complicated than it could be. This is an attempt to streamline the code. New approach is to extract core functionality into a helper function and call it explicitly as many times as required.
Reviewed By: nikic
Differential Revision: https://reviews.llvm.org/D112128
|
 | llvm/lib/Transforms/Scalar/NaryReassociate.cpp |
Commit
4a7b4beac759ad9001671a61846ee2bfc9076eec
by mgorny[lldb] Add serial:// protocol for connecting to serial port
Add a new serial:// protocol along with SerialPort that provides a new API to open serial ports. The URL consists of serial device path followed by URL-style options, e.g.:
serial:///dev/ttyS0?baud=115200&parity=even
If no options are provided, the serial port is only set to raw mode and the other attributes remain unchanged. Attributes provided via options are modified to the specified values. Upon closing the serial port, its original attributes are restored.
Differential Revision: https://reviews.llvm.org/D111355
|
 | lldb/include/lldb/Host/File.h |
 | lldb/source/Host/common/File.cpp |
 | lldb/source/Host/posix/ConnectionFileDescriptorPosix.cpp |
 | lldb/include/lldb/Host/posix/ConnectionFileDescriptorPosix.h |
 | lldb/test/API/functionalities/gdb_remote_client/gdbclientutils.py |
 | lldb/test/API/functionalities/gdb_remote_client/TestPty.py |
Commit
4745e4178397b387263f2547e13018e3c8ee396c
by mgorny[lldb] [unittest] Disable SetParity() tests on Linux entirely
Attempting to enable PARENB causes tcsetattr() to fail on the Debian and Ubuntu buildbots, so let's skip these tests on Linux entirely.
|
 | lldb/unittests/Host/posix/TerminalTest.cpp |
Commit
cbe789844703fe72d45b15614fa3b350e76f8570
by mgorny[lldb] [Host/Terminal] Add missing #ifdef for baudRateToConst()
|
 | lldb/source/Host/common/Terminal.cpp |
Commit
b8c3683d46f92a693746217542ab4895562fa36c
by mgorny[lldb] [Host/SerialPort] Add std::moves for better compatibility
|
 | lldb/source/Host/common/File.cpp |
Commit
9635b2951da18ade951341f7ec6b9a7b8eb7cba3
by fred[docs] Fix broken link rendering in the LLVM Coding Standards.
|
 | llvm/docs/CodingStandards.rst |
Commit
b471e25a59241b6b60e75494ca7b8d775a4131a2
by fred[clang] Support __float128 on DragonFlyBSD.
Differential Revision: https://reviews.llvm.org/D111760
|
 | clang/lib/Basic/Targets/OSTargets.h |
Commit
7bbd7e9c1d1d7feabe6639b1df4a11e648e2f886
by clementvalRevert "[fir] Add Character helper"
This reverts commit e4ce92245c96cea9492767d7149eb9e30dee0d16.
Buildbots not happy with the tests.
|
 | flang/unittests/Optimizer/Builder/CharacterTest.cpp |
 | flang/include/flang/Optimizer/Builder/Character.h |
 | flang/include/flang/Optimizer/Dialect/FIRType.h |
 | flang/unittests/Optimizer/Builder/FIRBuilderTest.cpp |
 | flang/lib/Optimizer/Builder/Character.cpp |
 | flang/lib/Optimizer/Builder/FIRBuilder.cpp |
 | flang/include/flang/Optimizer/Builder/FIRBuilder.h |
 | flang/lib/Optimizer/Builder/CMakeLists.txt |
 | flang/include/flang/Optimizer/Dialect/FIROpsSupport.h |
 | flang/unittests/Optimizer/CMakeLists.txt |
Commit
49be23a1eb5743fa92a8367b6081674a8a392da3
by mikhail.maltsev[libcxx] Support allocators with explicit c-tors in vector<bool>
std::vector<bool> rebinds the supplied allocator to construct objects of type '__storage_type' rather than 'bool'. Allocators are allowed to use explicit conversion constructors, so care must be taken when performing conversions.
Reviewed By: ldionne, #libc
Differential Revision: https://reviews.llvm.org/D112150
|
 | libcxx/test/std/containers/sequences/vector.bool/insert_iter_value.pass.cpp |
 | libcxx/test/std/containers/sequences/vector.bool/insert_iter_iter_iter.pass.cpp |
 | libcxx/test/std/containers/sequences/vector.bool/insert_iter_size_value.pass.cpp |
 | libcxx/test/std/containers/sequences/vector.bool/reserve.pass.cpp |
 | libcxx/include/vector |
 | libcxx/test/std/containers/sequences/vector.bool/resize_size.pass.cpp |
Commit
05a2d1766864f60210d8f337a7ea709fa0707b53
by mikhail.maltsev[libcxx] Throw correct exception from std::vector::reserve
According to the standard [vector.capacity]/5, std::vector<T>::reserve shall throw an exception of type std::length_error when the requested capacity exceeds max_size().
This behavior is not implemented correctly: the function 'reserve' simply propagates the exception from allocator<T>::allocate. Before D110846 that exception used to be of type std::length_error (which is correct for vector<T>::reserve, but incorrect for allocator<T>::allocate).
This patch fixes the issue and adds regression tests.
Reviewed By: Quuxplusone, ldionne, #libc
Differential Revision: https://reviews.llvm.org/D112068
|
 | libcxx/test/std/containers/sequences/vector.bool/reserve.pass.cpp |
 | libcxx/include/vector |
 | libcxx/test/std/containers/sequences/vector/vector.capacity/reserve.pass.cpp |
Commit
9ba5bb43099db70031e0df6a438e7cb56fb05540
by dawid_jurek[NFC][LoopIdiom] Make for loops more readable
Patch simplifies for loops in LIR following LLVM guidelines: https://llvm.org/docs/CodingStandards.html#use-range-based-for-loops-wherever-possible.
Differential Revision: https://reviews.llvm.org/D112077
|
 | llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp |
Commit
5a3556aa5563fb89693935303463881df44094de
by jarin[lldb] Add omitted abstract formal parameters in DWARF symbol files
This patch fixes a problem introduced by clang change https://reviews.llvm.org/D95617 and described by https://bugs.llvm.org/show_bug.cgi?id=50076#c6, where inlined functions omit unused parameters both in the stack trace and in `frame var` command. With this patch, the parameters are listed correctly in the stack trace and in `frame var` command.
Specifically, we parse formal parameters from the abstract version of inlined functions and use those formal parameters if they are missing from the concrete version.
Differential Revision: https://reviews.llvm.org/D110571
|
 | lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h |
 | lldb/test/API/functionalities/unused-inlined-parameters/Makefile |
 | lldb/test/Shell/SymbolFile/DWARF/x86/unused-inlined-params.test |
 | lldb/test/API/functionalities/unused-inlined-parameters/main.c |
 | lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp |
 | lldb/test/API/functionalities/unused-inlined-parameters/TestUnusedInlinedParameters.py |
 | lldb/test/Shell/SymbolFile/DWARF/x86/Inputs/unused-inlined-params.s |
Commit
376c1389f6f33615871cbbe986b75372cd411616
by akuegel[mlir] Use empty() calls where possible.
These are based on findings from the ClangTidy readability-container-size-empty check.
|
 | mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp |
Commit
898e80964c950fb49a133ff6018079fe8a7c922b
by benny.kra[mlir] Fix a crash when creating a 1d zero element LLVM constant
Fixes a regression introduced in f9be7a7afda3c90b99c9f50e5eff1624da5a6511
Differential Revision: https://reviews.llvm.org/D112208
|
 | mlir/lib/Target/LLVMIR/ModuleTranslation.cpp |
 | mlir/test/Target/LLVMIR/llvmir.mlir |
Commit
2ace1e5753a49195ca17f3e175c7e189cf147760
by pavel[lldb] Remove ConstString from GetPluginNameStatic of some plugins
This patch deals with ObjectFile, ObjectContainer and OperatingSystem plugins. I'll convert the other types in separate patches.
In order to enable piecemeal conversion, I am leaving some ConstStrings in the lowest PluginManager layers. I'll convert those as the last step.
Differential Revision: https://reviews.llvm.org/D112061
|
 | lldb/source/Plugins/ObjectFile/PDB/ObjectFilePDB.cpp |
 | lldb/source/Plugins/ObjectFile/wasm/ObjectFileWasm.h |
 | lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp |
 | lldb/source/Commands/CommandObjectProcess.cpp |
 | lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.cpp |
 | lldb/source/Plugins/ObjectFile/Breakpad/ObjectFileBreakpad.cpp |
 | lldb/source/Target/OperatingSystem.cpp |
 | lldb/source/Plugins/ObjectContainer/Universal-Mach-O/ObjectContainerUniversalMachO.h |
 | lldb/source/API/SBProcess.cpp |
 | lldb/source/Plugins/ObjectFile/JIT/ObjectFileJIT.h |
 | lldb/source/Plugins/ObjectFile/wasm/ObjectFileWasm.cpp |
 | lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.h |
 | lldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.h |
 | lldb/source/Plugins/ObjectFile/Minidump/ObjectFileMinidump.h |
 | lldb/source/Core/PluginManager.cpp |
 | lldb/source/Plugins/ObjectFile/Minidump/ObjectFileMinidump.cpp |
 | lldb/source/Plugins/ObjectContainer/Universal-Mach-O/ObjectContainerUniversalMachO.cpp |
 | lldb/source/Plugins/ObjectFile/PDB/ObjectFilePDB.h |
 | lldb/source/Plugins/ObjectFile/Breakpad/ObjectFileBreakpad.h |
 | lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp |
 | lldb/include/lldb/Core/PluginManager.h |
 | lldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.cpp |
 | lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp |
 | lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h |
 | lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.h |
 | lldb/source/Plugins/ObjectFile/JIT/ObjectFileJIT.cpp |
 | lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.h |
Commit
39724158d38766f7d8683f78f54d80d174cae96a
by benny.kra[lldb] Silence -Wpessimizing-move warning
lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp:3635:10: error: moving a local object in a return statement prevents copy elision [-Werror,-Wpessimizing-move] return std::move(merged); ^
|
 | lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp |
Commit
aad244dfc566236e9d3ef48c7aea3616bb6aab14
by aaronRevert "AddGlobalAnnotations for function with or without function body."
This reverts commit 121b2252de0eed68f2ddf5f09e924a6c35423d47.
The following code causes a crash in some circumstances:
struct k { ~k() __attribute__((annotate(""))) {} }; void m() { k(); }
|
 | clang/lib/CodeGen/CodeGenModule.cpp |
 | clang/test/CodeGen/annotations-global.c |
 | clang/test/CodeGenCXX/attr-annotate.cpp |
Commit
954d77b98dd69c6bcf808e3dac871171d4832bad
by Jan Svoboda[clang][deps] Ensure reported context hash is strict
One of main goals of the dependency scanner is to be strict about module compatibility. This is achieved through strict context hash. This patch ensures that strict context hash is enabled not only during the scan itself (and its minimized implicit build), but also when actually reporting the dependency.
Reviewed By: dexonsmith
Differential Revision: https://reviews.llvm.org/D111720
|
 | clang/test/ClangScanDeps/Inputs/modules-context-hash/module.modulemap |
 | clang/test/ClangScanDeps/modules-context-hash.c |
 | clang/test/ClangScanDeps/Inputs/modules-context-hash/cdb.json.template |
 | clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp |
 | clang/test/ClangScanDeps/Inputs/modules-context-hash/mod.h |
 | clang/test/ClangScanDeps/Inputs/modules-context-hash/b/dep.h |
 | clang/test/ClangScanDeps/Inputs/modules-context-hash/tu.c |
 | clang/test/ClangScanDeps/Inputs/modules-context-hash/a/dep.h |
Commit
24616664afd455d7fde9cf4c631ff30347196bbc
by Jan Svoboda[clang][deps] NFC: Remove redundant CompilerInstance reference
The `ModuleDepCollectorPP` class holds a reference to `ModuleDepCollector` as well as `ModuleDepCollector`'s `CompilerInstance`. The fact that these refer to the same object is non-obvious.
This patch removes the `CompilerInvocation` reference from `ModuleDepCollectorPP` and accesses it through `ModuleDepCollector` instead.
Reviewed By: dexonsmith
Differential Revision: https://reviews.llvm.org/D111724
|
 | clang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h |
 | clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp |
Commit
207e9fdea704dd8c6db077971d958abb8b4d6d84
by Jan Svoboda[clang][deps] NFC: Rename scanning CompilerInstance
The dependency scanner works with multiple instances of `Compiler{Instance,Invocation}`. From names of the variables/members, their purpose is not obvious.
This patch gives a distinct name to the `CompilerInstance` that's used to run the implicit build during dependency scan.
Depends on D111724.
Reviewed By: dexonsmith
Differential Revision: https://reviews.llvm.org/D111725
|
 | clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp |
 | clang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h |
 | clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp |
Commit
c62220f9623dde699b88baf47c0a3dca400767fb
by Jan Svoboda[clang][deps] NFC: Rename building CompilerInvocation
The dependency scanner works with multiple instances of `Compiler{Instance,Invocation}`. From names of the variables/members, their purpose is not obvious.
This patch gives descriptive name to the generated `CompilerInvocation` that can be used to derive the command-line to build a modular dependency.
Depends on D111725.
Reviewed By: dexonsmith
Differential Revision: https://reviews.llvm.org/D111728
|
 | clang/tools/clang-scan-deps/ClangScanDeps.cpp |
 | clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp |
 | clang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h |
Commit
9bfe7af1597661b5ff5102605b65ff288071a394
by david.green[ARM] Add new abs test. NFC
|
 | llvm/test/CodeGen/Thumb2/abs.ll |
Commit
302a165e18fda8318e9e1ce6f452a48925cb3857
by simon[MIPS] Fix switching between 32/64-bit variants of r6 target triples
If clang driver gets 64-bit r6 target triple like `mipsisa64r6` and additional option forces switching to generation of 32-bit code, it loses r6 abi and generates 32-bit r2-r5 abi code.
``` $ clang -target mipsisa64r6-linux-gnu -mabi=32 ```
This patch fixes the problem.
- Add optional `SubArchType` argument to the `Triple::setArch()` method. - Implement generation of mips r6 target triples in the `Triple::getArchName()` method.
Differential Revision: https://reviews.llvm.org/D110514.diff
|
 | llvm/lib/Support/Triple.cpp |
 | llvm/include/llvm/ADT/Triple.h |
 | llvm/unittests/ADT/TripleTest.cpp |
Commit
0d153df69e8fe28bdf7e65195d3708f331106088
by kerry.mclaughlin[SVE] Fix selection failure when splitting extended masked loads
When splitting a masked load, `GetDependentSplitDestVTs` is used to get the MemVTs of the high and low parts. If the masked load is extended, this may return VTs with different element types which are used to create the high & low masked load instructions. This patch changes `GetDependentSplitDestVTs` to ensure we return VTs with the same element type.
Reviewed By: david-arm
Differential Revision: https://reviews.llvm.org/D111996
|
 | llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp |
 | llvm/test/CodeGen/AArch64/sve-masked-ldst-sext.ll |
 | llvm/test/CodeGen/AArch64/sve-masked-ldst-zext.ll |
Commit
6c88086ba8046884bb30a72ae1a8bea95e46f022
by pavel[lldb] Fix a thinko in 2ace1e57
An empty plugin name means we should try everything.
Picked up by the windows bot.
|
 | lldb/source/Core/PluginManager.cpp |
Commit
b8b14b682c339c9ab85360d24ba9b888d52fdfbb
by Jan Svoboda[clang][deps] Make resource directory deduction configurable
The `clang-scan-deps` CLI tool invokes the compiler with `-print-resource-dir` in case the `-resource-dir` argument is missing from the compilation command line. This is to enable running the tool on compilation databases that use compiler from a different toolchain than `clang-scan-deps` itself. While this doesn't make sense when scanning modular builds (due to the `-cc1` arguments the tool generates), the tool can can be used to efficiently scan for file dependencies of non-modular builds too.
This patch stops deducing the resource directory by invoking the compiler by default. This mode can still be enabled by invoking `clang-scan-deps` with `--resource-dir-recipe invoke-compiler`. The new default is `--resource-dir-recipe modify-compiler-path` which relies on the resource directory deduction taking place in `Driver::Driver` which is based on the compiler path. This makes the default more aligned with the intended usage of the tool while still allowing it to serve other use-cases.
Note that this functionality was also influenced by D108979, where the dependency scanner stopped going through `ClangTool::run`. The function tried to deduce the resource directory based on the current executable path, which might not be what the users expect when invoked from within a shared library.
Depends on D108979.
Reviewed By: dexonsmith
Differential Revision: https://reviews.llvm.org/D108366
|
 | clang/tools/clang-scan-deps/ClangScanDeps.cpp |
 | clang/test/ClangScanDeps/Inputs/resource_directory/module.modulemap |
 | clang/test/ClangScanDeps/resource_directory.c |
 | clang/test/ClangScanDeps/Inputs/resource_directory/compiler |
 | clang/test/ClangScanDeps/Inputs/resource_directory/mod.h |
 | clang/test/ClangScanDeps/Inputs/resource_directory/cdb.json.template |
 | clang/test/ClangScanDeps/Inputs/resource_directory/tu.c |
Commit
7ff4f48adb26429086d6fd85a14336e57cd340dc
by jonathanchesterfieldRelax assert in ExprConstant to a return None.
Fixes a compiler assert on passing a compile time integer to atomic builtins.
Assert introduced in D61522 Function changed from ->bool to ->Optional in D76646 Simplifies call sites to getIntegerConstantExpr to elide the now-redundant isValueDependent checks.
Reviewed By: aaron.ballman
Differential Revision: https://reviews.llvm.org/D112159
|
 | clang/lib/Sema/SemaType.cpp |
 | clang/lib/Sema/SemaDeclAttr.cpp |
 | clang/lib/AST/ExprConstant.cpp |
 | clang/lib/Sema/SemaExprCXX.cpp |
 | clang/test/SemaTemplate/atomics.cpp |
 | clang/lib/Sema/SemaAttr.cpp |
 | clang/lib/Sema/SemaTemplateDeduction.cpp |
Commit
c5501a7a5c582168d1b12335c092bce53b32022d
by springerm[mlir][linalg][bufferize] Eliminate InitTensorOps of InsertSliceOp sources
An InitTensorOp is replaced with an ExtractSliceOp on the InsertSliceOp's destination. This optimization is applied after analysis and only to InsertSliceOps that were decided to bufferize inplace. Another analysis on the new ExtractSliceOp is needed after the rewrite.
Differential Revision: https://reviews.llvm.org/D111955
|
 | mlir/test/Dialect/Linalg/comprehensive-module-bufferize.mlir |
 | mlir/test/Dialect/Linalg/comprehensive-module-bufferize-analysis.mlir |
 | mlir/lib/Dialect/Linalg/Transforms/ComprehensiveBufferize.cpp |
Commit
7a7e93f1225c21b842171d3463bf2158c681dabf
by springerm[mlir][linalg][bufferize] Avoid creating copies that are never read
Differential Revision: https://reviews.llvm.org/D111956
|
 | mlir/test/Dialect/Linalg/comprehensive-module-bufferize.mlir |
 | mlir/lib/Dialect/Linalg/Transforms/ComprehensiveBufferize.cpp |
Commit
94213bc7decb1d4c131fb6feb5101e859640478f
by springerm[mlir][linalg][bufferize] Fix bug in getInplaceableOpResult
Differential Revision: https://reviews.llvm.org/D112123
|
 | mlir/lib/Dialect/Linalg/Transforms/ComprehensiveBufferize.cpp |
Commit
5f8228d310627889716b51e1acd5840ec653d899
by springerm[mlir][linalg][bufferize] Fix bufferizesToMemoryWrite for TiledLoopOp
This is the same fix as for scf.for.
Differential Revision: https://reviews.llvm.org/D112218
|
 | mlir/lib/Dialect/Linalg/Transforms/ComprehensiveBufferize.cpp |
Commit
3ea7877c8b62ba100e7b34dbf4afa0171d5b4705
by a.bataev[SLP]Unify vectorization of PHI and store nodes with improved tiny tree vectorization.
Vectorization of PHIs and stores very similar, it might be beneficial to try to revectorize stores (like PHIs) if the total number of stores with the same/alternate opcode is less than the vector size but number of stores with the same type is larger than the vector size.
Differential Revision: https://reviews.llvm.org/D109831
|
 | llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp |
 | llvm/test/Transforms/SLPVectorizer/X86/tiny-tree.ll |
Commit
fa111d30855ee4d74a4b87672ea50d03a74ad85f
by anirudh_prasad[SystemZ][z/OS] Additional test coverage for validating dialect instructions for SystemZ
- There are certain instructions most notably those with extended mnemonics that restricted to only the gnu/att variant - There are also certain instruction aliases/mnemonic aliases that are restricted only to the HLASM variant (see https://reviews.llvm.org/D97581, https://reviews.llvm.org/D94250 and https://reviews.llvm.org/D92185 for reference) - This patch adds a few tests to check for the behaviour introduced in the above patches. The testing coverage could not be added in at the same time, due to parallel work being done introducing the HLASM syntax
Reviewed By: uweigand, abhina.sreeskantharajan
Differential Revision: https://reviews.llvm.org/D112172
|
 | llvm/test/MC/SystemZ/insn-bad-zos-z13.s |
 | llvm/test/MC/SystemZ/insn-bad-zos-z15.s |
 | llvm/test/MC/SystemZ/insn-good-zos-pcrel.s |
 | llvm/test/MC/SystemZ/insn-bad-zos-z14.s |
 | llvm/test/MC/SystemZ/insn-bad-zos.s |
 | llvm/test/MC/SystemZ/insn-bad-zos-z196.s |
Commit
d2198771e9ccbae27a487cdca67720eee71cea2a
by spatel[DAGCombiner] fold bit-hack form of usubsat
(i8 X ^ 128) & (i8 X s>> 7) --> usubsat X, 128
I haven't found a generalization of this identity: https://alive2.llvm.org/ce/z/_sriEQ
Note: I was actually looking at the first form of the pattern in that link, but that's part of a long chain of potential missed transforms in codegen and IR....that I hope ends here!
The predicates for when this is profitable are a bit tricky. This version of the patch excludes multi-use but includes custom lowering (as opposed to legal only).
On x86 for example, we have custom lowering for some vector types, and that uses umax and sub. So to enable that fold, we need add use checks to avoid regressions. Even with legal-only lowering, we could see code with extra reg move instructions for extra uses, so that constraint would have to be eased very carefully to avoid penalties.
Differential Revision: https://reviews.llvm.org/D112085
|
 | llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp |
 | llvm/test/CodeGen/AMDGPU/usubsat.ll |
 | llvm/test/CodeGen/X86/psubus.ll |
Commit
aa3519f178fc6ea563f950a4077b34d8dc6c4470
by anirudh_prasad[SystemZ][z/OS] Initial implementation for lowerCall on z/OS
- This patch provides the initial implementation for lowering a call on z/OS according to the XPLINK64 calling convention - A series of changes have been made to SystemZCallingConv.td to account for these additional XPLINK64 changes including adding a new helper function to shadow the stack along with allocation of a register wherever appropriate - For the cases of copying a f64 to a gr64 and a f128 / 128-bit vector type to a gr64, a `CCBitConvertToType` has been added and has been bitcasted appropriately in the lowering phase - Support for the ADA register (R5) will be provided in a later patch.
Reviewed By: uweigand
Differential Revision: https://reviews.llvm.org/D111662
|
 | llvm/lib/Target/SystemZ/SystemZCallingConv.cpp |
 | llvm/test/CodeGen/SystemZ/call-zos-vec.ll |
 | llvm/lib/Target/SystemZ/SystemZISelLowering.cpp |
 | llvm/test/CodeGen/SystemZ/call-zos-vararg.ll |
 | llvm/lib/Target/SystemZ/SystemZCallingConv.h |
 | llvm/lib/Target/SystemZ/SystemZRegisterInfo.h |
 | llvm/test/CodeGen/SystemZ/call-zos-01.ll |
 | llvm/lib/Target/TargetMachine.cpp |
 | llvm/lib/Target/SystemZ/SystemZCallingConv.td |
Commit
72117f2ffeb6a096a808c34ec7ebee122c2d2e21
by Louis Dionne[runtimes] Properly handle the sysroot/triple/gcc-toolchain
In 395271a, I simplified how we handled the target triple for the runtimes. However, in doing so, we stopped considering the default in CMAKE_CXX_COMPILER_TARGET, so we'd use the LLVM_DEFAULT_TARGET_TRIPLE (which is the host triple) even if CMAKE_CXX_COMPILER_TARGET was specified. This commit fixes that problem and also refactors the code so that it's easy to see what the default value is.
The fact that nobody seems to have been broken by this makes me think that perhaps nobody is using CMAKE_CXX_COMPILER_TARGET to specify the triple -- but it should still work.
Differential Revision: https://reviews.llvm.org/D111672
|
 | libcxx/CMakeLists.txt |
 | libcxxabi/CMakeLists.txt |
 | libunwind/CMakeLists.txt |
Commit
88303693ce97cf842f0714068c2cae44cd6515e1
by kbobyrevDo not downcast uint64_t to unsigned in UniqueID hash computation
Context: https://reviews.llvm.org/D110925#inline-1070046
|
 | llvm/include/llvm/Support/FileSystem/UniqueID.h |
Commit
6b560a8e235b4f610cce6a2db8188f42ce65c5fb
by spatel[InstCombine] add tests for DeMorgan with reassociation; NFC
These are direct mutations of the tests added for D112108 - we should handle the sibling folds for 'or'.
|
 | llvm/test/Transforms/InstCombine/and-xor-or.ll |
Commit
3888de9507c78d3d77a4f565f30a3bf1b2fce690
by spatel[InstCombine] generalize reassociated Demorgan folds
This updates the recent D112108 / b92412fb286be26d to handle the flipped logic ('or') sibling: https://alive2.llvm.org/ce/z/Y2L6Ch
|
 | llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp |
 | llvm/test/Transforms/InstCombine/and-xor-or.ll |
Commit
a602c2b51dccc756c12e7585c34710aeaef54e0b
by jonathanchesterfield[libomptarget][DeviceRTL] Generalise and simplify cmakelists
Step towards building the DeviceRTL for amdgpu.
Mostly replaces cuda-specific toolchain finding logic with the generic logic currently found in the amdgpu deviceRTL cmake. Also deletes dead code and changes the default to build on systems without cuda installed, as the library doesn't use cuda and the amdgpu-only systems generally won't have cuda installed.
Reviewed By: Meinersbur
Differential Revision: https://reviews.llvm.org/D111983
|
 | openmp/libomptarget/DeviceRTL/CMakeLists.txt |
Commit
203accf0bdde1d276646c79dfa605ee3426f1ca8
by nicolas.vasilache[mlir][Linalg] Improve conv vectorization for the stride==1 case.
In the stride == 1 case, conv1d reads contiguous data along the input dimension. This can be advantageaously used to bulk memory transfers and compute while avoiding unrolling. Experimentally, this can yield speedups of up to 50%.
Reviewed By: antiagainst
Differential Revision: https://reviews.llvm.org/D112139
|
 | mlir/test/Dialect/Linalg/vectorize-convolution.mlir |
 | mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp |
Commit
5c72323141e4c2935492a9aca728d549c7e544ab
by Lang Hames[ORC-RT] Remove stray printf debugging output.
These were accidentally picked up in an earlier commit.
|
 | compiler-rt/lib/orc/macho_platform.cpp |
Commit
77fdc0e56bf9463b432f1a2073ac506a8df9b652
by jezng[lld-macho] Simplify lc-linker-option.ll and re-enable it on Windows
While attempting to simplify it, I discovered a concerning discrepancy between our handling of LC_LINKER_OPTION vs ld64's. In particular, ld64 does not appear to check for `-all_load` nor `-ObjC` when processing those options. Thus, if/when we fix this behavior, no duplicate symbol error will be expected regardless of the use-after-free. As such, I've removed the test logic that tries to induce the duplicate symbol error. We can just rely on ASAN to do the verification.
In order to make the test run on Windows, I've removed the symlink logic. Both ld64 and LLD handle this un-symlinked framework just fine.
I also capitalized the framework name, since that's the typical convention.
Reviewed By: #lld-macho, oontvoo
Differential Revision: https://reviews.llvm.org/D112195
|
 | lld/test/MachO/lc-linker-option.ll |
Commit
56df1d80e2911a8cd23b70e9b7e76fcb386c7956
by koraq[libc++] Use addressof in vector.
This addresses the usage of `operator&` in `<vector>`.
I now added tests for the current offending cases. I wonder whether it would be better to add one addressof test per directory and test all possible violations. Also to guard against possible future errors?
(Note there are still more headers with the same issue.)
Reviewed By: #libc, ldionne
Differential Revision: https://reviews.llvm.org/D111961
|
 | libcxx/test/std/containers/sequences/vector/vector.special/swap.addressof.compile.pass.cpp |
 | libcxx/test/std/containers/sequences/vector/vector.modifiers/erase_iter.addressof.compile.pass.cpp |
 | libcxx/test/std/containers/sequences/vector/vector.modifiers/erase_iter_iter.addressof.compile.pass.cpp |
 | libcxx/test/std/containers/sequences/vector/vector.cons/assign_move.addressof.compile.pass.cpp |
 | libcxx/test/std/containers/sequences/vector/vector.modifiers/insert_iter_value.addressof.compile.pass.cpp |
 | libcxx/test/std/containers/sequences/vector/vector.modifiers/insert_iter_rvalue.addressof.compile.pass.cpp |
 | libcxx/include/__iterator/wrap_iter.h |
 | libcxx/include/vector |
 | libcxx/test/std/containers/sequences/vector/vector.modifiers/insert_iter_iter_iter.addressof.compile.pass.cpp |
 | libcxx/test/std/containers/sequences/vector/vector.modifiers/insert_iter_size_value.addressof.compile.pass.cpp |
 | libcxx/test/std/containers/sequences/vector/vector.modifiers/emplace.addressof.compile.pass.cpp |
 | libcxx/test/std/containers/sequences/vector/vector.cons/move.addressof.compile.pass.cpp |
Commit
b396010240cda92f5fcfa30cba1b9ad905561eae
by yhs[Clang] Support typedef with btf_decl_tag attributes
Previously, btf_del_tag attribute supports record, field, global variable, function and function parameter ([1], [2]). This patch added support for typedef. The main reason is for typedef of an anonymous struct/union, we can only apply btf_decl_tag attribute to the anonymous struct/union like below: typedef struct { ... } __btf_decl_tag target_type In this case, the __btf_decl_tag attribute applies to anonymous struct, which increases downstream implementation complexity. But if typedef with btf_decl_tag attribute is supported, we can have typedef struct { ... } target_type __btf_decl_tag which applies __btf_decl_tag to typedef "target_type" which make it easier to directly associate btf_decl_tag with a named type. This patch permitted btf_decl_tag with typedef types with this reason.
[1] https://reviews.llvm.org/D106614 [2] https://reviews.llvm.org/D111588
Differential Revision: https://reviews.llvm.org/D110127
|
 | clang/include/clang/Basic/AttrDocs.td |
 | clang/test/Misc/pragma-attribute-supported-attributes-list.test |
 | clang/include/clang/Basic/Attr.td |
 | clang/test/Sema/attr-btf_tag.c |
Commit
f6811cec84218912d1c7c9b0b8d308834e6e24e3
by yhs[DebugInfo] Support typedef with btf_decl_tag attributes
Clang patch ([1]) added support for btf_decl_tag attributes with typedef types. This patch added llvm support including dwarf generation. For example, for typedef typedef unsigned * __u __attribute__((btf_decl_tag("tag1"))); __u u; the following shows llvm-dwarfdump result: 0x00000033: DW_TAG_typedef DW_AT_type (0x00000048 "unsigned int *") DW_AT_name ("__u") DW_AT_decl_file ("/home/yhs/work/tests/llvm/btf_tag/t.c") DW_AT_decl_line (1)
0x0000003e: DW_TAG_LLVM_annotation DW_AT_name ("btf_decl_tag") DW_AT_const_value ("tag1")
0x00000047: NULL
[1] https://reviews.llvm.org/D110127
Differential Revision: https://reviews.llvm.org/D110129
|
 | clang/test/CodeGen/attr-btf_tag-typedef.c |
 | clang/lib/CodeGen/CGDebugInfo.cpp |
 | llvm/include/llvm/IR/DIBuilder.h |
 | llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp |
 | llvm/lib/IR/DIBuilder.cpp |
 | llvm/test/Bitcode/attr-btf_tag-typedef.ll |
 | llvm/test/DebugInfo/X86/attr-btf_tag-typedef.ll |
Commit
dccfaddc6bcc711bd972b43bff5ce6d71c1b39dc
by kazu[clang] Use StringRef::contains (NFC)
|
 | clang/lib/CodeGen/TargetInfo.cpp |
 | clang/utils/TableGen/RISCVVEmitter.cpp |
 | clang/lib/ARCMigrate/Transforms.cpp |
 | clang/lib/CodeGen/CodeGenFunction.cpp |
 | clang/utils/TableGen/NeonEmitter.cpp |
 | clang/lib/Analysis/RetainSummaryManager.cpp |
 | clang/lib/ASTMatchers/ASTMatchersInternal.cpp |
 | clang/lib/Lex/LiteralSupport.cpp |
 | clang/lib/AST/Expr.cpp |
 | clang/utils/TableGen/ClangASTPropertiesEmitter.cpp |
 | clang/lib/Rewrite/Rewriter.cpp |
 | clang/lib/ARCMigrate/TransUnbridgedCasts.cpp |
 | clang/lib/Lex/HeaderSearch.cpp |
 | clang/lib/ARCMigrate/ObjCMT.cpp |
Commit
b8da594750762f811283820c19b02cedfb6632d4
by blangmuirReapply [ORC-RT] Configure the ORC runtime for more architectures and platforms
Reapply 5692ed0cce8c95, but with the ORC runtime disabled explicitly on CrossWinToARMLinux to match the other compiler-rt runtime libraries.
Differential Revision: https://reviews.llvm.org/D112229
---
Enable building the ORC runtime for 64-bit and 32-bit ARM architectures, and for all Darwin embedded platforms (iOS, tvOS, and watchOS). This covers building the cross-platform code, but does not add TLV runtime support for the new architectures, which can be added independently.
Incidentally, stop building the Mach-O TLS support file unnecessarily on other platforms.
Differential Revision: https://reviews.llvm.org/D112111
|
 | compiler-rt/lib/orc/elfnix_tls.x86-64.S |
 | compiler-rt/lib/orc/macho_tlv.x86-64.S |
 | clang/cmake/caches/CrossWinToARMLinux.cmake |
 | compiler-rt/cmake/config-ix.cmake |
 | compiler-rt/lib/orc/simple_packed_serialization.h |
 | compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake |
 | compiler-rt/lib/orc/CMakeLists.txt |
Commit
2dcad7754a204d5dbb78fef8f6b13cd005456e33
by aeubanks[clang] Don't clear AST if we have consumers running after the main action
Downstream users may have Clang plugins. By default these plugins run after the main action if they are specified on the command line.
Since these plugins are ASTConsumers, presumably they inspect the AST. So we shouldn't clear it if any plugins run after the main action.
Reviewed By: dblaikie, hans
Differential Revision: https://reviews.llvm.org/D112190
|
 | clang/lib/Frontend/FrontendAction.cpp |
 | clang/test/Misc/clear-ast-before-backend-plugins.c |
Commit
cfca2ae1f5babaf0877bbd3ce8665b9db3344411
by aaronUpdate the C++ and C status pages now that Clang 13 has been released
|
 | clang/www/c_status.html |
 | clang/www/cxx_status.html |
Commit
acfe7d895d2f0897fe8f79151a491e75a7a99a25
by aaronUpdate the title and encoding for the C++ status page
|
 | clang/www/cxx_status.html |
Commit
baea663a6e9bc52f80995d02bb8149934c825612
by listmail[IPT] Restructure cache to allow lazy update following invalidation [NFC]
This change restructures the cache used in IPT to point not to the first special instruction, but to the first instruction which *could* be special. That is, the cached reference is always equal to the first special, or comes before it in the block.
This avoids expensive block scans when we are removing special instructions from the beginning of the block. At the moment, this case is not heavily used, though it does trigger in GVN when doing CSE of calls. The main motivation was a change I'm no longer planning to move forward with, but the cache optimization seemed worthwhile as a minor perf win at low cost.
Differential Revision: https://reviews.llvm.org/D111768
|
 | llvm/include/llvm/Analysis/InstructionPrecedenceTracking.h |
 | llvm/lib/Analysis/InstructionPrecedenceTracking.cpp |
Commit
92673fad66f449f63acc76dfbb5e0bf05978663b
by fraser[RISCV] Add a test showing incorrect VSETVLI insertion
This test case, reduced from an internal test failure, shows how we may incorrectly skip the insertion of VSETVLI instructions when doing cross-basic-block analysis.
The entry block ends in a `e32,mf2`. Its single successor, %bb.1, ends with a `e8,mf8`, but for a mask-type instruction, so is considered compatible. This means that the info %bb.1 is merged into its predecessor so produces a `e32,mf2`. When it comes to the last block, which requires a `e32,mf2`, we skip the insertion of a vsetvli because all predecessors were determined to preserve the right vtype.
However, when %bb.1 is actually laid out it does actually need a `e8,mf8` vsetvli, since the previous instruction has a different tail policy. This means that when execution flows from %bb.1 to %bb.3, the `vadd.vx` is misconfigured.
Reviewed By: craig.topper
Differential Revision: https://reviews.llvm.org/D112223
|
 | llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.mir |
Commit
19b07ec00062daffcb2fb132f4ac0f2484ff44fa
by aeubanksReland [clang] Pass -clear-ast-before-backend in Clang::ConstructJob()
This clears the memory used for the Clang AST before we run LLVM passes.
https://llvm-compile-time-tracker.com/compare.php?from=d0a5f61c4f6fccec87fd5207e3fcd9502dd59854&to=b7437fee79e04464dd968e1a29185495f3590481&stat=max-rss shows significant memory savings with no slowdown (in fact -O0 slightly speeds up).
For more background, see https://lists.llvm.org/pipermail/cfe-dev/2021-September/068930.html.
Turn this off for the interpreter since it does codegen multiple times.
Relanding with fix for -print-stats: D111973
Relanding with fix for plugins: D112190
If you'd like to use this even with plugins, consider using the features introduced in D112096.
This can be turned off with -Xclang -no-clear-ast-before-backend.
Differential Revision: https://reviews.llvm.org/D111270
|
 | clang/lib/Interpreter/Interpreter.cpp |
 | clang/lib/Driver/ToolChains/Clang.cpp |
Commit
66d22b4da4afe00c695d9714687aac8b9e4b7396
by spatel[VectorCombine] fold shuffle-of-binops with common operand
shuf (bo X, Y), (bo X, W) --> bo (shuf X), (shuf Y, W)
This is motivated by an example in D111800 (although that patch avoids the problem for that particular example).
The pattern is shown in reduced form with: https://llvm.org/PR52178 https://alive2.llvm.org/ce/z/d8zB4D
There is no difference on the PhaseOrdering test from D111800 because the aarch64 cost model says that the shuffle cost is 3 while the fadd cost is 2.
Differential Revision: https://reviews.llvm.org/D111901
|
 | llvm/lib/Transforms/Vectorize/VectorCombine.cpp |
 | llvm/test/Transforms/VectorCombine/X86/shuffle.ll |
Commit
13c31539f7da403fee11fe2163249837460c3bf2
by clementval[fir] Add Character helper
This patch is extracted from D111337. It introduce the CharacterExprHelper that helps dealing with character in FIR.
Reviewed By: schweitz, awarzynski
Differential Revision: https://reviews.llvm.org/D112140
Co-authored-by: Jean Perier <jperier@nvidia.com> Co-authored-by: Eric Schweitz <eschweitz@nvidia.com> Co-authored-by: V Donaldson <vdonaldson@nvidia.com>
|
 | flang/include/flang/Optimizer/Builder/FIRBuilder.h |
 | flang/lib/Optimizer/Builder/FIRBuilder.cpp |
 | flang/include/flang/Optimizer/Builder/Character.h |
 | flang/unittests/Optimizer/Builder/FIRBuilderTest.cpp |
 | flang/include/flang/Optimizer/Dialect/FIROpsSupport.h |
 | flang/unittests/Optimizer/Builder/CharacterTest.cpp |
 | flang/lib/Optimizer/Builder/Character.cpp |
 | flang/unittests/Optimizer/CMakeLists.txt |
 | flang/include/flang/Optimizer/Dialect/FIRType.h |
 | flang/lib/Optimizer/Builder/CMakeLists.txt |
Commit
92a6dd6e50c8055a4db88f42966e48a915b81c76
by blangmuir[test][ORC-RT] Disable x86_64 tests when target arch does not match
When cross-compiling, these tests will fail. For now leave the host arch check that was already there since I don't know why it was added.
|
 | compiler-rt/test/orc/TestCases/Linux/x86-64/lit.local.cfg.py |
 | compiler-rt/test/orc/TestCases/FreeBSD/x86-64/lit.local.cfg.py |
 | compiler-rt/test/orc/TestCases/Darwin/x86-64/lit.local.cfg.py |
Commit
21f9e4a1ed91adc9aac0ba209ad4c264cad3b6ff
by ataeiAvoid infinity arithmetics when computing exp approximations
Otherwise this can result a poison value on some platforms see https://bugs.llvm.org/show_bug.cgi?id=51204
Reviewed By: ezhulenev
Differential Revision: https://reviews.llvm.org/D112115
|
 | mlir/lib/Dialect/Math/Transforms/PolynomialApproximation.cpp |
 | mlir/test/mlir-cpu-runner/math_polynomial_approx.mlir |
 | mlir/test/Dialect/Math/polynomial-approximation.mlir |
Commit
b7144ab7651702b7171f53cd778780fc3a52863e
by riddleriver[NFC] Clean up a few methods within GreedyPatternRewriter
Move a few methods out of line and clean up comments.
|
 | mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp |
Commit
5652ecc3739df66b259bd9d40b210ee1b8f35248
by riddleriver[mlir:GreedyPatternRewriter] Add debug logging for pattern rewriter actions
This effectively mirrors the logging in dialect conversion, which has proven very useful for understanding the pattern application process.
Differential Revision: https://reviews.llvm.org/D112120
|
 | mlir/docs/PatternRewriter.md |
 | mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp |
Commit
a4b8979a81afe45463860579cd82ee7bb45d1513
by flo[SLP] Add additional tests which caused crashes with versioning.
|
 | llvm/test/Transforms/SLPVectorizer/AArch64/memory-runtime-checks.ll |
 | llvm/test/Transforms/SLPVectorizer/X86/memory-runtime-checks.ll |
 | llvm/test/Transforms/SLPVectorizer/AArch64/memory-runtime-checks-in-loops.ll |
Commit
ba4920e98e2f5ef33024e16979786981e705cc80
by phosekRevert "[CMake] Cache the compiler-rt library search results"
This reverts commit 0eed292fbae22a8856682b07e1cb968424b49941, there are compiler-rt build failures that appear to have been introduced by this change.
|
 | libunwind/CMakeLists.txt |
 | libcxx/cmake/config-ix.cmake |
 | compiler-rt/lib/builtins/CMakeLists.txt |
 | libcxxabi/cmake/Modules/HandleCompilerRT.cmake |
 | compiler-rt/cmake/Modules/AddCompilerRT.cmake |
 | libcxxabi/src/CMakeLists.txt |
 | compiler-rt/cmake/config-ix.cmake |
 | libcxx/cmake/Modules/HandleCompilerRT.cmake |
 | libcxx/src/CMakeLists.txt |
 | compiler-rt/CMakeLists.txt |
 | libcxx/CMakeLists.txt |
 | libcxxabi/CMakeLists.txt |
 | compiler-rt/cmake/Modules/HandleCompilerRT.cmake |
 | libunwind/cmake/config-ix.cmake |
 | cmake/Modules/HandleCompilerRT.cmake |
 | libcxxabi/cmake/config-ix.cmake |
 | libunwind/cmake/Modules/HandleCompilerRT.cmake |
Commit
408075ec6a955998eea3549fa7f79c512c6b02d1
by aaronAdd the papers that were applied to the latest C2x working draft
|
 | clang/www/c_status.html |
Commit
3781a46c3c70a83b2a5312aa358512578e87b9ca
by aeubanksRevert "[IPT] Restructure cache to allow lazy update following invalidation [NFC]"
This reverts commit baea663a6e9bc52f80995d02bb8149934c825612.
Causes crashes, e.g. https://lab.llvm.org/buildbot/#/builders/77/builds/10715.
|
 | llvm/include/llvm/Analysis/InstructionPrecedenceTracking.h |
 | llvm/lib/Analysis/InstructionPrecedenceTracking.cpp |
Commit
d55be79d754890b45352611d04b6b16c4fd3c737
by craig.topper[RISCV] Expand scalable vector CTTZ/CTLZ/CTPOP.
Differential Revision: https://reviews.llvm.org/D112233
|
 | llvm/test/CodeGen/RISCV/rvv/ctpop-sdnode.ll |
 | llvm/test/CodeGen/RISCV/rvv/cttz-sdnode.ll |
 | llvm/test/CodeGen/RISCV/rvv/ctlz-sdnode.ll |
 | llvm/lib/Target/RISCV/RISCVISelLowering.cpp |
Commit
ab3d5d0533678ee93c93bd62db79c091741096f0
by piramaRevert "[compiler-rt/profile] Hide __llvm_profile_raw_version"
This reverts commit 69708477be258dbea2711f6a35c02685659b49d3 to unblock instrprof-darwin-exports.c failure on MacOS bots.
|
 | compiler-rt/lib/profile/InstrProfiling.h |
 | compiler-rt/lib/profile/InstrProfilingVersionVar.c |
Commit
f7587a9d38f42ef80965444701aed63af0bcbdf7
by kbobyrevFollow-up on https://github.com/llvm/llvm-project/commit/88303693ce97cf842f0714068c2cae44cd6515e1
Use hash code instead of unsigned for the hash return value.
|
 | llvm/include/llvm/Support/FileSystem/UniqueID.h |
Commit
184852584231c60156fb4ec7eddb228b13837c39
by nikita.ppv[CodeMetrics] Don't require speculatability for ephemeral values
As discussed in D112016, our current requirement of speculatability for ephemeral is overly strict: What we really care about is that the instruction will be DCEd once the assume is dropped. For that it is sufficient that the instruction is side-effect free and not a terminator.
In particular, this allows non-dereferenceable loads to be ephemeral values.
Differential Revision: https://reviews.llvm.org/D112179
|
 | llvm/lib/Analysis/ValueTracking.cpp |
 | llvm/lib/Transforms/Utils/SimplifyCFG.cpp |
 | llvm/lib/Analysis/CodeMetrics.cpp |
 | llvm/test/Transforms/SimplifyCFG/unprofitable-pr.ll |
 | llvm/test/Transforms/Inline/ephemeral.ll |
Commit
626f0449f345db0e27f33b5cf5a8a0a44f10cd13
by i[Triple] Don't repeat the function name in comments. NFC
|
 | llvm/include/llvm/ADT/Triple.h |
Commit
aee49255074fd4ef38d97e6e70cbfbf2f9fd0fa7
by dblaikieRecommit: Compress formatting of array type names (int [4] -> int[4])
Based on post-commit review discussion on 2bd84938470bf2e337801faafb8a67710f46429d with Richard Smith.
Other uses of forcing HasEmptyPlaceHolder to false seem OK to me - they're all around pointer/reference types where the pointer/reference token will appear at the rightmost side of the left side of the type name, so they make nested types (eg: the "int" in "int *") behave as though there is a non-empty placeholder (because the "*" is essentially the placeholder as far as the "int" is concerned).
This was originally committed in 277623f4d5a672d707390e2c3eaf30a9eb4b075c
Reverted in f9ad1d1c775a8e264bebc15d75e0c6e5c20eefc7 due to breakages outside of clang - lldb seems to have some strange/strong dependence on "char [N]" versus "char[N]" when printing strings (not due to that name appearing in DWARF, but probably due to using clang to stringify type names) that'll need to be addressed, plus a few other odds and ends in other subprojects (clang-tools-extra, compiler-rt, etc).
|
 | clang/test/CXX/dcl.decl/dcl.decomp/p2.cpp |
 | clang/test/Layout/ms-x86-misalignedarray.cpp |
 | clang/test/AST/ast-dump-color.cpp |
 | clang/test/AST/ast-dump-expr-json.m |
 | clang/test/SemaObjC/warn-write-strings.m |
 | clang/test/SemaOpenCL/half.cl |
 | lldb/test/API/lang/cpp/non-type-template-param/TestCppNonTypeTemplateParam.py |
 | clang/test/OpenMP/parallel_reduction_messages.c |
 | clang/test/SemaCXX/static-assert-cxx17.cpp |
 | clang/test/SemaCXX/attr-gnu.cpp |
 | clang/test/SemaCXX/warn-string-conversion.cpp |
 | clang/test/CodeGen/const-init.c |
 | clang/test/Sema/types.c |
 | clang/test/Analysis/scopes-cfg-output.cpp |
 | clang/test/CXX/special/class.ctor/p5-0x.cpp |
 | clang/test/CXX/dcl.decl/dcl.meaning/dcl.fct/p13.cpp |
 | lldb/test/API/functionalities/data-formatter/typedef_array/main.cpp |
 | clang/test/AST/ast-dump-template-decls-json.cpp |
 | clang/test/Sema/nullability.c |
 | clang/test/Sema/merge-decls.c |
 | clang/test/SemaObjC/method-bad-param.m |
 | lldb/source/DataFormatters/FormatManager.cpp |
 | clang/test/Layout/aix-Wpacked-expecting-diagnostics.cpp |
 | clang/test/SemaCXX/overload-call.cpp |
 | clang/test/Modules/odr_hash.cpp |
 | clang/test/SemaCXX/compare-cxx2a.cpp |
 | clang/test/CXX/expr/expr.prim/expr.prim.id/mixed-constraints.cpp |
 | clang/test/CXX/drs/dr177x.cpp |
 | clang/test/AST/ast-dump-openmp-begin-declare-variant_9.c |
 | clang/test/SemaCXX/for-range-examples.cpp |
 | clang/test/SemaObjC/argument-checking.m |
 | clang/test/Sema/compound-literal.c |
 | clang/test/CXX/expr/expr.prim/expr.prim.lambda/p4.cpp |
 | clang/test/Sema/builtin-expect-with-probability.cpp |
 | clang/test/Layout/aix-no-unique-address-with-double.cpp |
 | clang/test/CXX/dcl.dcl/dcl.spec/dcl.typedef/p2-0x.cpp |
 | clang/test/CXX/temp/temp.explicit/p8.cpp |
 | clang/test/AST/ast-dump-stmt-json.cpp |
 | clang/test/ARCMT/cxx-checking.mm |
 | clang/test/SemaCXX/dcl_init_aggr.cpp |
 | clang/test/SemaCXX/exceptions.cpp |
 | clang/test/AST/pr47636.cpp |
 | clang/test/SemaCXX/alias-template.cpp |
 | clang/test/SemaCXX/no-wchar.cpp |
 | clang/test/AST/ast-dump-records.cpp |
 | clang/test/CXX/temp/temp.arg/temp.arg.nontype/p1.cpp |
 | compiler-rt/test/ubsan/TestCases/Misc/bounds.cpp |
 | clang/test/Sema/assign.c |
 | clang/test/AST/ast-dump-expr.cpp |
 | clang/test/ASTMerge/var/test.c |
 | clang/test/SemaOpenCLCXX/address-space-deduction.clcpp |
 | clang/test/AST/float16.cpp |
 | clang/test/CXX/dcl.decl/dcl.meaning/dcl.array/p3.cpp |
 | clang/test/OpenMP/distribute_parallel_for_firstprivate_messages.cpp |
 | clang/test/OpenMP/distribute_simd_firstprivate_messages.cpp |
 | clang/test/CXX/special/class.copy/p23-cxx11.cpp |
 | lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp |
 | clang/test/Sema/vla.cpp |
 | clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp |
 | clang/test/AST/sourceranges.cpp |
 | clang/test/OpenMP/distribute_parallel_for_simd_shared_messages.cpp |
 | clang/test/Layout/ms-x86-lazy-empty-nonvirtual-base.cpp |
 | clang/test/SemaCXX/cxx2a-compat.cpp |
 | clang/test/Layout/ms-x86-empty-layout.c |
 | lldb/test/Shell/SymbolFile/NativePDB/global-classes.cpp |
 | clang/test/AST/ast-dump-expr-json.cpp |
 | clang/test/Layout/ms-x86-empty-virtual-base.cpp |
 | clang/test/CodeGen/dump-struct-builtin.c |
 | clang/test/Index/print-type-size.cpp |
 | clang/test/SemaObjC/rdr-6211479-array-property.m |
 | clang/test/Sema/empty1.c |
 | clang/test/Sema/var-redecl.c |
 | lldb/test/API/lang/c/array_types/TestArrayTypes.py |
 | clang/test/SemaTemplate/temp_arg_nontype.cpp |
 | clang/test/Sema/generic-selection.c |
 | clang/test/CXX/expr/expr.prim/expr.prim.id/p4.cpp |
 | lldb/test/API/functionalities/data-formatter/data-formatter-cpp/TestDataFormatterCpp.py |
 | clang/test/Analysis/malloc-sizeof.c |
 | clang/test/AST/ast-dump-expr.c |
 | clang/test/SemaCXX/c99-variable-length-array-cxx11.cpp |
 | lldb/test/API/lang/c/vla/TestVLA.py |
 | lldb/test/API/lang/cpp/char1632_t/TestChar1632T.py |
 | clang/test/SemaCXX/cxx1z-decomposition.cpp |
 | clang/test/SemaCXX/coroutines.cpp |
 | clang/test/Layout/aix-power-alignment-typedef.cpp |
 | clang/test/Layout/ms-x86-empty-nonvirtual-bases.cpp |
 | clang/test/Index/print-type.c |
 | clang/test/OpenMP/target_teams_distribute_firstprivate_messages.cpp |
 | clang/test/SemaCXX/constant-expression-cxx2a.cpp |
 | clang-tools-extra/clangd/unittests/DiagnosticsTests.cpp |
 | clang/test/CXX/dcl.decl/dcl.init/dcl.init.list/p3.cpp |
 | clang/test/CXX/temp/temp.constr/temp.constr.constr/non-function-templates.cpp |
 | clang/test/Layout/ms-x86-pack-and-align.cpp |
 | clang/test/SemaCXX/array-bound-merge.cpp |
 | clang/test/Sema/matrix-type-builtins.c |
 | clang/test/PCH/objc_exprs.m |
 | clang/test/SemaObjCXX/message.mm |
 | clang/test/Sema/warn-sizeof-array-decay.c |
 | clang/test/SemaCXX/overload-member-call.cpp |
 | clang/test/AST/ast-dump-expr-json.c |
 | clang/test/SemaCXX/cxx0x-initializer-aggregates.cpp |
 | clang/test/Modules/cxx-templates.cpp |
 | clang/test/CXX/temp/temp.param/p10-2a.cpp |
 | clang/test/Sema/predef.c |
 | clang/test/AST/ast-dump-templates.cpp |
 | clang/test/Sema/crash-invalid-array.c |
 | clang/test/AST/ast-dump-APValue-arithmetic.cpp |
 | clang/test/AST/ast-dump-stmt.cpp |
 | clang/test/OpenMP/distribute_simd_lastprivate_messages.cpp |
 | clang/test/Analysis/auto-obj-dtors-cfg-output.cpp |
 | clang-tools-extra/clangd/unittests/HoverTests.cpp |
 | clang/test/Sema/warn-write-strings.c |
 | lldb/test/API/lang/cpp/class_static/TestStaticVariables.py |
 | clang/test/Sema/gnu-flags.c |
 | clang/test/Sema/incomplete-decl.c |
 | lldb/test/Shell/SymbolFile/DWARF/x86/DW_AT_const_value.s |
 | clang/test/SemaCXX/flexible-array-test.cpp |
 | clang/test/Analysis/explain-svals.cpp |
 | clang/test/SemaCXX/MicrosoftExtensions.cpp |
 | clang/test/AST/atomic-expr.cpp |
 | clang/test/SemaObjC/ivar-sem-check-1.m |
 | clang/test/Layout/ms-aligned-array.c |
 | clang/test/Layout/aix-double-struct-member.cpp |
 | clang/test/CXX/stmt.stmt/stmt.iter/stmt.ranged/p1.cpp |
 | clang/test/OpenMP/distribute_simd_reduction_messages.cpp |
 | clang/test/Sema/array-init.c |
 | clang/test/SemaCXX/constexpr-builtin-bit-cast.cpp |
 | clang/test/SemaTemplate/instantiate-static-var.cpp |
 | clang/test/OpenMP/distribute_parallel_for_reduction_messages.cpp |
 | clang/test/SemaObjC/flexible-array.m |
 | clang/test/Sema/extern-redecl.c |
 | clang/test/Sema/warn-sizeof-arrayarg.c |
 | lldb/test/API/lang/cpp/char8_t/TestCxxChar8_t.py |
 | clang/test/Analysis/lifetime-cfg-output.cpp |
 | clang/test/SemaCXX/cxx0x-type-convert-construct.cpp |
 | libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.observers/dereference.runtime.fail.cpp |
 | clang/test/Sema/array-constraint.c |
 | lldb/test/Shell/SymbolFile/DWARF/x86/array-sizes.s |
 | clang/test/Layout/watchos-standard-layout.cpp |
 | libcxx/test/std/concepts/concepts.lang/concept.default.init/default_initializable.verify.cpp |
 | clang/test/Parser/atomic.c |
 | clang/test/SemaOpenCL/predefined-expr.cl |
 | clang/test/Misc/integer-literal-printing.cpp |
 | clang/test/AST/ast-dump-file-line-json.c |
 | clang/test/SemaCXX/new-delete.cpp |
 | clang/test/Layout/no-unique-address.cpp |
 | clang/test/SemaCXX/constant-expression-cxx11.cpp |
 | clang/test/Misc/diag-macro-backtrace2.c |
 | lldb/test/API/functionalities/data-formatter/data-formatter-ptr-to-array/TestPtrToArrayFormatting.py |
 | clang/bindings/python/tests/cindex/test_type.py |
 | clang/test/SemaTemplate/deduction-guide.cpp |
 | lldb/test/API/functionalities/data-formatter/data-formatter-advanced/TestDataFormatterAdv.py |
 | libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.observers/op_arrow.runtime.fail.cpp |
 | clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp |
 | clang/lib/AST/TypePrinter.cpp |
 | clang/test/Analysis/cfg.cpp |
 | clang/test/OpenMP/distribute_parallel_for_lastprivate_messages.cpp |
 | clang/test/Import/array-init-loop-expr/test.cpp |
 | clang-tools-extra/clangd/unittests/ClangdLSPServerTests.cpp |
 | clang/test/SemaCXX/typedef-redecl.cpp |
 | clang/test/SemaCXX/constexpr-string.cpp |
 | clang/test/AST/ast-dump-APValue-array.cpp |
 | clang/test/AST/ast-dump-array.cpp |
 | clang/test/AST/ast-dump-types-errors-json.cpp |
 | clang/test/SemaCXX/nullability.cpp |
 | clang/test/Sema/builtin-expect-with-probability-avr.cpp |
 | lldb/test/API/lang/cpp/bitfields/TestCppBitfields.py |
 | lldb/test/API/tools/lldb-vscode/variables/TestVSCode_variables.py |
 | clang/test/OpenMP/distribute_firstprivate_messages.cpp |
 | clang/test/AST/ast-dump-records.c |
 | clang/test/SemaCXX/address-space-initialize.cpp |
 | clang/test/Sema/c11-typedef-redef.c |
 | clang/test/SemaTemplate/instantiate-init.cpp |
 | clang/test/SemaTemplate/instantiate-local-class.cpp |
 | clang/test/Index/print-type.cpp |
 | clang/test/Sema/typedef-retain.c |
 | lldb/source/Commands/CommandObjectType.cpp |
 | clang/test/CXX/dcl.dcl/dcl.attr/dcl.align/p7.cpp |
 | lldb/test/API/functionalities/data-formatter/data-formatter-smart-array/TestDataFormatterSmartArray.py |
 | clang/test/AST/ast-dump-records-json.cpp |
 | clang/unittests/AST/ASTImporterTest.cpp |
 | clang/test/CXX/temp/temp.decls/temp.variadic/p2.cpp |
 | clang/test/SemaObjC/nullability.m |
 | clang/test/SemaTemplate/pack-deduction.cpp |
 | clang/test/CXX/basic/basic.types/p10.cpp |
 | clang/test/Layout/ms-x86-basic-layout.cpp |
 | clang/test/SemaCXX/c99-variable-length-array.cpp |
 | clang/test/SemaCXX/decl-init-ref.cpp |
 | clang/test/SemaOpenCL/invalid-kernel-parameters.cl |
 | clang/test/SemaCXX/typeid.cpp |
 | clang/test/Analysis/more-dtors-cfg-output.cpp |
Commit
d723ad5bcf7133c3f3950ebb63edf4ddfee56581
by dblaikieEnable libc++ in the build for libcxx initializerlist pretty printers
Differential Revision: https://reviews.llvm.org/D112163
|
 | lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/initializerlist/TestInitializerList.py |
 | lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/initializerlist/Makefile |
Commit
fdb66eda77a00d4ff0cb2730290f0fadf7840770
by aeubanks[test] Make sure plugin actually runs in clear-ast-before-backend-plugins.c
Reviewed By: dblaikie
Differential Revision: https://reviews.llvm.org/D112253
|
 | clang/test/Misc/clear-ast-before-backend-plugins.c |
Commit
8262f45c73ae97de038e9b66ec5016938424123e
by nikita.ppv[InstCombine] Add additional store forwarding test (NFC)
Variant where the load is larger than the store. Make sure we don't forward this.
|
 | llvm/test/Transforms/InstCombine/load-store-forward.ll |
Commit
52f4922ebb7bfe5f9a6c32cf7d637b84e491526a
by Andrey.Churbanov[OpenMP][NFC] skip atomic tests for non-x86 arch
|
 | openmp/runtime/test/atomic/kmp_atomic_cas_cpt.c |
 | openmp/runtime/test/atomic/kmp_atomic_float10_max_min.c |
 | openmp/runtime/test/atomic/kmp_atomic_cas.c |
Commit
d9eca3320a4d8db11ad65229ef6f564d134fc894
by vsapsai[modules] Fix tracking ObjCInterfaceType decl when there are multiple definitions.
With the old approach we were updating `ObjCInterfaceType.Decl` to the last encountered definition. But during loading modules `ASTDeclReader::VisitObjCInterfaceDecl` keeps the *first* encountered definition. So with multiple definitions imported there would be a disagreement between expected definition in `ObjCInterfaceType.Decl` and actual definition `ObjCInterfaceDecl::getDefinition` which can lead to incorrect diagnostic.
Fix by not tracking definition in `ObjCInterfaceType` explicitly but by getting it from redeclaration chain.
Partially reverted 919fc50034b44c48aae8b80283f253ec2ee17f45 keeping the modified test case as the correct behavior is achieved in a different way.
Differential Revision: https://reviews.llvm.org/D110452
|
 | clang/lib/Sema/SemaLookup.cpp |
 | clang/lib/AST/Type.cpp |
 | clang/test/Modules/decldef.mm |
 | clang/lib/AST/DeclObjC.cpp |
 | clang/include/clang/AST/Type.h |
 | clang/test/Modules/interface-diagnose-missing-import.m |
Commit
0472e83ffcc6c0506b0cd67844b97cb34eaa302e
by yhsBPF: emit BTF_KIND_DECL_TAG for typedef types
If a typedef type has __attribute__((btf_decl_tag("str"))) with bpf target, emit BTF_KIND_DECL_TAG for that type in the BTF.
Differential Revision: https://reviews.llvm.org/D112259
|
 | llvm/test/CodeGen/BPF/BTF/tag-typedef.ll |
 | llvm/lib/Target/BPF/BTFDebug.cpp |
Commit
d7b338537cf360568474d31c2be86110ac22dc32
by gclaytonModify "statistics dump" to dump JSON.
This patch is a smaller version of a previous patch https://reviews.llvm.org/D110804.
This patch modifies the output of "statistics dump" to be able to get stats from the current target. It adds 3 new stats as well. The output of "statistics dump" is now emitted as JSON so that it can be used to track performance and statistics and the output could be used to populate a database that tracks performance. Sample output looks like:
(lldb) statistics dump { "expressionEvaluation": { "failures": 0, "successes": 0 }, "firstStopTime": 0.34164492800000001, "frameVariable": { "failures": 0, "successes": 0 }, "launchOrAttachTime": 0.31969605400000001, "targetCreateTime": 0.0040863039999999998 }
The top level keys are:
"expressionEvaluation" which replaces the previous stats that were emitted as plain text. This dictionary contains the success and fail counts. "frameVariable" which replaces the previous stats for "frame variable" that were emitted as plain text. This dictionary contains the success and fail counts. "targetCreateTime" contains the number of seconds it took to create the target and load dependent libraries (if they were enabled) and also will contain symbol preloading times if that setting is enabled. "launchOrAttachTime" is the time it takes from when the launch/attach is initiated to when the first private stop occurs. "firstStopTime" is the time in seconds that it takes to stop at the first stop that is presented to the user via the LLDB interface. This value will only have meaning if you set a known breakpoint or stop location in your code that you want to measure as a performance test.
This diff is also meant as a place to discuess what we want out of the "statistics dump" command before adding more funcionality. It is also meant to clean up the previous code that was storting statistics in a vector of numbers within the lldb_private::Target class.
Differential Revision: https://reviews.llvm.org/D111686
|
 | lldb/include/lldb/Target/Statistics.h |
 | lldb/source/Commands/CommandObjectStats.cpp |
 | lldb/source/Commands/Options.td |
 | lldb/source/Target/Process.cpp |
 | lldb/test/API/functionalities/stats_api/TestStatisticsAPI.py |
 | lldb/source/Commands/CommandObjectExpression.cpp |
 | lldb/packages/Python/lldbsuite/test/lldbtest.py |
 | lldb/source/Target/Statistics.cpp |
 | lldb/include/lldb/Target/Process.h |
 | lldb/test/API/commands/statistics/basic/TestStats.py |
 | lldb/source/API/SBTarget.cpp |
 | lldb/source/Target/Target.cpp |
 | lldb/source/Target/CMakeLists.txt |
 | lldb/include/lldb/Target/Target.h |
 | lldb/source/Commands/CommandObjectFrame.cpp |
Commit
439fc09fed3262f40aba6110282b8c023dc4cd89
by llvmgnsyncbot[gn build] Port d7b338537cf3
|
 | llvm/utils/gn/secondary/lldb/source/Target/BUILD.gn |
Commit
969b72fb662b9dc2124c6eb7797feb7e3bdd38d5
by Stanislav.MekhanoshinAdd test to check we can instcombine after reassociate. NFC.
The pattern became optimized after b92412fb286b.
Differential Revision: https://reviews.llvm.org/D112258
|
 | llvm/test/Transforms/PhaseOrdering/reassociate-instcombine.ll |
Commit
64f002c6d36d674a924c6116ec0b2d731cc3981c
by dblaikieFollow-up fixes for aee49255074fd4ef38d97e6e70cbfbf2f9fd0fa7
|
 | lldb/test/Shell/SymbolFile/PDB/udt-layout.test |
 | lldb/test/Shell/SymbolFile/PDB/typedefs.test |
Commit
3087a8488948f575a81158494fd0609198ef5e9e
by martin[libcxx] [test] Add an XFAIL for the timespec test for MinGW targets
MinGW headers/libs lack timespec_get.
Differential Revision: https://reviews.llvm.org/D112213
|
 | libcxx/test/std/language.support/support.runtime/ctime.timespec.compile.pass.cpp |
Commit
6836629f889194202da28b745e82d0931d000a2b
by martin[libcxx] [test] Add a specific XFAIL for a MinGW env failure that is fixed in Clang 14
This issue only occurs when linked statically in MinGW configurations, and has been fixed for Clang 14 by https://reviews.llvm.org/D109651.
Differential Revision: https://reviews.llvm.org/D112214
|
 | libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.constr/F.pass.cpp |
Commit
2ba572a82a35051cdee91f6bb00d3db322ae13a3
by clementval[fir] Remove createConcatenate test temporarily
This test is makeing one buildbot fail for unknown reason. Remove it until we can investifate further.
|
 | flang/unittests/Optimizer/Builder/CharacterTest.cpp |
Commit
5dc339d9825f1dbe788cfb69c88210a59bbf8e3a
by Jessica Paquette[AArch64][GlobalISel] Fold 64-bit cmps with 64-bit adds
G_ICMP is selected to an arithmetic overflow op (ADDS/SUBS/etc) with a dead destination + a CSINC instruction.
We have a fold which allows us to combine 32-bit adds with G_ICMP.
The problem with G_ICMP is that we model it as always having a 32-bit destination even though it can be a 64-bit operation. So, we were missing some opportunities for 64-bit folds.
This patch teaches the fold to recognize 64-bit G_ICMPs + refactors some of the code surrounding CSINC accordingly.
(Later down the line, I think we should probably change the way we handle G_ICMP in general.)
Differential Revision: https://reviews.llvm.org/D111088
|
 | llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp |
 | llvm/test/CodeGen/AArch64/GlobalISel/select-cmp.mir |
Commit
1d8cc45b0e4e316dbc4d4724964f1115fdb3f909
by thomasraoux[mlir][vector] Add patterns to convert multidimreduce to vector.contract
add several patterns that will simplify contraction vectorization in the future. With those canonicalizationns we will be able to remove the special case for contration during vectorization and rely on those transformations to avoid materizalizing broadcast ops.
Differential Revision: https://reviews.llvm.org/D112121
|
 | mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp |
 | mlir/test/Dialect/Vector/vector-reduce-to-contract.mlir |
 | mlir/include/mlir/Dialect/Vector/VectorOps.h |
 | mlir/lib/Dialect/Vector/VectorTransforms.cpp |
Commit
93d0ade17c2da810ee6e0d747c3a594b8bfd0c12
by thomasraoux[mlir][linalg] Remove special case for contraction vectorization
Handle contraction op like all the other generic op reductions. This simpifies the code. We now rely on contractionOp canonicalization to keep the same code quality.
Differential Revision: https://reviews.llvm.org/D112171
|
 | mlir/test/Dialect/Linalg/transform-patterns-matmul-to-vector.mlir |
 | mlir/test/Dialect/Linalg/vectorization.mlir |
 | mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp |
 | mlir/lib/Dialect/Linalg/Transforms/LinalgStrategyPasses.cpp |
 | mlir/test/lib/Dialect/Linalg/TestLinalgTransforms.cpp |
Commit
910838f07da7872d2b7cca5b07d64ea9915b6767
by gclaytonFix buildbots after https://reviews.llvm.org/D111686
|
 | lldb/test/API/commands/statistics/basic/TestStats.py |
 | lldb/packages/Python/lldbsuite/test/lldbtest.py |
Commit
5c0369eceb2c64b80bf2db57ca6cac7db3e3957b
by jeffniu22Fix escaping in RewriterGen.cpp.
When we escape strings for C++, make sure we use C++ escape sequences. (In particular, \x22 instead of \22)
Reviewed By: Mogball
Differential Revision: https://reviews.llvm.org/D112269
|
 | mlir/tools/mlir-tblgen/RewriterGen.cpp |
Commit
458ed5fcc3626d84fe13db1048dc6742a60f7624
by craig.topper[TargetLowering][RISCV] Prevent scalarization of fixed vector bswap.
It's better to do the ands, shifts, ors in the vector domain than to scalarize it and do those operations on each element.
Reviewed By: RKSimon
Differential Revision: https://reviews.llvm.org/D112248
|
 | llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp |
 | llvm/test/CodeGen/RISCV/rvv/fixed-vectors-bswap.ll |
Commit
db0486c46fe187475e4b01a401e14b2def593733
by dblaikieRemove unused parallel-libs project
Differential Revision: https://reviews.llvm.org/D112265
|
 | parallel-libs/acxxel/acxxel.h |
 | llvm/utils/docker/scripts/llvm_checksum/project_tree.py |
 | parallel-libs/acxxel/tests/status_test.cpp |
 | parallel-libs/acxxel/tests/CMakeLists.txt |
 | parallel-libs/acxxel/tests/acxxel_test.cpp |
 | llvm/CMakeLists.txt |
 | parallel-libs/acxxel/customdoxygen.css |
 | parallel-libs/acxxel/CMakeLists.txt |
 | parallel-libs/acxxel/examples/simple_example.cu |
 | parallel-libs/acxxel/examples/CMakeLists.txt |
 | parallel-libs/.clang-format |
 | parallel-libs/acxxel/span.h |
 | parallel-libs/CMakeLists.txt |
 | parallel-libs/README.rst |
 | parallel-libs/acxxel/examples/opencl_example.cpp |
 | parallel-libs/acxxel/.clang-format |
 | parallel-libs/acxxel/.clang-tidy |
 | parallel-libs/acxxel/opencl_acxxel.cpp |
 | parallel-libs/.clang-tidy |
 | llvm/projects/CMakeLists.txt |
 | parallel-libs/acxxel/config.h.in |
 | README.md |
 | parallel-libs/acxxel/LICENSE.TXT |
 | parallel-libs/acxxel/Doxyfile.in |
 | parallel-libs/acxxel/acxxel.cpp |
 | parallel-libs/acxxel/tests/opencl_test.cpp |
 | parallel-libs/acxxel/tests/multi_device_test.cpp |
 | llvm/docs/CMake.rst |
 | parallel-libs/acxxel/cuda_acxxel.cpp |
 | parallel-libs/acxxel/status.h |
 | parallel-libs/acxxel/tests/span_test.cpp |
Commit
95935e8285ad0e2872b83190669c9f70f2fd2112
by jeffniu22Make genAttributeVerifier escape the summary.
The summary can contain references to e.g. attribute defaults, which can contain special characters. So these strings need to be C++ escaped.
Reviewed By: Mogball
Differential Revision: https://reviews.llvm.org/D112249
|
 | mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp |
Commit
516884f58b46a60d0aa499e19d792c39f2478aa4
by jeffniu22[MLIR] Fix FloorDivSIOpConverter that was failing for index type after the arithmetic op refactor
ConstantOp should be used instead of ConstantIntOp to be able to support index type.
Reviewed By: Mogball
Differential Revision: https://reviews.llvm.org/D112191
|
 | mlir/lib/Dialect/Arithmetic/Transforms/ExpandOps.cpp |
 | mlir/test/Dialect/Arithmetic/expand-ops.mlir |
Commit
8c136805242014b6ad9ff1afcac9d7f4a18bec3f
by dblaikiePR18733: Remove -Wweak-template-vtables
It isn't really pulling its weight and I think splitting it out from -Wweak-vtables was the wrong call: I think it was just a bug in the original warning, which was trying to not diagnose template instantiations, implicit or explicit.
|
 | clang/lib/Sema/SemaDeclCXX.cpp |
 | clang/include/clang/Basic/DiagnosticSemaKinds.td |
 | clang/test/SemaCXX/warn-weak-vtables.cpp |
Commit
f5ee1acc62d5a5052fc2ca65cf2f2927a3c6e9c2
by martin[libcxx] [test] Convert an XFAIL: LIBCXX-WINDOWS-FIXME into XFAIL: msvc with explanation
This test doesn't fail in mingw mode (which uses the same Itanium name mangling and ABI as other platforms).
Differential Revision: https://reviews.llvm.org/D112210
|
 | libcxx/test/libcxx/language.support/support.rtti/type.info/type_info.comparison.merged.sh.cpp |
Commit
048d2c76efcddf4265987914e30d3d4f49395496
by vsapsai[modules] Update visibility for merged ObjCInterfaceDecl definitions.
We keep using the first encountered definition and need to take into account visibility from subsequent definitions. For example, if the first definition is hidden and the second is visible, we need to make the first one visible too.
rdar://82263843
Differential Revision: https://reviews.llvm.org/D110453
|
 | clang/lib/Serialization/ASTReaderDecl.cpp |
 | clang/test/Modules/merge-objc-interface-visibility.m |
Commit
c0d6e1b9e0b1c5426e77ef31f076850b87dee08b
by Stanislav.Mekhanoshin[InstCombine] Precommit new and-xor-or.ll tests. NFC.
|
 | llvm/test/Transforms/InstCombine/and-xor-or.ll |
Commit
ff37b1105d6eb7b9a4e4515c2ced95e9837567aa
by craig.topper[LegalizeVectorOps][X86] Don't defer BITREVERSE expansion to LegalizeDAG.
By expanding early it allows the shifts to be custom lowered in LegalizeVectorOps. Then a DAG combine is able to run on them before LegalizeDAG handles the BUILD_VECTORS for the masks used.
v16Xi8 shift lowering on X86 requires a mask to be applied to a v8i16 shift. The BITREVERSE expansion applied an AND mask before SHL ops and after SRL ops. This was done to share the same mask constant for both shifts. It looks like this patch allows DAG combine to remove the AND mask added after v16i8 SHL by X86 lowering. This maintains the mask sharing that BITREVERSE was trying to achieve. Prior to this patch it looks like we kept the mask after the SHL instead which required an extra constant pool or a PANDN to invert it.
This is dependent on D112248 because RISCV will end up scalarizing the BSWAP portion of the BITREVERSE expansion if we don't disable BSWAP scalarization in LegalizeVectorOps first.
Reviewed By: RKSimon
Differential Revision: https://reviews.llvm.org/D112254
|
 | llvm/test/CodeGen/X86/bitreverse.ll |
 | llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp |
 | llvm/test/CodeGen/X86/combine-bitreverse.ll |
 | llvm/test/CodeGen/X86/vector-bitreverse.ll |
Commit
0bf230d4220660af8b2667506f8905df2f716bdf
by clementval[fir] Remove unused function in CharacterTest
|
 | flang/unittests/Optimizer/Builder/CharacterTest.cpp |
Commit
996123e5e8d9b2894c88e02e98ce09abdf33bb7e
by craig.topper[TargetLowering] Simplify the interface for expandCTPOP/expandCTLZ/expandCTTZ.
There is no need to return a bool and have an SDValue output parameter. Just return the SDValue and let the caller check if it is null.
I have another patch to add more callers of these so I thought I'd clean up the interface first.
Reviewed By: RKSimon
Differential Revision: https://reviews.llvm.org/D112267
|
 | llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp |
 | llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp |
 | llvm/include/llvm/CodeGen/TargetLowering.h |
 | llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp |
Commit
c16655f138b1c2b203f6cdac179baa5accf2a737
by tstellar[docs] Remove Makefile.sphinx files
Does anyone still use these? I want to make some changes to the sphinx html generation and I don't want to have to implement the changes in two places.
Reviewed By: sylvestre.ledru, #libc, ldionne
Differential Revision: https://reviews.llvm.org/D112030
|
 | clang/docs/Makefile.sphinx |
 | llvm/docs/Makefile.sphinx |
 | libcxx/docs/Makefile.sphinx |
Commit
6c6abb1ded8d91760e8a3b500f959fee5b767406
by craig.topper[RISCV] Remove Zvamo C intrinsics and builtins.
Zvamo is not part of the 1.0 V spec. Remove the intrinsics for now. This helps reduce clang binary size and lit test time.
Reviewed By: HsiangKai
Differential Revision: https://reviews.llvm.org/D111692
|
 | clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vamoand.c |
 | clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vamomax.c |
 | clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vamoswap.c |
 | clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vamomin.c |
 | clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vamoxor.c |
 | clang/test/CodeGen/RISCV/rvv-intrinsics/vamoadd.c |
 | clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vamoadd.c |
 | clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vamoor.c |
 | clang/test/CodeGen/RISCV/rvv-intrinsics/vamomin.c |
 | clang/include/clang/Basic/riscv_vector.td |
 | clang/test/CodeGen/RISCV/rvv-intrinsics/vamoor.c |
 | clang/utils/TableGen/RISCVVEmitter.cpp |
 | clang/test/CodeGen/RISCV/rvv-intrinsics/vamoswap.c |
 | clang/test/CodeGen/RISCV/rvv-intrinsics/vamomax.c |
 | clang/test/CodeGen/RISCV/rvv-intrinsics/vamoxor.c |
 | clang/test/CodeGen/RISCV/rvv-intrinsics/vamoand.c |
Commit
05c21f54a454ebfa44be7825707e6061dc32afab
by tstellarcompiler-rt: Fix arch detection for ppc64le
Reviewed By: MaskRay
Differential Revision: https://reviews.llvm.org/D110377
|
 | compiler-rt/cmake/base-config-ix.cmake |
Commit
09b95b9dc9afb0c12e7d10faea17ed0cb6920b9f
by Jonas Devlieghere[lldb] Always set the minimum OS version in the Darwin builder
|
 | lldb/packages/Python/lldbsuite/test/builders/darwin.py |
Commit
d7733f84228bde1079117e82b36fac94e9b323ed
by dblaikie[DebugInfo] Expand ability to load 2-byte addresses in dwarf sections
Some dwarf loaders in LLVM are hard-coded to only accept 4-byte and 8-byte address sizes. This patch generalizes acceptance into `DWARFContext::isAddressSizeSupported` and provides a common way to generate rejection errors.
The MSP430 target has been given new tests to cover dwarf loading cases that previously failed due to 2-byte addresses.
Reviewed By: dblaikie
Differential Revision: https://reviews.llvm.org/D111953
|
 | llvm/unittests/DebugInfo/DWARF/DWARFDebugArangeSetTest.cpp |
 | llvm/lib/DebugInfo/DWARF/DWARFDebugArangeSet.cpp |
 | llvm/test/tools/llvm-dwarfdump/X86/debug_addr_invalid_addr_size.s |
 | llvm/test/DebugInfo/MSP430/cu-ranges.ll |
 | llvm/lib/DebugInfo/DWARF/DWARFUnit.cpp |
 | llvm/test/DebugInfo/MSP430/dwarf-basics-v5.ll |
 | llvm/lib/DebugInfo/DWARF/DWARFDebugAddr.cpp |
 | llvm/include/llvm/DebugInfo/DWARF/DWARFContext.h |
 | llvm/include/llvm/DebugInfo/DWARF/DWARFDebugRangeList.h |
 | llvm/lib/DebugInfo/DWARF/DWARFDebugRangeList.cpp |
 | llvm/test/tools/llvm-dwarfdump/X86/debug_rnglists_invalid.s |
 | llvm/lib/DebugInfo/DWARF/DWARFListTable.cpp |
 | llvm/test/DebugInfo/MSP430/ranges_always.ll |
Commit
08f4b56fb9795b5d271378fb62c3fed67ab1b754
by Jonas Devlieghere[lldb] Include unistd.h for sleep in profile_vrs_detach
|
 | lldb/test/API/macosx/profile_vrs_detach/main.c |
Commit
2e97236aacbbcd58873826deb9a0e6a0704be8db
by dblaikie[Demangle] Rename OutputStream to OutputString
This patch is a refactor to implement prepend afterwards. Since this changes a lot of files and to conform with guidelines, I will separate this from the implementation of prepend. Related to the discussion in https://reviews.llvm.org/D111414 , so please read it for more context.
Reviewed By: #libc_abi, dblaikie, ldionne
Differential Revision: https://reviews.llvm.org/D111947
|
 | libcxxabi/src/demangle/ItaniumDemangle.h |
 | llvm/include/llvm/Demangle/ItaniumDemangle.h |
 | libcxxabi/src/demangle/Utility.h |
 | llvm/lib/Demangle/MicrosoftDemangleNodes.cpp |
 | llvm/include/llvm/Demangle/Utility.h |
 | llvm/lib/Demangle/MicrosoftDemangle.cpp |
 | llvm/include/llvm/Demangle/MicrosoftDemangleNodes.h |
 | llvm/lib/Demangle/RustDemangle.cpp |
 | llvm/unittests/Demangle/ItaniumDemangleTest.cpp |
 | llvm/unittests/Demangle/OutputStreamTest.cpp |
 | llvm/unittests/Demangle/CMakeLists.txt |
 | llvm/unittests/Demangle/OutputBufferTest.cpp |
 | llvm/lib/Demangle/ItaniumDemangle.cpp |
Commit
4976be1e955d2f5ebd4e28df07235d86e9228e09
by thakis[gn build] Make 'compiler-rt' depend on include dir
That way, the headers in llvm/utils/gn/secondary/compiler-rt/include are copied when running `ninja compiler-rt`. (Previously, they were only copied when running `check-hwasan` or when building the compiler-rt/include target.)
(Since they should be copied only once, depend on the target in the host toolchain. I think default_toolchain should work just as well, it just needs to be a single fixed toolchain. check-hwasan depends through host_toolchain, so let's use that here too.)
Prevents errors like
testing/fuzzed_data_provider.h:8:10: fatal error: 'fuzzer/FuzzedDataProvider.h' file not found
when building with locally-built clang. (For now, you still have to explicitly build the 'compiler-rt' target. Maybe we should make the clang target depend on that in the GN build?)
Differential Revision: https://reviews.llvm.org/D112238
|
 | llvm/utils/gn/secondary/compiler-rt/BUILD.gn |
Commit
3bbc869e2ef26f3bc296d5b4e23ee8678a20fc0b
by springerm[mlir][linalg][bufferize] Support scf::IfOp
This commit adds support for scf::IfOp to comprehensive bufferization. Support is currently limited to cases where both branches yield tensors that bufferize to the same buffer.
To keep the analysis simple, scf::IfOp are treated as memory writes for analysis purposes, even if no op inside any branch is writing. (scf::ForOps are handled in the same way.)
Differential Revision: https://reviews.llvm.org/D111929
|
 | mlir/test/Dialect/Linalg/comprehensive-module-bufferize.mlir |
 | mlir/test/Dialect/Linalg/comprehensive-module-bufferize-analysis.mlir |
 | mlir/test/Dialect/Linalg/comprehensive-module-bufferize-invalid.mlir |
 | mlir/lib/Dialect/Linalg/Transforms/ComprehensiveBufferize.cpp |
Commit
ca0c92d6a1cc93ea83411511848644cb217c31ce
by Stanislav.Mekhanoshin[AMDGPU] Allow to use a whole register file on gfx90a for VGPRs
In a kernel which does not have calls or AGPR usage we can allocate the whole vector register budget for VGPRs and have no AGPRs as long as VGPRs stay addressable (i.e. below 256).
Differential Revision: https://reviews.llvm.org/D111764
|
 | llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp |
 | llvm/test/CodeGen/AMDGPU/attr-amdgpu-flat-work-group-size-vgpr-limit.ll |
 | llvm/test/CodeGen/AMDGPU/vgpr-agpr-limit-gfx90a.ll |
 | llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp |
 | llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h |
 | llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-idiv.ll |
Commit
b7ea298dfd835a9ff4e5e97d4f145099240ba3aa
by Vitaly Buka[msan] Don't use TLS slots of noundef args
Transformations may strip the attribute from the argument, e.g. for unused, which will result in shadow offsets mismatch between caller and callee.
Stripping noundef for used arguments can be a problem, as TLS is not going to be set by caller. However this is not the goal of the patch and I am not aware if that's even possible.
Differential Revision: https://reviews.llvm.org/D112197
|
 | llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp |
 | llvm/test/Instrumentation/MemorySanitizer/msan_eager.ll |
Commit
34c97d5ae35405106b7e34763882756a65ff2d67
by Vitaly Buka[libcxxabi] Fix build after D111947
|
 | libcxxabi/src/cxa_demangle.cpp |
Commit
a48bfc2c09ac13091154adbe5c9d842637f09ee4
by llvmgnsyncbot[gn build] Port 2e97236aacbb
|
 | llvm/utils/gn/secondary/llvm/unittests/Demangle/BUILD.gn |
Commit
ddbf1961941b86a61e824fb6bab1ab11f8b3ea90
by yedeng.yd[Coroutines] Ignore partial lifetime markers refer of an alloca
When I playing with Coroutines, I found that it is possible to generate following IR: ``` %struct = alloca ... %sub.element = getelementptr %struct, i64 0, i64 index ; index is not %zero lifetime.marker.start(%sub.element) % use of %sub.element lifetime.marker.end(%sub.element) store %struct to xxx ; %struct is escaping!
<suspend points> ```
Then the AllocaUseVisitor would collect the lifetime marker for sub.element and treat it as the lifetime markers of the alloca! So it judges that the alloca could be put on the stack instead of the frame by judging the lifetime markers only. The root cause for the bug is that AllocaUseVisitor collects wrong lifetime markers.
This patch fixes this.
Reviewed By: lxfind
Differential Revision: https://reviews.llvm.org/D112216
|
 | llvm/lib/Transforms/Coroutines/CoroFrame.cpp |
 | llvm/test/Transforms/Coroutines/coro-alloca-09.ll |
Commit
85bf221f204eafc1142a064f1650ffa9d9e03dad
by dblaikieFix for OutputStream->OutputBuffer rename
|
 | libcxxabi/src/cxa_demangle.cpp |