Commit
5556616b5b5223f95607ad94053a55f0deaf2762
by kostyak[GWP-ASan] Port tests to Fuchsia
This modifies the tests so that they can be run on Fuchsia: - add the necessary includes for `set`/`vector` etc - do the few modifications required to use zxtest instead og gtest
`backtrace.cpp` requires stacktrace support that Fuchsia doesn't have yet, and `enable_disable.cpp` currently uses `fork()` which Fuchsia doesn't support yet. I'll revisit this later.
I chose to use `harness.h` to hold my "platform-specific" include and namespace, and using this header in tests rather than `gtest.h`, which I am open to change if someone would rather go another direction.
Differential Revision: https://reviews.llvm.org/D91575
|
 | compiler-rt/lib/gwp_asan/tests/late_init.cpp |
 | compiler-rt/lib/gwp_asan/tests/alignment.cpp |
 | compiler-rt/lib/gwp_asan/tests/compression.cpp |
 | compiler-rt/lib/gwp_asan/tests/crash_handler_api.cpp |
 | compiler-rt/lib/gwp_asan/tests/iterate.cpp |
 | compiler-rt/lib/gwp_asan/tests/driver.cpp |
 | compiler-rt/lib/gwp_asan/tests/harness.cpp |
 | compiler-rt/lib/gwp_asan/tests/slot_reuse.cpp |
 | compiler-rt/lib/gwp_asan/tests/harness.h |
 | compiler-rt/lib/gwp_asan/tests/mutex_test.cpp |
Commit
e597116f055d2e82d9179f6edcb49dd015c514c2
by aeubanks[NPM] Add implicit basic-aa before other AA
This matches the legacy AA infra and fixes llvm/test/ANalysis/TypeBasedAliasAnalysis/precedence.ll under NPM.
|
 | llvm/tools/opt/NewPMDriver.cpp |
