Commit
e1669843f2aaf1e4929afdd8f125c14536d27664
by qiucofanRevert "[SelectionDAG] Remove unused FP constant in getNegatedExpression"
2508ef01 doesn't totally fix the issue since we did not handle the case when unused temporary negated result is the same with the result, which is found by address sanitizer.
|
 | llvm/test/CodeGen/X86/pr47517.ll |
 | llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp |
Commit
65f6810d3a4b0ef1fdaad49e808459fbd133bb20
by stefanp[LLD][PowerPC] Add support for R_PPC64_TPREL34 used in TLS Local Exec
Add Thread Local Storage Local Exec support to LLD. This is to support PC Relative addressing of Local Exec. The patch teaches LLD to handle: ``` paddi r9, r13, x1@tprel ``` The relocation is: ``` R_PPC_TPREL34 ```
Reviewed By: NeHuang, MaskRay
Differential Revision: https://reviews.llvm.org/D86608
|
 | lld/ELF/Arch/PPC64.cpp |
 | lld/test/ELF/ppc64-tls-pcrel-le.s |
Commit
85763e0758fbd238c81f233c6f9510e81c7de177
by gchatelet[libc] Fix typo in platform_defs.h.inc
Differential Revision: https://reviews.llvm.org/D87687
|
 | libc/config/linux/platform_defs.h.inc |
 | libc/config/linux/platfrom_defs.h.inc |
 | libc/src/__support/CMakeLists.txt |
Commit
00d6e7116c208b06e4c85bb58a40e76412be65a6
by gchatelet[libc] Add missing LibcFPTestHelpers library
Differential Revision: https://reviews.llvm.org/D87690
|
 | libc/utils/MPFRWrapper/CMakeLists.txt |
Commit
e328456a9e6fa8c1ef05e183c1506ed837005847
by gchatelet[libc] Add missing TableGen dependency
Differential Revision: https://reviews.llvm.org/D87689
|
 | libc/utils/LibcTableGenUtil/CMakeLists.txt |
Commit
a012bc4c42e4408a18e4c4d67306b79c576df961
by gabor.marton[analyzer][StdLibraryFunctionsChecker] Elaborate the summary of fread and fwrite
Add the BufferSize argument constraint to fread and fwrite. This change itself makes it possible to discover a security critical case, described in SEI-CERT ARR38-C.
We also add the not-null constraint on the 3rd arguments.
In this patch, I also remove those lambdas that don't take any parameters (Fwrite, Fread, Getc), thus making the code better structured.
Differential Revision: https://reviews.llvm.org/D87081
|
 | clang/test/Analysis/Inputs/system-header-simulator.h |
 | clang/test/Analysis/std-c-library-functions-vs-stream-checker.c |
 | clang/include/clang/StaticAnalyzer/Checkers/Checkers.td |
 | clang/test/Analysis/analyzer-enabled-checkers.c |
 | clang/test/Analysis/std-c-library-functions-arg-constraints.c |
 | clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp |
Commit
7df873f9c67099a209f0122a1f5411e701a9d425
by grimar[llvm-readobj/elf] - Don't crash when the size of s dynamic symbol table, inferred from the hash table, is broken.
Currently we might derive the dynamic symbol table size from the DT_HASH hash table (using its `nchain` field). It is possible to crash dumpers with a broken relocation that refers to a symbol with an index that is too large. To trigger it, the inferred size of the dynamic symbol table should go past the end of the object.
This patch adds a size validation + warning.
Differential revision: https://reviews.llvm.org/D86923
|
 | llvm/test/tools/llvm-readobj/ELF/dyn-symbols-size-from-hash-table.test |
 | llvm/tools/llvm-readobj/ELFDumper.cpp |
 | llvm/test/tools/llvm-readobj/ELF/hash-symbols.test |
 | llvm/test/tools/llvm-readobj/ELF/hash-histogram.test |
 | llvm/test/tools/llvm-readobj/ELF/hash-table.test |
