- Aug 18, 2021
-
-
LLVM GN Syncbot authored
-
Lang Hames authored
This change adds support to ORCv2 and the Orc runtime library for static initializers, C++ static destructors, and exception handler registration for ELF-based platforms, at present Linux and FreeBSD on x86_64. It is based on the MachO platform and runtime support introduced in bb5f97e3. Patch by Peter Housel. Thanks very much Peter! Reviewed By: lhames Differential Revision: https://reviews.llvm.org/D108081
-
Thomas Lively authored
In preparation for adding more tests more simply. Differential Revision: https://reviews.llvm.org/D108264
-
Xu Mingjie authored
When option `--symbolize` is true, llvm-xray convert will demangle function name on default. This patch adds a llvm-xray convert option `no-demangle` to determine whether to demangle function name when symbolizing function ids from the input log. Reviewed By: MaskRay, smeenai Differential Revision: https://reviews.llvm.org/D108019
-
Arthur Eubanks authored
-
Arthur Eubanks authored
-
Arthur Eubanks authored
-
Arthur Eubanks authored
These methods can be confusing.
-
Arthur Eubanks authored
To avoid magic constants and confusing indexes.
-
Jacques Pienaar authored
Wrong combiner was used which led to information loss.
-
Wang, Pengfei authored
Support complex _Float16 on X86 in C/C++ following the latest X86 psABI. (https://gitlab.com/x86-psABIs) Reviewed By: LuoYuanke Differential Revision: https://reviews.llvm.org/D105331
-
Brian Cain authored
-
Brian Cain authored
Adds build support for hexagon linux to profile
-
Brian Cain authored
Adds build support for hexagon linux to safestack.
-
Brian Cain authored
Adds build support for hexagon linux to cfi.
-
Brian Cain authored
Adds build support for hexagon linux to scudo, scudo-standalone
-
Brian Cain authored
Adds build support for hexagon linux to ubsan.
-
Brian Cain authored
Adds build support for hexagon linux to asan.
-
Brian Cain authored
Adds build support for hexagon linux to lsan.
-
Brian Cain authored
Adds build support for hexagon linux to sanitizer common.
-
Jonas Devlieghere authored
The same issue impacts arm64, both on-device and on Apple Silicon.
-
Jonas Devlieghere authored
This fixes TestMemoryTag on Apple Silicon.
-
Jun Ma authored
Differential Revision: https://reviews.llvm.org/D106056
-
Jun Ma authored
-
Qiu Chaofan authored
It was introduced in 1a6dc92b and only enabled on PowerPC/AMDGPU. That should be enabled for all targets. Reviewed By: arsenm Differential Revision: https://reviews.llvm.org/D108010
-
jacquesguan authored
Make DAGCombine turn mul by power of 2 into shl for scalable vector. Reviewed By: frasercrmck Differential Revision: https://reviews.llvm.org/D107883
-
PeixinQiao authored
This patch implements the following check for TARGET construct: ``` OpenMP Version 5.0 Target construct restriction: If a target update, target data, target enter data, or target exit data construct is encountered during execution of a target region, the behavior is unspecified. ``` Also add one test case for the check. Reviewed By: kiranchandramohan, clementval Differential Revision: https://reviews.llvm.org/D106165
-
Wang, Pengfei authored
Enable FP16 conversion instructions. Ref.: https://software.intel.com/content/www/us/en/develop/download/intel-avx512-fp16-architecture-specification.html Reviewed By: LuoYuanke Differential Revision: https://reviews.llvm.org/D105265
-
Philip Reames authored
This patch extends the runtime unrolling infrastructure to support unrolling a loop with multiple exiting blocks branching to the same exit block used by the latch. It intentionally does not include a cost model change to enable this functionality unless appropriate force flags are used. I decided to restrict this to the epilogue case. Given the changes ended up being pretty generic, we may be able to unblock the prolog case too, but I want to do that in a separate change to reduce the amount of code we all have to understand at one time. Differential Revision: https://reviews.llvm.org/D107381
-
Omar Emara authored
This patch adds a breakpoints window that lists all breakpoints and breakpoints locations. The window is implemented as a tree, where the first level is the breakpoints and the second level is breakpoints locations. The tree delegate was hardcoded to only draw when there is a process, which is not necessary for breakpoints, so the relevant logic was abstracted in the TreeDelegateShouldDraw method. Reviewed By: clayborg Differential Revision: https://reviews.llvm.org/D107386
-
Philip Reames authored
This was made redundant when I removed -instcombine from output in 70ffd65c, but I didn't notice. nikic pointed that out in review of D107381
-
wlei authored
Change to use unique pointer of profiled binary to unblock asan. At same time, I realized we can decouple to move the profiled binary loading out of PerfReader, so I made some other related refactors. Reviewed By: hoy Differential Revision: https://reviews.llvm.org/D108254
-
Omar Emara authored
This patch adds a new method SubSurface to the Surface class. The method returns another surface that is a subset of this surface. This is important to further abstract away drawing from the ncurses objects. For instance, fields could previously be drawn on subpads only but can now be drawn on any surface. This is needed to create the file search dialogs and similar functionalities. There is an opportunity to refactor window drawing in general using surfaces, but we shall consider this separately later. Differential Revision: https://reviews.llvm.org/D107761
-
Shafik Yaghmour authored
D72391 Added some additional information to the logging but in this case instead of using placeholder 2 and 3 they used 3 and 4.
-
Ben Barham authored
Reading modules first reads each control block in the chain and then all AST blocks. The first phase is intended to find recoverable errors, eg. an out of date or missing module. If any error occurs during this phase, it is safe to remove all modules in the chain as no references to them will exist. While reading the AST blocks, however, various fields in ASTReader are updated with references to the module. Removing modules at this point can cause dangling pointers which can be accessed later. These would be otherwise harmless, eg. a binary search over `GlobalSLocEntryMap` may access a failed module that could error, but shouldn't crash. Do not remove modules in this phase, regardless of failures. Since this is the case, it also doesn't make sense to return OutOfDate during this phase, so remove the two cases where this happens. When they were originally added these checks would return a failure when the serialized and current path didn't match up. That was updated to an OutOfDate as it was found to be hit when using VFS and overriding the umbrella. Later on the path was changed to instead be the name as written in the module file, resolved using the serialized base directory. At this point the check is really only comparing the name of the umbrella and only works for frameworks since those don't include `Headers/` in the name (which means the resolved path will never exist) Given all that, it seems safe to ignore this case entirely for now. This makes the handling of an umbrella header/directory the same as regular headers, which also don't check for differences in the path caused by VFS. Resolves rdar://79329355 Differential Revision: https://reviews.llvm.org/D107690
-
Florian Mayer authored
Reviewed By: hctim Differential Revision: https://reviews.llvm.org/D107334
-
Evgenii Stepanov authored
Before this change we were locking the StackDepot in the fork() interceptor. This results in a deadlock when allocator functions are used in a pthread_atfork() callback. Instead, set up a pthread_atfork() callback at init that locks/unlocks both StackDepot and the allocator. Since our callback is set up very early, the pre-fork callback is executed late, and both post-fork ones are executed early, which works perfect for us. Differential Revision: https://reviews.llvm.org/D108063
-
Mark Danial authored
Nest from being perfect Expand LoopNestAnalysis to return the full list of instructions that cause a loop nest to be imperfect. This is useful for other passes to know if they should continue for in the inner loops. Added New function getInterveningInstructions that returns a small vector with the instructions that prevent a loop for being perfect. Also added a couple of helper functions to reduce code duplication. Reviewed By: Whitney Differential Revision: https://reviews.llvm.org/D107773
-
Peter Steinfeld authored
When the vector version of EOSHIFT was called, the BOUNDARY argument was being ignored. I fixed that and added a test that would not pass without this fix. Differential Revision: https://reviews.llvm.org/D108249
-
Mikhail Borisov authored
A libfuzzer run has discovered some inputs for which the demangler does not terminate. When minimized, it looks like this: _Zcv1BIRT_EIS1_E Deciphered: _Z cv - conversion operator * result type 1B - "B" I - template args begin R - reference type <. T_ - forward template reference | * E - template args end | | | | * parameter type | | I - template args begin | | S1_ - substitution #1 * <' E - template args end The reason is: template-parameter refs in conversion operator result type create forward-references, while substitutions are instantly resolved via back-references. Together these can create a reference loop. It causes an infinite loop in ReferenceType::collapse(). I see three possible ways to avoid these loops: 1. check if resolving a forward reference creates a loop and reject the inval...
-