Commit
92106641ae297c24877085e0357e8095aa7b43c9
by aqjune[ValueTracking] Make isGuaranteedNotToBeUndefOrPoison exit early when MetadataAsValue is given
It is set to conservatively return false, otherwise noundef attributes are added to function calls with metadata arguments.
|
 | llvm/lib/Analysis/ValueTracking.cpp |
Commit
1ca6bd261e0aebdd73e3af98fb97c444c2a339cd
by i[lld] Clean up in lld::{coff,elf}::link after D70378
Library users should not need to call errorHandler().reset() explicitly.
google/iree calls lld::elf::link and without the patch some global variables are not cleaned up in the next invocation.
|
 | lld/ELF/Driver.cpp |
 | lld/COFF/Driver.cpp |
Commit
3185839bcf6614af28c255e90195f6b1cafee106
by kparzysz[Hexagon] Avoid crash on CONCAT_VECTORS with illegal element types
Legal vector element types may not be legal as scalar types. When CONCAT_VECTORS is converted to BUILD_VECTOR, the individual vector elements become standalone operands to the build operation. If they have illegal (scalar) types, they need to be made legal. In doing so, the case of TRUNCATE was not handled, causing an assertion to fail.
|
 | llvm/test/CodeGen/Hexagon/autohvx/isel-hvx-concat-truncate.ll |
 | llvm/lib/Target/Hexagon/HexagonISelLoweringHVX.cpp |
Commit
960535d65a927b27ff883250094492842c33ca86
by joker.ephHint how to get a symbolized stack trace if llvm-symbolizer is not found on crashes
Most users of LLVM tools hit the raw traces and don't know how to get LLVM to symbolize automatically for them.
When we print the non-symbolized stack trace, we will add information about how to get it symbolized.
Reviewed By: MaskRay
Differential Revision: https://reviews.llvm.org/D88269
|
 | llvm/lib/Support/Unix/Signals.inc |
Commit
8c98c8803430804010da06a07cfb291dab59067c
by richardPR47176: Don't read from an inactive union member if a friend function has default arguments and an exception specification.
|
 | clang/lib/Parse/ParseDecl.cpp |
 | clang/lib/Parse/ParseDeclCXX.cpp |
 | clang/include/clang/Parse/Parser.h |
 | clang/test/Parser/cxx0x-decl.cpp |
Commit
6f7fbdd2857fc8a7280afbb26fd4e1a6450069e4
by ianlevesque[xray] Function coverage groups
Add the ability to selectively instrument a subset of functions by dividing the functions into N logical groups and then selecting a group to cover. By selecting different groups over time you could cover the entire application incrementally with lower overhead than instrumenting the entire application at once.
Differential Revision: https://reviews.llvm.org/D87953
|
 | clang/test/CodeGen/xray-function-groups.cpp |
 | llvm/docs/XRay.rst |
 | clang/include/clang/Basic/CodeGenOptions.def |
 | clang/include/clang/Driver/Options.td |
 | clang/lib/Frontend/CompilerInvocation.cpp |
 | clang/include/clang/Driver/XRayArgs.h |
 | clang/lib/CodeGen/CodeGenFunction.cpp |
 | clang/lib/Driver/XRayArgs.cpp |
Commit
64b8a633a872f25c8b3f9414c22165405400ea10
by zarko[NFC] [PPC] Add PowerPC expected IR tests for C99 complex
Adding this test so that I can extend it in a follow on patch with expected IR for AIX when I implement complex handling in AIXABIInfo.
Reviewed By: daltenty, ZarkoCA
Differential Revision: https://reviews.llvm.org/D88105
|
 | clang/test/CodeGen/powerpc-c99complex.c |
Commit
15a5e86fb387359f736e919eeb5cc2b9f4477d48
by tlively[lld][WebAssembly] Allow `atomics` feature with unshared memory
https://github.com/WebAssembly/threads/issues/144 updated the WebAssembly threads proposal to make atomic operations on unshared memories valid. This change updates the feature checking in the linker accordingly. Production WebAssembly engines have recently been updated to allow this behvaior, but after this change users who accidentally use atomics with unshared memories on older versions of the engines will get validation errors at runtime rather than link errors.
Differential Revision: https://reviews.llvm.org/D79530
|
 | lld/wasm/Writer.cpp |
 | lld/test/wasm/shared-memory.yaml |
Commit
7db7a355453887906d12ffb67df8fbaa5e9e873d
by ianlevesqueFix uninitialized XRayArg
|
 | clang/include/clang/Driver/XRayArgs.h |
Commit
ef36e8380a9109c43ef4a564083428a14a9b818a
by asteinhauser[libc] Using llvm_libc memcpy in mem* benchmarks.
Currently the mem* benchmarks use memcpy from Glibc and memset from LLVM libc. That's misleading and produces inconsistent results and behaviors.
This change makes Memcpy.cpp consistent with Memset.cpp: https://github.com/llvm/llvm-project/blob/master/libc/benchmarks/Memset.cpp#L49
Reviewers: sivachandra
Reviewed By: sivachandra
Differential Revision: https://reviews.llvm.org/D88271
|
 | libc/benchmarks/Memcpy.cpp |
Commit
396e7f454893e24969bb989fe89aa028e2ea1693
by artur.bialas[mlir][SCFToGPU] LaunchOp propagate optional attributes
Allow propagating optional user defined attributes during SCF to GPU conversion. Gives opportunity to use user defined attributes in the further lowering. For example setting subgroup size, or other options for GPU dispatch. This does not break backward compatibility and does not require new attributes, just allow passing optional ones.
Differential Revision: https://reviews.llvm.org/D88203
|
 | mlir/lib/Conversion/SCFToGPU/SCFToGPU.cpp |
 | mlir/test/Conversion/SCFToGPU/parallel_loop.mlir |
Commit
a399d1880bc6e2a13cad02a2a3cb024c27d32ac2
by sam.parker[ARM] Find VPT implicitly predicated by VCTP
On failing to find a VCTP in the list of instructions that explicitly predicate the entry of a VPT block, inspect whether the block is controlled via VPT which is implicitly predicated due to it's predicated operand(s).
Differential Revision: https://reviews.llvm.org/D87819
|
 | llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp |
 | llvm/lib/CodeGen/ReachingDefAnalysis.cpp |
 | llvm/test/CodeGen/Thumb2/LowOverheadLoops/remat-vctp.ll |
 | llvm/test/CodeGen/Thumb2/LowOverheadLoops/vpt-blocks.mir |