Commit
7c6f5b7fbf5a9eee7f3ef9192c354d1536a8f1c6
by dkszelethus[analyzer] Add documentation for alpha.fuchsia.Lock and alpha.core.C11Lock
Differential Revision: https://reviews.llvm.org/D86532
|
 | clang/docs/analyzer/checkers.rst |
 | clang/docs/analyzer/user-docs/CrossTranslationUnit.rst |
Commit
8985755762a429573af2ce657274772339d3b9db
by spatel[InstSimplify] add limit folds for fmin/fmax
If the constant operand is the opposite of the min/max value, then the result must be the other value.
This is based on the similar codegen transform proposed in: D87571
|
 | llvm/lib/Analysis/InstructionSimplify.cpp |
 | llvm/test/Transforms/PhaseOrdering/X86/vector-reductions-expanded.ll |
 | llvm/test/Transforms/InstSimplify/fminmax-folds.ll |
Commit
39c8795141703a7d8313b2448d9d34e856df0b85
by Louis Dionne[libc++] Use allocator_traits to consistently allocate/deallocate/construct/destroy objects in std::any
https://llvm.org/PR45099 notes (correctly) that we're inconsistent in memory allocation in `std::any`. We allocate memory with `std::allocator<T>::allocate`, construct with placement new, destroy by calling the destructor directly, and deallocate by calling `delete`. Most of those are customizable by the user, but in different ways.
The standard is silent on how these things are to be accomplished. This patch makes it so we use `allocator_traits<allocator<T>>` for all of these operations (allocate, construct, destruct, deallocate). This is, at least, consistent.
Fixes https://llvm.org/PR45099.
Differential Revision: https://reviews.llvm.org/D81133
|
 | libcxx/include/any |
 | libcxx/test/libcxx/utilities/any/allocator.pass.cpp |
Commit
2b42d53e5ea4ee648cde5b2f73523f01f2405631
by llvm-devSLPVectorizer.h - remove unnecessary AliasAnalysis.h include. NFCI.
Forward declare AAResults instead of the (old) AliasAnalysis type.
Remove includes from SLPVectorizer.cpp that are already included in SLPVectorizer.h.
|
 | llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp |
 | llvm/include/llvm/Transforms/Vectorize/SLPVectorizer.h |
Commit
01f5fcd8290349265e6039ad9089b086ea783f00
by clementval[mlir][openacc] Add loop op verifier
Add a verifier for the loop op in the OpenACC dialect. Check basic restriction from 2.9 Loop construct from the OpenACC 3.0 specs.
Reviewed By: ftynse
Differential Revision: https://reviews.llvm.org/D87546
|
 | mlir/test/Dialect/OpenACC/invalid.mlir |
 | mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td |
 | mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp |
 | mlir/test/Dialect/OpenACC/ops.mlir |
Commit
dd1d5488e47d0a89217dfd22a726c3d3ad2b4984
by dkszelethus[analyzer][Liveness][NFC] Get rid of statement liveness, because such a thing doesn't exist
The summary and very short discussion in D82122 summarizes whats happening here.
In short, liveness talks about variables, or expressions, anything that has a value. Well, statements just simply don't have a one.
Differential Revision: https://reviews.llvm.org/D82598
|
 | clang/test/Analysis/live-stmts.cpp |
 | clang/lib/StaticAnalyzer/Core/Environment.cpp |
 | clang/docs/analyzer/developer-docs/DebugChecks.rst |
 | clang/test/Analysis/live-stmts.mm |
 | clang/include/clang/Analysis/Analyses/LiveVariables.h |
 | clang/include/clang/StaticAnalyzer/Checkers/Checkers.td |
 | clang/lib/StaticAnalyzer/Core/SymbolManager.cpp |
 | clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h |
 | clang/lib/StaticAnalyzer/Checkers/DebugCheckers.cpp |
 | clang/lib/Analysis/LiveVariables.cpp |
Commit
ec2b0a51977861ed7be92c365ec2636fbf690528
by jasonliu[XCOFF] Run resource intense test only on platforms where it makes sense
This is a follow up commit for the issue raised in https://reviews.llvm.org/D86879
|
 | llvm/test/CodeGen/PowerPC/aix-overflow-toc.py |