Commit
96d40df71ecee07c69aea512f6c04fc4fbe6acfb
by iMCExpr::evaluateAsRelocatableImpl : allow evaluation of non-VK_None MCSymbolRefExpr when MCAsmLayout is available
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=4acf8c78e659833be8be047ba2f8561386a11d4b (1994) introduced this behavior: if a fixup symbol is equated to an expression with an undefined symbol, convert the fixup to be against the target symbol. glibc relies on this behavior to perform assembly level indirection
``` asm("memcpy = __GI_memcpy"); // from sysdeps/generic/symbol-hacks.h
... // call memcpy@PLT // The relocation references __GI_memcpy in GNU as, but memcpy in MC (without the patch) memcpy (...); ```
(1) It complements `extern __typeof(memcpy) memcpy asm("__GI_memcpy");` The frontend asm label does not redirect synthesized memcpy in the middle-end. (See D88712 for details) (2) `asm("memcpy = __GI_memcpy");` is in every translation unit, but the memcpy declaration may not be visible in the translation unit where memcpy is synthesized.
MC already redirects `memcpy = __GI_memcpy; call memcpy` but not `memcpy = __GI_memcpy; call memcpy@plt`. This patch fixes the latter by allowing MCExpr::evaluateAsRelocatableImpl to evaluate a non-VK_None MCSymbolRefExpr, which is only done after the layout is available.
GNU as allows `memcpy = __GI_memcpy+1; call memcpy@PLT` which seems nonsensical, so we don't allow it.
`MC/PowerPC/pr38945.s` `NUMBER = 0x6ffffff9; cmpwi 8,NUMBER@l` requires the `symbol@l` form in AsmMatcher, so evaluation needs to be deferred. This is the place whether future simplification may be possible.
Note, if we suppress the VM_None evaluation when MCAsmLayout is nullptr, we may lose the `invalid reassignment of non-absolute variable` diagnostic (`ARM/thumb_set-diagnostics.s` and `MC/AsmParser/variables-invalid.s`). We know that this diagnostic is troublesome in some cases (https://github.com/ClangBuiltLinux/linux/issues/1008), so we can consider making simplification in the future.
Reviewed By: jyknight
Differential Revision: https://reviews.llvm.org/D88625
|
 | llvm/test/MC/ELF/relocation-alias.s |
 | llvm/test/MC/ELF/relocation.s |
 | llvm/lib/MC/MCExpr.cpp |
 | llvm/test/MC/ARM/ehabi-personality-abs.s |
Commit
ea4973f2068abfbfd637ed446c18fe2191301cad
by psteinfeld[flang] Improve error message on bad LOGICAL compare operations
When comparing LOGICAL operands using ".eq." or ".ne." we were not guiding users to the ".eqv." and ".neqv." operations.
Differential Revision: https://reviews.llvm.org/D91736
|
 | flang/test/Semantics/resolve98.f90 |
 | flang/lib/Semantics/expression.cpp |
Commit
5349f99114cfcf597220cbc9b9253f178a43fabd
by pklausler[flang] Correct handling of null pointer initializers
Fortran defines "null-init" null pointer initializers as being function references, syntactically, that have to resolve to calls to the intrinsic function NULL() with no actual arguments.
Differential revision: https://reviews.llvm.org/D91657
|
 | flang/test/Semantics/symbol15.f90 |
 | flang/lib/Semantics/expression.cpp |
 | flang/test/Semantics/null-init.f90 |
 | flang/lib/Evaluate/check-expression.cpp |
 | flang/lib/Semantics/data-to-inits.cpp |
 | flang/include/flang/Parser/parse-tree.h |
 | flang/test/Semantics/modfile20.f90 |
 | flang/include/flang/Semantics/expression.h |
 | flang/docs/f2018-grammar.md |
 | flang/lib/Parser/Fortran-parsers.cpp |
 | flang/lib/Semantics/resolve-names.cpp |
Commit
be00e8893fdb814e67d8f06401afe869f878c4cf
by Louis Dionne[libc++] Clarify how we pick the typeinfo comparison
This commit makes it clear that the typeinfo comparison implementation is automatically selected by default, and that the CMake option only overrides the value. This has been a source of confusion and bugs ever since we've introduced complexity in that area, so I'm trying to simplify it while still allowing for some control on the implementation.
Differential Revision: https://reviews.llvm.org/D91574
|
 | libcxx/include/__config_site.in |
 | libcxx/CMakeLists.txt |
 | libcxx/docs/BuildingLibcxx.rst |
 | libcxx/include/__config |
 | libcxx/include/typeinfo |
 | libcxx/cmake/caches/Apple.cmake |
Commit
44cd03ad041e136b5fb1f512f470b1bfe1c49aad
by kai.wang[RISCV] Use register class VR for V instruction operands directly.
@tangxingxin1008 found a bug that regard vadd.vv v1, v3, a0 as a valid V instruction. We should remove the VRegAsmOperand operand class and use VR register class directly.
Patched by: tangxingxin1008, Hsiangkai Differential Revision: https://reviews.llvm.org/D91712
|
 | llvm/lib/Target/RISCV/RISCVInstrInfoV.td |
 | llvm/test/MC/RISCV/rvv/invalid.s |
Commit
5f2c5541f78750c21004e0172f13db4632966fd3
by richardFix assert on valid due to incorrect assumption that a field name must be unique in its scope.
|
 | clang/lib/Sema/SemaDeclCXX.cpp |
 | clang/test/SemaTemplate/default-member-init.cpp |
Commit
c1ba9c43adb7ee101048e88ab33c94a1ceda398e
by diego.caballero[mlir][Affine] Refactor affine fusion code in pass to utilities
Refactoring/clean-up step needed to add support for producer-consumer fusion with multi-store producer loops and, in general, to implement more general loop fusion strategies in Affine. It introduces the following changes: - AffineLoopFusion pass now uses loop fusion utilities more broadly to compute fusion legality (canFuseLoops utility) and perform the fusion transformation (fuseLoops utility). - Loop fusion utilities have been extended to deal with AffineLoopFusion requirements and assumptions while preserving both loop fusion utilities and AffineLoopFusion current functionality within a unified implementation. 'FusionStrategy' has been introduced for this purpose and, in the future, it will allow us to have a single loop fusion core implementation that will produce different fusion outputs depending on the strategy used. - Improve separation of concerns for legality and profitability analysis: 'isFusionProfitable' no longer filters out illegal scenarios that 'canFuse' didn't detect, or the other way around. 'canFuse' now takes loop dependences into account to determine the fusion loop depth (producer-consumer fusion only). - As a result, maximal fusion now doesn't require any profitability analysis. - Slices are now computed only once and reused across the legality, profitability and fusion transformation steps (producer-consumer). - Refactor some utilities and remove redundant copies of them.
This patch is NFCI and should preserve the existing functionality of both the AffineLoopFusion pass and the affine fusion utilities.
Reviewed By: andydavis1, bondhugula
Differential Revision: https://reviews.llvm.org/D90798
|
 | mlir/lib/Transforms/LoopFusion.cpp |
 | mlir/include/mlir/Analysis/Utils.h |
 | mlir/include/mlir/Transforms/LoopFusionUtils.h |
 | mlir/lib/Transforms/Utils/LoopFusionUtils.cpp |
 | mlir/lib/Analysis/Utils.cpp |
 | mlir/test/lib/Transforms/TestLoopFusion.cpp |
Commit
5824a572adb57b0437b540b61116ca5e8c9fcace
by thakis[gn build] (manually) merge f0785c1f7ac
|
 | llvm/utils/gn/secondary/libcxx/include/BUILD.gn |
Commit
0e2585c8042bd6ce4eca1333c64234adac7487f2
by Vitaly Buka[tsan] Add pthread_cond_clockwait interceptor
Disable the test on old systems. pthread_cond_clockwait is supported by glibc-2.30. It also supported by Android api 30 even though we do not run tsan on Android.
Fixes https://github.com/google/sanitizers/issues/1259
Reviewed By: dvyukov
|
 | compiler-rt/test/tsan/Linux/clockwait_double_lock.c |
 | compiler-rt/test/lit.common.cfg.py |
 | compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp |
Commit
f3aa9e36d91b7b0f4f24f7a3b13cf80c11356e5e
by Jonas Devlieghere[MachO] Update embedded part of ObjectFileMachO for Mangled API change
Mangled::GetName and Mangled::GetDemangledName no longer take any arguments.
|
 | lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp |
Commit
132d6d73ea024beab3df99df2ecf4d345995fdfd
by marukawa[VE] Add vmv intrinsic instructions
Add vmv intrinsic instructions and regression tests.
Reviewed By: simoll
Differential Revision: https://reviews.llvm.org/D91700
|
 | llvm/lib/Target/VE/VEInstrIntrinsicVL.gen.td |
 | llvm/include/llvm/IR/IntrinsicsVEVL.gen.td |
 | llvm/test/CodeGen/VE/VELIntrinsics/vmv.ll |
Commit
544cb649d7789a4199e8acea6e8a9da1409702b1
by scott.linder[YAMLIO] Add a generic YAML fuzzer harness
This is essentially a clone of the existing fuzzer added in D50839, but for the whole parser Streamer, and currently only testing for sanitizer violations.
Differential Revision: https://reviews.llvm.org/D91573
|
 | llvm/tools/llvm-yaml-parser-fuzzer/CMakeLists.txt |
 | llvm/tools/llvm-yaml-parser-fuzzer/yaml-parser-fuzzer.cpp |
 | llvm/tools/llvm-yaml-parser-fuzzer/DummyYAMLParserFuzzer.cpp |
Commit
2980933d850b7506a1a96f8d11588b71956f4089
by scott.linder[YAMLIO] Support non-null-terminated inputs
In some places the parser guards against dereferencing `End`, while in others it relies on the presence of a trailing `'\0'` to elide checks.
Add the remaining guards needed to ensure the parser never attempts to dereference `End`, making it safe to not require a null-terminated input buffer.
Update the parser fuzzer harness so that it tests with buffers that are guaranteed to be non-null-terminated, null-terminated, and 1-terminated, additionally ensuring the result of the parse is the same in each case.
Some of the regression tests were written by inspection, and some are cases caught by the fuzzer which required additional fixes in the parser.
Differential Revision: https://reviews.llvm.org/D84050
|
 | llvm/tools/llvm-yaml-parser-fuzzer/yaml-parser-fuzzer.cpp |
 | llvm/unittests/Support/YAMLIOTest.cpp |
 | llvm/lib/Support/YAMLParser.cpp |
Commit
67f16e9e91f2f07cdb9813b60c195f5a1cd1f57d
by aeubanks[NPM] Remove -enable-npm-optnone flag
It has been on by default for a couple months without complaint.
Reviewed By: asbirlea
Differential Revision: https://reviews.llvm.org/D91743
|
 | llvm/lib/Passes/StandardInstrumentations.cpp |
 | clang/test/CodeGen/no-skipped-passes-O0-opt-bisect.c |
 | llvm/test/Feature/optnone-opt.ll |
 | clang/test/CodeGen/aggregate-assign-call.c |
Commit
523cc097fdafa1bb60373dcc70df7dfd31551f56
by eugenis[hwasan] Fix Thread reuse (try 2).
HwasanThreadList::DontNeedThread clobbers Thread::next_, Breaking the freelist. As a result, only the top of the freelist ever gets reused, and the rest of it is lost.
Since the Thread object with its associated ring buffer is only 8Kb, this is typically only noticable in long running processes, such as fuzzers.
Fix the problem by switching from an intrusive linked list to a vector.
Differential Revision: https://reviews.llvm.org/D91392
|
 | compiler-rt/lib/hwasan/hwasan_thread.h |
 | compiler-rt/lib/hwasan/hwasan_thread_list.h |
 | compiler-rt/test/hwasan/TestCases/thread-uaf.c |
 | compiler-rt/test/hwasan/TestCases/Linux/reuse-threads.cpp |
Commit
5747380772e0bbf5762e5ed9c39e6c9265bafc87
by dblaikieAdded GDB pretty printer for StringMap
Reviewed By: csigg, dblaikie
Differential Revision: https://reviews.llvm.org/D91183
|
 | llvm/utils/gdb-scripts/prettyprinters.py |
 | llvm/include/llvm/ADT/StringMap.h |
 | debuginfo-tests/llvm-prettyprinters/gdb/llvm-support.gdb |
 | debuginfo-tests/llvm-prettyprinters/gdb/llvm-support.cpp |