- Apr 30, 2021
-
-
David Stuttard authored
Slight refactor for clarity. Change-Id: Ib25e7f4582c67a7c57f066cfd5382c1405d7d4c5 Differential Revision: https://reviews.llvm.org/D101610
-
David Stuttard authored
Change-Id: Id0c1d5535b53e2aebe314151c0efa585e763f3f6 Differential Revision: https://reviews.llvm.org/D100093
-
Keith Walker authored
The "Arm C Language extensions" document (the current version can be found at https://developer.arm.com/documentation/101028/0012/?lang=en) states that the name of the feature test macro for the FP16 FML extension is __ARM_FEATURE_FP16_FML. Differential Revision: https://reviews.llvm.org/D101532
-
David Spickett authored
Covering basic cases where you have 1 item on 1 line. Apart from eFormatCharArray, where using multiple lines highlights the difference between it and eFormatVectorOfChar. Reviewed By: #lldb, teemperor Differential Revision: https://reviews.llvm.org/D101453
-
Fraser Cormack authored
-
Fraser Cormack authored
DAGCombiner was recently taught how to combine STEP_VECTOR nodes, meaning the step value is no longer guaranteed to be one by the time it reaches the backend for lowering. This patch supports such cases on RISC-V by lowering to other step values to a multiply following the vid.v instruction. It includes a small optimization for common cases where the multiply can be expressed as a shift left. Reviewed By: rogfer01 Differential Revision: https://reviews.llvm.org/D100856
-
Timm Bäder authored
The attribute does not belong to the if statement before and trips up gcc's indentation checker.
-
Dmitry Vyukov authored
Arm64 builders failed with: error: use of undeclared identifier 'SYS_fork' https://lab.llvm.org/buildbot/#/builders/7/builds/2575 Indeed, not all arches have fork syscall. Implement fork via clone on these arches. Differential Revision: https://reviews.llvm.org/D101603
-
Dominik Montada authored
Reviewed By: dsanders Differential Revision: https://reviews.llvm.org/D91703
-
Jay Foad authored
-
Martin Storsjö authored
If compiling with GCC or linking with ld.bfd, these options have little effect, but if built with Clang and linked with LLD, they provide a quite notable size decrease - this shrinks an entire llvm-mingw distribution package by 22%. If building with BUILD_SHARED_LIBS or LLVM_BUILD_LLVM_DYLIB with LLD, this requires a version of LLD that contains a fix for auto exporting symbols from comdats, 2b01a417. Differential Revision: https://reviews.llvm.org/D101568
-
Evgeny Leviant authored
Pass structure can change when -O0 is given and extensions are used.
-
Martin Storsjö authored
When looking up data referenced from pdata/xdata structures, the referenced data can be found in two different ways: - For an unrelocated object file, it's located via a relocation - For a relocated, linked image, the data is referenced with an (image relative) absolute address For the latter case, the absolute address can optionally be described with a symbol. For the case of an object file, there's two offsets involved; one immediate offset encoded in the data location that is modified by the relocation, and a section offset in the symbol. Previously, for the ExceptionRecord field, we printed the offset from the symbol (only) but used the immediate offset ignoring the symbol's address (using only the symbol's section) for printing the exception data. Add a helper method for doing the lookup and address calculation, for simplifying the calling code and making all the cases consistent. This addresses an existing FIXME comment, fixing printing of the exception data for cases where relocations point at individual symbols in the xdata section (which is what MSVC generates) instead of all relocations pointing at the start of the xdata section (which is what LLVM generates). This also fixes printing of the function name for packed entries in linked images. Relanded with a format string fix in the formatSymbol function; one can't use %X as format string for an uint64_t. That bug has been present since this code was added in e6971cab. Differential Revision: https://reviews.llvm.org/D100305
-
Dmitry Vyukov authored
Commit efd254b6 ("tsan: fix deadlock in pthread_atfork callbacks") fixed another deadlock related to atfork handling. But builders with DCHECKs enabled reported failures of pthread_atfork_deadlock2.c and pthread_atfork_deadlock3.c tests related to the fact that we hold runtime locks on interceptor exit: https://lab.llvm.org/buildbot/#/builders/70/builds/6727 This issue is somewhat inherent to the current approach, we indeed execute user code (atfork callbacks) with runtime lock held. Refactor fork handling to not run user code (atfork callbacks) with runtime locks held. This change does this by installing own atfork callbacks during runtime initialization. Atfork callbacks run in LIFO order, so the expectation is that our callbacks run last, right before the actual fork. This way we lock runtime mutexes around fork, but not around user callbacks. Extend tests to also install after fork callbacks just to cover more scenarios. Some tests also started reporting real races that we previously suppressed. Also extend tests to cover fork syscall support. Reviewed By: vitalybuka Differential Revision: https://reviews.llvm.org/D101517
-
Jonas Devlieghere authored
Use add_lldb_library to ensure debugserver inherits the defines set by llvm and lldb. Differential revision: https://reviews.llvm.org/D101596
-
Jianzhou Zhao authored
This is to help review refactor the allocator code. So it is easy to see which are the real public interfaces. Reviewed By: vitalybuka Differential Revision: https://reviews.llvm.org/D101586
-
Qiu Chaofan authored
-
Arthur Eubanks authored
The simplifyInstruction() in visitUnaryInstruction() does not trigger for all of check-llvm. Looking at all delegates to UnaryInstruction in InstVisitor, the only instructions that either don't have a visitor in CallAnalyzer, or redirect to UnaryInstruction, are VAArgInst and Alloca. VAArgInst will never get simplified, and visitUnaryInstruction(Alloca) would always return false anyway. Reviewed By: mtrofin, lebedev.ri Differential Revision: https://reviews.llvm.org/D101577
-
Christudasan Devadasan authored
It is difficult to track the users of vector and aggregate types. Reviewed by: arsenm Differential Revision: https://reviews.llvm.org/D101562
-
luxufan authored
[RISCV] Fix StackOffset calculation when using sp to access the fixed stack object in the case of rvv vector objects existed When rvv vector objects existed, using sp to access the fixed stack object will pass the rvv vector objects field. So the StackOffset needs add a scalable offset of the size of rvv vector objects field Differential Revision: https://reviews.llvm.org/D100286
-
luxufan authored
Differential Revision: https://reviews.llvm.org/D100284
-
Steven Wu authored
Rename `check_linker_flag` in compiler_rt to avoid conflict. Follow up as the fix in D100901. Patched by radford. Reviewed By: MaskRay Differential Revision: https://reviews.llvm.org/D101581
-
Wang, Pengfei authored
This patch copies implementation from cpuid.h, which preserve base register %rbx around cpuid. It fixes PR50133. Reviewed By: rnk Differential Revision: https://reviews.llvm.org/D101338
-
Brendon Cahoon authored
When creating G_SBFX/G_UBFX opcodes, the last operand is the width instead of the bit position. The bit position is used for the AArch64 SBFM and UBFM instructions. The bit position is converted to a width if the SBFX/UBFX aliases are generated. For other SBMF/UBFM aliases, such as shifts, the bit position is used. Differential Revision: https://reviews.llvm.org/D101543
-
Matt Arsenault authored
Don't assert if there are unassigned virtual registers. Maintain LiveIntervals by removing the RegUnits for allocated registers, since they should not longer be necessary. One part I find somewhat questionable is the special handling necessary for handleIdentityCopy. The LiveIntervals for the relevant regunits needs to be removed.
-
Walter Erquinigo authored
As a follow up of https://reviews.llvm.org/D99989#inline-953343, I'm now storing std::string instead of char *. I know it might never break as char *, but if it does, chasing that bug might be dauting. Besides, I'm also checking of the strings gotten through the SB API are null or not.
-
Matt Arsenault authored
In a future change it will be possible to run register allocation with a specific set of register classes, so some of the remaining virtual registers will still be meaningful.
-
Matt Arsenault authored
There are checks for gfx908, but this wasn't actually running with it.
-
Carl Ritson authored
Refactor IsHazardFn and IsExpiredFn to use constant references as these should not be mutating the instructions visited and the instruction can never be null. Reviewed By: foad Differential Revision: https://reviews.llvm.org/D101430
-
Carl Ritson authored
Remove an early-out in wait state counting which can never be taken. Reviewed By: foad, rampitec Differential Revision: https://reviews.llvm.org/D101520
-
Akira Hatanaka authored
the function the block is passed to isn't a block pointer type This patch fixes a bug where a block passed to a function taking a parameter that doesn't have a block pointer type (e.g., id or reference to a block pointer) was marked as noescape. This partially fixes PR50043. rdar://77030453 Differential Revision: https://reviews.llvm.org/D101097
-
Jianzhou Zhao authored
To see how to extract a shared allocator interface for D101204, found some unused code. Tests passed. Are they safe to remove? Reviewed By: vitalybuka Differential Revision: https://reviews.llvm.org/D101559
-
Akira Hatanaka authored
isn't an ExprWithCleanups This patch fixes a bug where a temporary ObjC pointer is released before the end of the full expression. This fixes PR50043. rdar://77030453 Differential Revision: https://reviews.llvm.org/D101502
-
Aart Bik authored
This is the very first step toward removing the glue and clutter from linalg and replace it with proper sparse tensor types. This revision migrates the LinalgSparseOps into SparseTensorOps of a sparse tensor dialect. This also provides a new home for sparse tensor related transformation. NOTE: the actual replacement with sparse tensor types (and removal of linalg glue/clutter) will follow but I am trying to keep the amount of changes per revision manageable. Differential Revision: https://reviews.llvm.org/D101573
-
Zequan Wu authored
Value only used by metadata can be removed from .addrsig table. This solves the undefined symbol error when enabling addrsig table on COFF LTO. Differential Revision: https://reviews.llvm.org/D101512
-
Rob Suderman authored
Constant-0 dim expr values should be avoided for linalg as it can prevent fusion. This includes adding support for rank-0 reshapes. Differential Revision: https://reviews.llvm.org/D101418
-
jasonliu authored
Summary: Personality routine could be an alias to another personality routine. Fix the situation when we compile the file that contains the personality routine and the file also have functions that need to refer to the personality routine. Reviewed By: hubert.reinterpretcast Differential Revision: https://reviews.llvm.org/D101401
-
Alex Lorenz authored
This ensures that the Darwin driver uses a consistent target triple representation when the triple is printed out to the user. This reverts the revert commit ab0df6c0. Differential Revision: https://reviews.llvm.org/D100807
-
zoecarver authored
Differential Revision: https://reviews.llvm.org/D101371
-