- May 20, 2021
-
-
Vitaly Buka authored
sleep(1) does not guaranty afterfork order. Also relative child/parent afterfork order is not important for this test so we can just avoid checking that. Reviewed By: dvyukov Differential Revision: https://reviews.llvm.org/D102810
-
Xiang1 Zhang authored
This reverts commit 81c18ce0.
-
Sergey Dmitriev authored
That fixes a problem of using bundler with file names starting with dash. Reviewed By: ABataev Differential Revision: https://reviews.llvm.org/D102752
-
Xiang1 Zhang authored
In LAM model X86_64 will use bits 57-62 (of 0-63) as HWASAN tag. So here we make sure the tag shift position and tag mask is correct for x86-64. Differential Revision: https://reviews.llvm.org/D102472
-
Sergey Dmitriev authored
Reviewed By: hubert.reinterpretcast Differential Revision: https://reviews.llvm.org/D102823
-
Johannes Doerfert authored
If a test does not contain an " simd" but -fopenmp-simd RUN lines we can just check that we do not create __kmpc|__tgt calls. Reviewed By: ABataev Differential Revision: https://reviews.llvm.org/D101973
-
Zhiwei Chen authored
Currently 1 byte global object has a ridiculous 63 bytes redzone. This patch reduces the redzone size to be less than 32 if the size of global object is less than or equal to half of 32 (the minimal size of redzone). A 12 bytes object has a 20 bytes redzone, a 20 bytes object has a 44 bytes redzone. Reviewed By: MaskRay, #sanitizers, vitalybuka Differential Revision: https://reviews.llvm.org/D102469
-
Jon Roelofs authored
-
River Riddle authored
The current implementation has several key limitations and weirdness, e.g local reproducers don't support dynamic pass pipelines, error messages don't include the passes that failed, etc. This revision refactors the implementation to support more use cases, and also be much cleaner. The main change in this revision, aside from moving the implementation out of Pass.cpp and into its own file, is the addition of a crash recovery pass instrumentation. For local reproducers, this instrumentation handles setting up the recovery context before executing each pass. For global reproducers, the instrumentation is used to provide a more detailed error message, containing information about which passes are running and on which operations. Example of new message: ``` error: Failures have been detected while processing an MLIR pass pipeline note: Pipeline failed while executing [`TestCrashRecoveryPass` on 'module' operation: @foo]: reproducer generated at `crash-recovery.mlir.tmp` ``` Differential Revision: https://reviews.llvm.org/D101854
-
River Riddle authored
This flag will print the IR after a pass only in the case where the pass failed. This can be useful to more easily view the invalid IR, without needing to print after every pass in the pipeline. Differential Revision: https://reviews.llvm.org/D101853
-
Fangrui Song authored
-
Fangrui Song authored
`clang -fpic -fno-semantic-interposition` may set dso_local on variables for -fpic. GCC folks consider there are 'address interposition' and 'semantic interposition', and 'disabling semantic interposition' can optimize function calls but cannot change variable references to use local aliases (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100483). This patch removes dso_local for variables in `clang -fpic -fno-semantic-interposition` mode so that the built shared objects can work with copy relocations. Building llvm-project tiself with -fno-semantic-interposition (D102453) should now be safe with trunk Clang. Example: ``` // a.c int var; int *addr() { return var; } // old: cannot be interposed movslq .Lvar$local(%rip), %rax // new: can be interposed movq var@GOTPCREL(%rip), %rax movslq (%rax), %rax ``` The local alias lowering for `GlobalVariable`s is kept in case there is a future option allowing local aliases. Reviewed By: rnk Differential Revision: https://reviews.llvm.org/D102583
-
Richard Smith authored
satisfaction. Previously we used the rules for constant folding in a non-constant context, meaning that we'd incorrectly accept foldable non-constant expressions and that std::is_constant_evaluated() would evaluate to false.
-
LLVM GN Syncbot authored
-
Sam Clegg authored
Ensure that both SyntheticMergedChunk and all MergeInfoChunks that it comprises are assigned the correct output section. Without this we would crash when outputting relocations in --relocatable mode. Fixes: https://github.com/emscripten-core/emscripten/issues/14220 Differential Revision: https://reviews.llvm.org/D102806
-
Ahmed Bougacha authored
To track security issues, we're starting with the chromium bug tracker (using the llvm project there). We considered using Github Security Advisories. However, they are currently intended as a way for project owners to publicize their security advisories, and aren't well-suited to reporting issues. This also moves the issue-reporting paragraph to the beginning of the document, in part to make it more discoverable, in part to allow the anchor-linking to actually display the paragraph at the top of the page. Note that this doesn't update the concrete list of security-sensitive areas, which is still an open item. When we do, we may want to move the list of security-sensitive areas next to the issue-reporting paragraph as well, as it seems like relevant information needed in the reporting process. Finally, when describing the discission medium, this splits the topics discussed into two: the concrete security issues, discussed in the issue tracker, and the logistics of the group, in our mailing list, as patches on public lists, and in the monthly sync-up call. While there, add a SECURITY.md page linking to the relevant paragraph. Differential Revision: https://reviews.llvm.org/D100873
-
Jon Roelofs authored
Differential revision: https://reviews.llvm.org/D102452
-
Ryan Prichard authored
The ROR instruction can only handle immediates between 1 and 31. The would-be encoding for ROR #0 is actually the RRX instruction. Reviewed By: nickdesaulniers Differential Revision: https://reviews.llvm.org/D102455
-
Petr Hosek authored
When using distributions, targets that aren't included in any distribution don't need to be as optimized as targets that are included since those targets are typically only used for tests. We might consider avoiding LTO for these targets altogether, see https://lists.llvm.org/pipermail/llvm-dev/2021-April/149843.html Differential Revision: https://reviews.llvm.org/D102732
-
hasheddan authored
Updates a minor typo in vector dialect documentation. Reviewed By: aartbik Differential Revision: https://reviews.llvm.org/D101203
-
Martin Storsjö authored
This reverts commit 2919222d. That commit broke backwards compatibility. Additionally, the replacement, -Wa,-mimplicit-it, isn't yet supported by any stable release of Clang. See D102812 for a fix for the error cases when callers specify both -mimplicit-it and -Wa,-mimplicit-it.
-
Vitaly Buka authored
-
Aart Bik authored
Skip the sparsification pass for Linalg ops without annotated tensors (or cases that are not properly handled yet). Reviewed By: bixia Differential Revision: https://reviews.llvm.org/D102787
-
River Riddle authored
We allow stealing up to 3 bits of pointers to BaseStorage, so we need to make sure that we align by at least 8.
-
Marius Brehler authored
Reviewed By: sjarus Differential Revision: https://reviews.llvm.org/D102802
-
Sean Silva authored
Also, fix a small typo where the "unsigned" splat variants were not being created with an unsigned type. Differential Revision: https://reviews.llvm.org/D102797
-
wlei authored
This change tries to fix a place missing `moveAndDanglePseudoProbes `. In FoldValueComparisonIntoPredecessors, it folds the BB into predecessors and then marked the BB unreachable. However, the original logic from the BB is still alive, deleting the probe will mislead the SampleLoader mark it as zero count sample. Reviewed By: hoy, wenlei Differential Revision: https://reviews.llvm.org/D102721
-
Richard Smith authored
corresponding constructor for access checking purposes.
-
Lang Hames authored
These will be used for error propagation and handling in the ORC runtime. The implementations of these types are cut-down versions of the error support in llvm/Support/Error.h. Most advice on llvm::Error and llvm::Expected (e.g. from the LLVM Programmer's manual) applies equally to __orc_rt::Error and __orc_rt::Expected. The primary difference is the mechanism for testing and handling error types: The ORC runtime uses a new 'error_cast' operation to replace the handleErrors family of functions. See error_cast comments in error.h.
-
Lang Hames authored
-
Raphael Isemann authored
This reverts commit 4b074b49. Some of the new tests are failing on Debian.
-
Marius Brehler authored
Reviewed By: sjarus, stellaraccident Differential Revision: https://reviews.llvm.org/D102800
-
River Riddle authored
Reland Note: This was accidentally reverted in 80d981ed, but is an important improvement even outside of the driving motivator in D102567. We currently use SourceMgr::getLineAndColumn to get the line and column for an SMLoc, but this includes a call to StringRef::find_last_of that ends up dominating compile time. In D102567, we start creating locations from the input file for block arguments which resulted in an extreme performance regression for modules with very large amounts of block arguments. This revision switches to just using a pointer offset from the beginning of the line to calculate the column(all MLIR files are simple ascii), resulting in a compile time reduction from 4700 seconds (1 hour and 18 minutes) to 8 seconds.
-
Arthur Eubanks authored
FullTy is only necessary when we need to figure out what type an instruction works with given a pointer's pointee type. However, we just end up using the value operand's type, so FullTy isn't necessary. Reviewed By: dblaikie Differential Revision: https://reviews.llvm.org/D102788
-
Arthur Eubanks authored
Reviewed By: dblaikie Differential Revision: https://reviews.llvm.org/D102745
-
Reid Kleckner authored
These symbols are long, and they tend to cause the PDB file size to overflow. They are generally not necessary when debugging problems in user code. This change reduces the size of chrome.dll.pdb with coverage from 6,937,108,480 bytes to 4,690,210,816 bytes. Differential Revision: https://reviews.llvm.org/D102719
-
Arthur Eubanks authored
No verifier changes needed, the verifier currently doesn't check that the pointer operand's pointee type matches the GEP type. There is a similar check in GetElementPtrInst::Create() though. Reviewed By: dblaikie Differential Revision: https://reviews.llvm.org/D102744
-
Raphael Isemann authored
The added DumpDataExtractorTest uncovered that this is lshifting a negative integer which upsets ubsan and breaks the sanitizer bot. This patch just changes the variable we shift to be unsigned and adds a bunch of tests to make sure this function does what it promises.
-
Alex Lorenz authored
when implementing an optional protocol requirement When an Objective-C method implements an optional protocol requirement, allow the method to use a newer introduced or older obsoleted availability version than what's specified on the method in the protocol itself. This allows SDK adopters to adopt an optional method from a protocol later than when the method is introduced in the protocol. The users that call an optional method on an object that conforms to this protocol are supposed to check whether the object implements the method or not, so a lack of appropriate `if (@available)` check for a new OS version is not a cause of concern as there's already another runtime check that's required. Differential Revision: https://reviews.llvm.org/D102459
-
Joseph Huber authored
Summary: Currently, only `OptimizationRemarks` can be emitted using a Function. Add constructors to allow this for `OptimizationRemarksAnalysis` and `OptimizationRemarkMissed` as well. Reviewed By: jdoerfert thegameg Differential Revision: https://reviews.llvm.org/D102784
-