- Jan 30, 2021
-
-
Fangrui Song authored
This has been fixed by D89841.
-
Kazu Hirata authored
-
Kazu Hirata authored
-
Kazu Hirata authored
-
Yang Fan authored
-
Greg McGary authored
Coalesce all version control options into a group Differential Revision: https://reviews.llvm.org/D94938
-
Greg McGary authored
Compact unwind entries have 8 bits for the encoding-table offset: * offsets 0..126 reference the global commmon-encodings table, while * offsets 127..255 reference a per-second-level-page table. This diff teaches `llvm-objdump` to print this per-page encodings table. Differential Revision: https://reviews.llvm.org/D93265
-
Wang, Pengfei authored
This is an optimized approach for D94155. Previous code build the model that tile config register is the user of each AMX instruction. There is a problem for the tile config register spill. When across function, the ldtilecfg instruction may be inserted on each AMX instruction which use tile config register. This cause all tile data register clobber. To fix this issue, we remove the model of tile config register. Instead, we analyze the AMX instructions between one call to another. We will insert ldtilecfg after the first call if we find any AMX instructions. Reviewed By: LuoYuanke Differential Revision: https://reviews.llvm.org/D95136
-
Sriraman Tallam authored
Source Drift happens when the sources are updated after profiling the binary but before building the final optimized binary. If the source has changed since the profiles were obtained, optimizing basic blocks might be sub-optimal. This only applies to BasicBlockSection::List as it creates clusters of basic blocks using basic block ids. Source drift can invalidate these groupings leading to sub-optimal code generation with regards to performance. PGO source drift for a particular function can be detected using function metadata added in D95495. When source drift is deected, disable basic block clusters by default which can be re-enabled with -mllvm option bbsections-detect-source-drift=false. Differential Revision: https://reviews.llvm.org/D95593
-
Jacques Pienaar authored
Tuples can occupy quite a lot of space, instead of printing out tuple type everywhere, just use the type alias if larger (arbitrarily chose a bound for now). Differential Revision: https://reviews.llvm.org/D95707
-
Craig Topper authored
[RISCV] Merge rv32 and rv64 vector fadd/fsub/fmul/fdiv sdnode tests into single tests files with 2 run lines. The IR and CHECK lines are identical so just keep one copy.
-
Nathan Hawes authored
As a fixme notes, both of these directory iterator implementations are conceptually similar and duplicate the functionality of returning and uniquing entries across two or more directories. This patch combines them into a single class 'CombiningDirIterImpl'. This also drops the 'Redirecting' prefix from RedirectingDirEntry and RedirectingFileEntry to save horizontal space. There's no loss of clarity as they already have to be prefixed with 'RedirectingFileSystem::' whenever they're referenced anyway. rdar://problem/72485443 Differential Revision: https://reviews.llvm.org/D94857
-
karimnosseir authored
Update ElementsAttr::isValidIndex to handle ElementsAttr with a scalar. Scalar will have rank 0. Reviewed By: rriddle Differential Revision: https://reviews.llvm.org/D95663
-
Hsiangkai Wang authored
-
peter klausler authored
Legacy Fortran implementations support an alternative form of the PARAMETER statement; it differs syntactically from the standard's PARAMETER statement by lacking parentheses, and semantically by using the type and shape of the initialization expression to define the attributes of the named constant. (GNU Fortran gets that part wrong; Intel Fortran and nvfortran have full support.) This patch disables the old style PARAMETER statement by default, as it is syntactically ambiguous with conforming assignment statements; adds a new "-falternative-parameter-statement" option to enable it; and implements it correctly when enabled. Fixes https://bugs.llvm.org/show_bug.cgi?id=48774, in which a user tripped over the syntactic ambiguity. Differential Revision: https://reviews.llvm.org/D95697
-
Hsiangkai Wang authored
v0.10 is tagged in V specification. Update the version to v0.10. Differential Revision: https://reviews.llvm.org/D95680
-
Hsiangkai Wang authored
Not all combinations of SEW and LMUL we need to support. For example, we only need to support [M1, M2, M4, M8] for SEW = 64. There is no need to define pseudos for PseudoVLSE64MF8, PseudoVLSE64MF4, and PseudoVLSE64MF2. Differential Revision: https://reviews.llvm.org/D95667
-
Stanislav Mekhanoshin authored
A condition "mayLoadOrStore" is too broad for that function. Differential Revision: https://reviews.llvm.org/D95700
-
Roman Lebedev authored
This finishes getting rid of all the avoidable Dominator Tree recalculations in X86 optimized codegen pipeline.
-
Roman Lebedev authored
This doesn't help avoid any Dominator Tree recalculations just yet, there's one more pass to go..
-
Roman Lebedev authored
-
Christopher Tetreault authored
The previously agreed-upon deprecation period for VectorType::getNumElements() has passed. This patch removes this method and completes the refactor proposed in the RFC: https://lists.llvm.org/pipermail/llvm-dev/2020-March/139811.html Reviewed By: david-arm, rjmccall Differential Revision: https://reviews.llvm.org/D95570
-
Sriraman Tallam authored
This patch emits "instr_prof_hash_mismatch" function annotation metadata if there is a hash mismatch while applying instrumented profiles. During the PGO optimized build using instrumented profiles, if the CFG of the function has changed since generating the profile, a hash mismatch is encountered. This patch emits this information as annotation metadata. We plan to use this with Propeller which is done at the machine IR level. Propeller is usually applied on top of PGO and a hash mismatch during PGO could be used to detect source drift. Differential Revision: https://reviews.llvm.org/D95495
-
Michał Górny authored
LLVMTestingSupport is not part of libLLVM, and therefore can not be linked to via LLVM_LINK_COMPONENTS. Instead, it needs to be specified explicitly to ensure that it is linked explicitly even if LLVM_LINK_LLVM_DYLIB is used. This is consistent with handling in clangd. Fixes PR#48931 Differential Revision: https://reviews.llvm.org/D95653
-
Alexander Belyaev authored
Currently, for a scf.parallel (i,j,k) after the loop collapsing to 1D is done, the IVs would be traversed as for an scf.parallel(k,j,i). Differential Revision: https://reviews.llvm.org/D95693
-
Christopher Tetreault authored
There are builders that do not have python 3.6. Revert until this situation can be rectified This reverts commit 0703b075.
-
Christopher Tetreault authored
Previously, CMake would find any version of Python3. However, the project claims to require 3.6 or greater, and 3.6 features are being used. Reviewed By: yln Differential Revision: https://reviews.llvm.org/D95635
-
Jessica Paquette authored
I think every target will want to remove these in the same way. Rather than making them all implement the same code, let's just put this in InstructionSelect. Differential Revision: https://reviews.llvm.org/D95652
-
Fangrui Song authored
-
Zarko Todorovski authored
Accidentaly ommitted the portion of pushing back the option in https://reviews.llvm.org/D94986
-
Casey Carter authored
-
Jonathan Peyton authored
This patch introduces a new environment variable to force monotonic behavior for users that absolutely need it. This is in anticipation of 5.0 change that uses non-monotonic behavior for dynamic scheduling by default. Fixes for that and the actual switch are coming soon. Differential Revision: https://reviews.llvm.org/D95263
-
Shilei Tian authored
Added release note for new `deviceRTLs` and hidden helper task for LLVM 12. Reviewed By: jdoerfert Differential Revision: https://reviews.llvm.org/D95584
-
Casey Carter authored
-
Casey Carter authored
... just in case some implementation annotates it `[[nodiscard]]`.
-
Petr Hosek authored
This addresses PR48930. Differential Revision: https://reviews.llvm.org/D95658
-
Pavel Iliin authored
Generate outline atomics if compiling for armv8-a non-LSE AArch64 Linux (including Android) targets to use LSE instructions, if they are available, at runtime. Library support is checked by clang driver which doesn't enable outline atomics if no proper libraries (libgcc >= 9.3.1 or compiler-rt) found. Differential Revision: https://reviews.llvm.org/D93585
-
Jordan Rupprecht authored
-
Andrzej Warzynski authored
-
Jay Foad authored
Remove the call to setFlags in favour of creating the instruction with the correct flags in the first place, so we don't have to explicitly notify the observer. Differential Revision: https://reviews.llvm.org/D95681
-