- Feb 09, 2023
-
-
William Huang authored
D139603 (add option to llvm-profdata to reduce output profile size) contains test cases that are not cross-platform. Moving those tests to unit test and making sure the feature is callable from llvm library Reviewed By: snehasish Differential Revision: https://reviews.llvm.org/D141446
-
Ziqing Luo authored
Add a pair of clang pragmas: - `#pragma clang unsafe_buffer_usage begin` and - `#pragma clang unsafe_buffer_usage end`, which specify the start and end of an (unsafe buffer checking) opt-out region, respectively. Behaviors of opt-out regions conform to the following rules: - No nested nor overlapped opt-out regions are allowed. One cannot start an opt-out region with `... unsafe_buffer_usage begin` but never close it with `... unsafe_buffer_usage end`. Mis-use of the pragmas will be warned. - Warnings raised from unsafe buffer operations inside such an opt-out region will always be suppressed. This behavior CANNOT be changed by `clang diagnostic` pragmas or command-line flags. - Warnings raised from unsafe operations outside of such opt-out regions may be reported on declarations inside opt-out regions. These warnings are NOT suppressed. - An un-suppressed unsafe operation warning may be attached with notes. These notes are NOT suppressed as well regardless of whether they are in opt-out regions. The implementation maintains a separate sequence of location pairs representing opt-out regions in `Preprocessor`. The `UnsafeBufferUsage` analyzer reads the region sequence to check if an unsafe operation is in an opt-out region. If it is, discard the warning raised from the operation immediately. This is a re-land after I reverting it at 9aa00c8a. The compilation error should be resolved. Reviewed by: NoQ Differential revision: https://reviews.llvm.org/D140179
-
bixia1 authored
Reviewed By: aartbik Differential Revision: https://reviews.llvm.org/D143227
-
Kirill Stoimenov authored
This reverts commit a7db3cb2.
-
Jan Svoboda authored
This reverts commit 16e1a494, essentially reapplying 12d8e7c6. The build bot where this caused issues is supposed to be updated now: https://reviews.llvm.org/D135128#4108588
-
Stanislav Mekhanoshin authored
FP atomics are safe on gfx940. This fixes regression after D131560. Fixes: SWDEV-380468 Differential Revision: https://reviews.llvm.org/D143603
-
Simon Pilgrim authored
-
Stanislav Mekhanoshin authored
This is to precommit tests before future patch.
-
Kirill Stoimenov authored
Reviewed By: vitalybuka Differential Revision: https://reviews.llvm.org/D143209
-
Simon Pilgrim authored
Another of the cleanups necessary for D136529
-
Markus Böck authored
Part of https://discourse.llvm.org/t/rfc-switching-the-llvm-dialect-and-dialect-lowerings-to-opaque-pointers/68179 This is a very simple patch since there is only one use of pointers types in `cf.assert` that has to be changed. Pointer types are conditionally created with element types and the GEP had to be adjusted to use the array type as base type. Differential Revision: https://reviews.llvm.org/D143583
-
Dave Lee authored
-
Philip Reames authored
This code is walking back through a worklist of sources. All of the sources need to be sign extending for the result to be true. We had a case which returned rather than continued, which causes a miscompile when another source was not sign extended. The flawed logic was introduced in Dec 22, by change 844430bc. This was recently exposed in a stage2 build of llvm-tablegen when we switched from using llvm::Optional to std::optional. The stars aligned in just the wrong way, and we started actively miscompiling idiomatic optional usage. std::optional<uint32_t> appears to use the top 32 bits of the word on RV64 for its tag. Differential Revision: https://reviews.llvm.org/D143594
-
Haojian Wu authored
Differential Revision: https://reviews.llvm.org/D143569
-
Peiming Liu authored
Reviewed By: aartbik Differential Revision: https://reviews.llvm.org/D140713
-
Fangrui Song authored
Having symVector makes iteration efficient and is actually more efficient than using llvm::DenseMap<llvm::CachedHashStringRef, Symbol *>, so the FIXME comment can be removed. Using an alternative implementation ankerl/unordered_dense.h decreases link time for chromium by 0.x% but I am unsure it justifies the extra header file.
-
Dave Lee authored
To the Python bindings, add support for Python-like negative indexes. While was using `script`, I tried to access a thread's bottom frame with `thread.frame[-1]`, but that failed. This change updates the `__getitem__` implementations to support negative indexes as one would expect in Python. Differential Revision: https://reviews.llvm.org/D143282
-
Wolfgang Pieb authored
Adding a module flag 'MaxTLSAlign' describing the maximum alignment a global TLS variable can have. Optimizers are prevented from increasing the alignment of such variables beyond this threshold. Reviewed By: probinson Differential Revision: https://reviews.llvm.org/D140123
-
Han Zhu authored
-
Adrian Vogelsgesang authored
The pretty printer for `std::coroutine_handle` was running into > Assertion failed: (target_ctx != source_ctx && "Can't import into itself") from ClangASTImporter.h, line 270. This commit fixes the issue by removing the `CopyType` call from the pretty printer. While this call was necessary in the past, it seems to be no longer required, at least all test cases are still passing. Maybe something changed in the meantime around the handling of `TypesystemClang` instances. I don't quite understand why `CopyType` was necessary earlier. I am not sure how to add a regression test for this, though. It seems the issue is already triggered by the exising `TestCoroutineHandle.py`, but API tests seem to ignore all violations of `lldbassert` and still report the test as "passed", even if assertions were triggered Differential Revision: https://reviews.llvm.org/D143127
-
Philip Reames authored
-
Simon Pilgrim authored
One of the cleanups necessary for D136529 - another being how we're going to handle moving freeze through multiple result nodes (like uaddo and subcarry)
-
Valentin Clement authored
In some remapping case the rank of the pointer is different from the target one. ``` program remap type :: p integer :: a end type t type(p), target :: ta(10) = [ (t(i),i=1,10) ] class(t), pointer :: p(:,:) p(1:2,1:5) => ta end ``` This patch updates the rank and the byte stride to fix such case. Reviewed By: klausler Differential Revision: https://reviews.llvm.org/D143566 -
Moritz Sichert authored
The classification of TLS symbols in ELF was changed from ST_Data to ST_Other in the following commit: 018a484c RuntimeDyldELF::processRelocationRef() needs to be updated to also handle ST_Other symbols so that it handles TLS relocations correctly. The current tests did not fail because we have a shortcut for global symbols that are already defined. Differential Revision: https://reviews.llvm.org/D143568
-
Simon Pilgrim authored
All set to Custom - there's no need to have them in separate loops
-
- Feb 08, 2023
-
-
Valentin Clement authored
D142279 enabled assertion in libstdc++ and one was triggered in the PFTBuilder because an optional was access even if it was null. This patch fix this issue and add a regression test. Reviewed By: jeanPerier Differential Revision: https://reviews.llvm.org/D143589
-
Florian Hahn authored
This patch updates LV to sink recipes directly using the VPlan use chains. The initial patch only moves sinking to be purely VPlan-based. Follow-up patches will move legality checks to VPlan as well. At the moment, there's a single test failure remaining. Reviewed By: Ayal Differential Revision: https://reviews.llvm.org/D142589
-
Sander de Smalen authored
This patch causes a regression, so reverting it while I investigate the issue. This reverts commit e6eb84a1.
-
Erik Desjardins authored
This reverts commit d768b974. Causes sanitizer failure: https://lab.llvm.org/buildbot/#/builders/238/builds/1114 ``` /b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/lib/Support/xxhash.cpp:107:12: runtime error: applying non-zero offset 8 to null pointer #0 0xaaaab28ec6c8 in llvm::xxHash64(llvm::StringRef) /b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/lib/Support/xxhash.cpp:107:12 #1 0xaaaab28cbd38 in llvm::StringMapImpl::LookupBucketFor(llvm::StringRef) /b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/lib/Support/StringMap.cpp:87:28 ``` Probably causes test failure in `warn-unsafe-buffer-usage-fixits-local-var-span.cpp`: https://lab.llvm.org/buildbot/#/builders/60/builds/10619 Probably causes reverse-iteration test failure in `test-output-format.ll`: https://lab.llvm.org/buildbot/#/builders/54/builds/3545
-
Valentin Clement authored
Allocation of unlimited polymorphic allocatable with character intrinsic type is now done through `PointerNullifyCharacter` or `AllocatableInitCharacter` so the length is correctly set. Reviewed By: jeanPerier Differential Revision: https://reviews.llvm.org/D143580
-
Vladislav Dzhidzhoev authored
Reimplemented SelectionDAG code for GlobalISel. Fixes https://github.com/llvm/llvm-project/issues/54079 Differential Revision: https://reviews.llvm.org/D130903
-
Simon Pilgrim authored
Use APInt::setBit() method instead of OR'ing individual bits.
-
Brian Cain authored
Patch-by:
Colin Lemahieu <colinl@codeaurora.org> Differential Revision: https://reviews.llvm.org/D143531
-
Valentin Clement authored
Result must carry the polymorphic type information from the vector. Reviewed By: jeanPerier Differential Revision: https://reviews.llvm.org/D143575
-
Zain Jaffal authored
This reverts commit 665ee0cd. Fix comments and formatting style.
-
Joseph Huber authored
Summary: We don't have the infastructure to support MPFR on the GPU. We should disable this categorically on GPU builds for now.
-
Guillaume Chatelet authored
-
Sanjay Patel authored
-
Florian Hahn authored
This adds test coverage to avoid crashes with further changes.
-
David Green authored
A combination of GlobalISel and MachineCombiner can end up creating `SUB xrz, (MOVI -2105098)` instructions which have not been constant folded. The AArch64MIPeepholeOpt pass will then attempt to create `ADD xzr, 513, lsl 12`, which is not a valid instruction. This adds a bail out of the transform if the register is xzr/wzr. Fixes #60528 Differential Revision: https://reviews.llvm.org/D143475
-