This project is mirrored from https://github.com/llvm/llvm-project.git.
Pull mirroring failed .
Repository mirroring has been paused due to too many failed attempts. It can be resumed by a project maintainer or owner.
Last successful update .
Repository mirroring has been paused due to too many failed attempts. It can be resumed by a project maintainer or owner.
Last successful update .
- Apr 02, 2022
-
-
tyb0807 authored
This implements minimum support in clang for default HBC/MOPS features on v8.8-a/v9.3-a or later architectures. Differential Revision: https://reviews.llvm.org/D120111
-
Ron Lieberman authored
This reverts commit cc213952. failed a few buildbots
-
Groverkss authored
This patch makes constructors of IntegerRelation, IntegerPolyhedron, PresburgerRelation, PresburgerSet from PresburgerSpace explicit. This prevents bugs like: ``` void fun(IntegerRelation a, IntegerRelation b) { IntegerPolyhedron c = a.intersect(b); } ``` Here, `a.intersect(b)` will return `IntegerRelation`, which will be implicitly converted to `PresburgerSpace` and will use the `PresburgerSpace` constructor for IntegerPolyhedron. Leading to loss of any constraints in the intersection of `a` and `b`. After this patch, this will give a compile error. Reviewed By: arjunp Differential Revision: https://reviews.llvm.org/D122972
-
Ron Lieberman authored
authored by amit.pandey@amd.com ampandey-AMD Differential Revision: https://reviews.llvm.org/D122781
-
Arjun P authored
Add integer-exact checks for inequalities being separate and redundant in LexSimplex. Reviewed By: Groverkss Differential Revision: https://reviews.llvm.org/D122921
-
Arjun P authored
This is not supposed to be instantiated directly anyway. Reviewed By: Groverkss Differential Revision: https://reviews.llvm.org/D122923
-
wanglei authored
This patch fixes issue with the LU32I_D instruction, which did not have an input register operand. Differential Revision: https://reviews.llvm.org/D122970
-
Serge Pavlov authored
There is a similar check few lines above in this function.
-
Tobias Hieta authored
Microsoft shipped a bunch of PDB files with broken/invalid GUIDs which lead lld to use 0xFF as the key for these files in an internal cache. When multiple files have this key it will lead to collisions and confused symbol lookup. Several approaches to fix this was considered. Including making the key the path to the PDB file, but this requires some filesystem operations in order to normalize the file path. Since this only happens with malformatted PDB files and we haven't seen this before they malformatted files where shipped with visual studio we probably shouldn't optimize for this use-case. Instead we now just don't insert files with Guid == 0xFF into the cache map and warn if we get collisions so similar problems can be found in the future instead of being silent. Discussion about the root issue and the approach to this fix can be found on Github: https://github.com/llvm/llvm-project/issues/54487 Reviewed By: aganea Differential Revision: https://reviews.llvm.org/D122372
-
River Riddle authored
This significantly simplifies the boilerplate necessary for passes to define nested pass pipelines. Differential Revision: https://reviews.llvm.org/D122880
-
River Riddle authored
ListOption currently uses llvm::cl::list under the hood, but the usages of ListOption are generally a tad different from llvm::cl::list. This commit codifies this by making ListOption implicitly comma separated, and removes the explicit flag set for all of the current list options. The new parsing for comma separation of ListOption also adds in support for skipping over delimited sub-ranges (i.e. {}, [], (), "", ''). This more easily supports nested options that use those as part of the format, and this constraint (balanced delimiters) is already codified in the syntax of pass pipelines. See https://discourse.llvm.org/t/list-of-lists-pass-option/5950 for related discussion Differential Revision: https://reviews.llvm.org/D122879
-
Nikolas Klauser authored
Reviewed By: var-const, Mordante, #libc, ldionne Spies: ldionne, libcxx-commits Differential Revision: https://reviews.llvm.org/D121435
-
Brad Smith authored
-
Luo, Yuanke authored
We have some discission in D99152 and llvm-dev and finially come up with a solution to add amx specific cast intrinsics. We've support the intrinsics in llvm IR. This patch is to replace bitcast with amx cast intrinsics in code emitting in FE. Differential Revision: https://reviews.llvm.org/D122567
-
Siva Chandra Reddy authored
Instead, memory is allocated and deallocated using mmap and munmap syscalls directly. Reviewed By: lntue, michaelrj Differential Revision: https://reviews.llvm.org/D122876
-
Arthur Eubanks authored
This option tells the host clang to use the new pass manager. Given that it's been the default for a while, this seems unnecessary. This was added in D57068. (this does not affect any LLVM/Clang functionality) Reviewed By: MaskRay Differential Revision: https://reviews.llvm.org/D122947
-
jacquesguan authored
This revision adds constant folder for vector.extractelement. Differential Revision: https://reviews.llvm.org/D122886
-
Jake Egan authored
Big archive writer operation is not currently supported so mark these tests XFAIL for now. Reviewed By: jsji Differential Revision: https://reviews.llvm.org/D122949
-
jacquesguan authored
This revision adds constant folder for vector.insertelement. Differential Revision: https://reviews.llvm.org/D122721
-
Craig Topper authored
This is a straightforward extension of D122512 to unsigned integers.
-
Jonas Devlieghere authored
Update the Linux and NetBSD Host libraries for 2165c36b which removed DataBufferLLVM::GetChars. These files are compiled conditionally based on the host platform.
-
Jonas Devlieghere authored
The concrete class (DataBufferLLVM) is an implementation detail.
-
Owen Pan authored
Related to #54513.
-
Maksim Panchenko authored
Use target-specific flags for building AArch64 non-runnable tests. Reviewed By: yota9 Differential Revision: https://reviews.llvm.org/D122520
-
Michael Gottesman authored
[debug-info] As an NFC commit, refactor EmitFuncArgumentDbgValue so that it can be extended to support llvm.dbg.addr. The reason why I am making this change is that before this commit, EmitFuncArgumentDbgValue relied on a boolean flag IsDbgDeclare both to signal that a DBG_VALUE should be made to be indirect /and/ that the original intrinsic was a dbg.declare. This is no longer always true if we add support for handling dbg.addr since we will have an indirect DBG_VALUE that is a different intrinsic from dbg.declare. With that in mind, in this NFC patch, we prepare for future fixes by introducing a 3 case-enum argument to EmitFuncArgumentDbgValue that allows the caller to explicitly specify how the argument's DBG_VALUE should be emitted. This then allows us to turn the indirect checks into a != FuncArgumentDbgValueKind::Value and prepare us for a future where we add support here for llvm.dbg.addr directly. rdar://83957028 Reviewed By: aprantl Differential Revision: https://reviews.llvm.org/D122945
-
Mitch Phillips authored
-
Jacques Pienaar authored
Supports more cases.
-
Nico Weber authored
Addresses review feedback I had missed on https://reviews.llvm.org/D122624 No behavior change. Differential Revision: https://reviews.llvm.org/D122904
-
Adrian Prantl authored
-
Arthur Eubanks authored
For systems using gnuwin32, awk does not exist.
-
Michael Jones authored
This patch adds the headers for printf. It contains minimal actual code, and is more intended to be used for design review. The code is not built yet, and may have minor errors. Reviewed By: sivachandra Differential Revision: https://reviews.llvm.org/D122773
-
LLVM GN Syncbot authored
-
Richard authored
[buildbot issues fixed] This check performs basic analysis of macros and replaces them with an anonymous unscoped enum. Using an unscoped anonymous enum ensures that everywhere the macro token was used previously, the enumerator name may be safely used. Potential macros for replacement must meet the following constraints: - Macros must expand only to integral literal tokens. The unary operators plus, minus and tilde are recognized to allow for positive, negative and bitwise negated integers. - Macros must be defined on sequential source file lines, or with only comment lines in between macro definitions. - Macros must all be defined in the same source file. - Macros must not be defined within a conditional compilation block. - Macros must not be defined adjacent to other preprocessor directives. - Macros must not be used in preprocessor conditions Each cluster of macros meeting the above constraints is presumed to be a set of values suitable for replacement by an anonymous enum. From there, a developer can give the anonymous enum a name and continue refactoring to a scoped enum if desired. Comments on the same line as a macro definition or between subsequent macro definitions are preserved in the output. No formatting is assumed in the provided replacements. The check cppcoreguidelines-macro-to-enum is an alias for this check. Fixes #27408 Differential Revision: https://reviews.llvm.org/D117522
-
Adrian Prantl authored
I found this function somewhat hard to read and removed a few entirely redundant checks and converted it to early exits. Differential Revision: https://reviews.llvm.org/D122912
-
Jean Perier authored
Previously, some semantic checks that are checking if an entity is an allocatable were relying on the expression being a designator whose last symbol has the allocatable attribute. This is wrong since this was considering substrings and array sections of allocatables as being allocatable. This is wrong (see NOTE 2 in Fortran 2018 section 9.5.3.1). Add evaluate::IsAllocatableDesignator to correctly test this. Also add some semantic tests for ALLOCATED to test the newly added helper. Note that ifort and nag are rejecting coindexed-named-object in ALLOCATED (`allocated(coarray_scalar_alloc[2])`). I think it is wrong given allocated argument is intent(in) as per 16.2.1 point 3. So 15.5.2.6 point 4 regarding allocatable dummy is not violated (If the actual argument is a coindexed object, the dummy argument shall have the INTENT (IN) attribute.) and I think this is valid. gfortran accepts it. The need for this helper was exposed in https://reviews.llvm.org/D122779. Differential Revision: https://reviews.llvm.org/D122899 Co-authored-by:
Peixin-Qiao <qiaopeixin@huawei.com>
-
Craig Topper authored
If we expand (uaddo X, 1) we previously expanded the overflow calculation as (X + 1) <u X. This potentially increases the live range of X and can prevent X+1 from reusing the register that previously held X. Since we're adding 1, overflow only occurs if X was UINT_MAX in which case (X+1) would be 0. So this patch adds a special case to expand the overflow calculation to (X+1) == 0. This seems to help with uaddo intrinsics that get introduced by CodeGenPrepare after LSR. Alternatively, we could block the uaddo transform in CodeGenPrepare for this case. Reviewed By: arsenm Differential Revision: https://reviews.llvm.org/D122933
-
Erich Keane authored
We expect that `extern "C"` static functions to be usable in things like inline assembly, as well as ifuncs: See the bug report here: https://github.com/llvm/llvm-project/issues/54549 However, we were diagnosing this as 'not defined', because the ifunc's attempt to look up its resolver would generate a declared IR function. Additionally, as background, the way we allow these static extern "C" functions to work in inline assembly is by making an alias with the C mangling in MOST situations to the version we emit with internal-linkage/mangling. The problem here was multi-fold: First- We generated the alias after the ifunc was checked, so the function by that name didn't exist yet. Second, the ifunc's generation caused a symbol to exist under the name of the alias already (the declared function above), which suppressed the alias generation. This patch fixes all of this by moving the checking of ifuncs/CFE aliases until AFTER we have generated the extern-C alias. Then, it does a 'fixup' around the GlobalIFunc to make sure we correct the reference. Differential Revision: https://reviews.llvm.org/D122608
-
Craig Topper authored
The overflow calculation can be optimized to check if the add result is 0.
-
Erich Keane authored
-
Erich Keane authored
-