- Dec 15, 2022
-
-
Jakub Kuderski authored
Check results of all type conversions in `--convert-arith-to-spirv`. Fixes: https://github.com/llvm/llvm-project/issues/59496 Reviewed By: antiagainst Differential Revision: https://reviews.llvm.org/D140033
-
Vasileios Porpodas authored
This is part of a series of patches that aim at making Function::getBasicBlockList() private. Differential Revision: https://reviews.llvm.org/D140064
-
Kirill Stoimenov authored
Reviewed By: vitalybuka Differential Revision: https://reviews.llvm.org/D140065
-
Craig Topper authored
As far as I can tell m_riscv_Features_Group is for options that can be passed to cc1's -target-feature. These mcmodel aliases aren't that. I think they get treated as aliases and disappear before we get to processing m_riscv_Features_Group so it didn't cause any problems. I've left them in m_Group to match mcmodel_EQ.
-
Vasileios Porpodas authored
This is part of a series of patches that aim at making Function::getBasicBlockList() private. Differential Revision: https://reviews.llvm.org/D139984
-
Slava Zakharin authored
Exponentiation is lowered to either math::FPowI or Fortran runtime call (in case of --math-runtime=precise). MathToFuncs convertor will convert math::FPowI operations with exponent width >32 to calls of outlined implementations and otherwise will leave the operation to MathToLLVM convertor. Reviewed By: jeanPerier Differential Revision: https://reviews.llvm.org/D139806
-
Nitin John Raj authored
We don’t have W versions of AND/OR/XOR/ANDN/ORN/XNOR so we should recursively check their users. We should limit the recursion to SelectionDAG::MaxRecursionDepth levels. We need to add a Depth argument, all existing callers should pass 0 to the Depth. The new recursive calls should increment it by 1. At the top of the function we should give up and return false if Depth >= SelectionDAG::MaxRecursionDepth. Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D139462
-
bixia1 authored
Reviewed By: aartbik Differential Revision: https://reviews.llvm.org/D140057
-
bixia1 authored
[mlir][sparse] Add another call to ConvertVectorToLLVMPass, to lower the vector operations added by ConvertMathToLLVMPass. Run sparse_tanh with vectorization. Reviewed By: aartbik Differential Revision: https://reviews.llvm.org/D139958
-
Vasileios Porpodas authored
Differential Revision: https://reviews.llvm.org/D140052
-
Kazu Hirata authored
llvm::Optional<T> has transform, which is equivalent to std::optional<T>::transform. The problem is that std::optional<T>::transform won't be available until C++23, implying that we probably cannot use it in our codebase untli 2028 or so. We certainly don't want to keep llvm::Optional just for transform. This patch adds llvm::transformOptional to STLForwardCompat.h so that we can use transform during the migration to std::optional and beyond. I've shamelessly borrowed the implementation and test from llvm/include/llvm/ADT/Optional.h and llvm/unittests/ADT/OptionalTest.cpp respectively. This is part of an effort to migrate from llvm::Optional to std::optional: https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716 Differential Revision: https://reviews.llvm.org/D139779
-
Hanhan Wang authored
Reviewed By: nicolasvasilache, springerm Differential Revision: https://reviews.llvm.org/D139978
-
Florian Hahn authored
-
Koakuma authored
This adds some SPARC feature flags to clang, for those that we have in common with GCC: -m[no-]fpu -m[no-]fsmuld -m[no-]popc -m[no-]vis -m[no-]vis2 -m[no-]vis3 -m[hard/soft]-quad-float All have the same meanings as GCC's options (https://gcc.gnu.org/onlinedocs/gcc/SPARC-Options.html). This fixes, among other things, the -mno-fpu part of bug #40792 Reviewed By: nickdesaulniers Differential Revision: https://reviews.llvm.org/D139768
-
Michael Buch authored
**Summary** Starting with DWARFv5, DW_AT_default_value can be used to indicate that a template argument has a default value. With this patch LLVM will emit the this attribute earlier versions of DWARF, unless compiling with -gstrict-dwarf. Differential Revision: https://reviews.llvm.org/D139953
-
Michael Buch authored
**Summary** Starting with DWARFv5, DW_AT_default_value can be used to indicate that a template argument has a default value. With this patch Clang will attach the attribute to the debug metadata regardless of version. In a follow-up patch we will change llvm to emit this attribute in earlier versions of DWARF, unless compiling with -gstrict-dwarf. **Details** * Previously the DwarfVersion check in CGDebugInfo was inconsistent: For non-type template arguments we attached the attribute to the debug metadata in DWARFv5 only. Whereas for type template arguments we didn't have such a version restriction. With this patch we attach the attribute regardless of DWARF version (and instead offload the check to the AsmPrinter in a future patch).
-
wren romano authored
This allows allocaBuffer to be used outside of SparseTensorConversion.cpp, which will be helpful for a some future commits. Reviewed By: aartbik, Peiming Differential Revision: https://reviews.llvm.org/D140047
-
Peiming Liu authored
Reviewed By: aartbik Differential Revision: https://reviews.llvm.org/D139961
-
Vasileios Porpodas authored
-
Vasileios Porpodas authored
Differential Revision: https://reviews.llvm.org/D140054
-
Gulfem Savrun Yeniceri authored
This reverts commit 7734053f because it broke powerpc64 bot: https://lab.llvm.org/buildbot#builders/231/builds/6229
-
Matt Arsenault authored
-
Hendrik Greving authored
Adds a target hook canPredicatePredicatedInstr(const MachineInstr&) that assumes an instruction is already predicated and returns true if it can be predicated again, used by the early if-conversion pass in order to iterate multiple times on architectures supporting predicate logic. No test added since there is no upstream target that can take advantage. Differential Revision: https://reviews.llvm.org/D139981
-
Mark de Wever authored
Changes all unqualified calls to __throw_format_error to use a qualified call. Reviewed By: #libc, philnik Differential Revision: https://reviews.llvm.org/D140038
-
Aart Bik authored
Reviewed By: bixia Differential Revision: https://reviews.llvm.org/D139983
-
Joshua Batista authored
Reviewed By: python3kgae Differential Revision: https://reviews.llvm.org/D139742
-
Craig Topper authored
The other operands in this function had it and every other test in the file has it. So I assume this was a mistake.
-
Gulfem Savrun Yeniceri authored
This patch adds support for including binary ids in an indexed profile. It adds a new field into the header that points to the offset of the binary id section. The binary id section consists of a size of the section, and a list of binary ids (if they are present) that consist of two parts: length and data. This patch guarantees that indexed profile is backwards compatible after adding binary ids. Differential Revision: https://reviews.llvm.org/D135929
-
Matt Arsenault authored
-
Vasileios Porpodas authored
-
Matt Arsenault authored
Fixes issue 59413.
-
Craig Topper authored
On RV64 these instructions produce a 32-bit value and sign extend to 64-bits. Reviewed By: reames Differential Revision: https://reviews.llvm.org/D140036
-
Simon Pilgrim authored
Avoid calling separate isa<> and cast<> if we can - dyn_cast<> can more efficiently check for a safe cast and give the casted pointer.
-
Dani Ferreira Franco Moura authored
This is a clean up following the revision D139868 (https://reviews.llvm.org/D139868). Reviewed By: gribozavr2, ymandel Differential Revision: https://reviews.llvm.org/D140037
-
Simon Pilgrim authored
[GVN] hasUsersIn - merge isa<> and cast<> into single dyn_cast<> and convert for-range loop to any_of() test. NFCI. Avoid running isa<> and cast<> if we can - dyn_cast<> can more efficiently check for a safe cast and give the casted pointer.
-
Wiktor Garbacz authored
Shadow memory was not marked as non-dumpable after a reset resulting in process taking a very long time to generate a coredump. Reviewed By: vitalybuka Differential Revision: https://reviews.llvm.org/D139425
-
Vasileios Porpodas authored
-
Matt Arsenault authored
-
Quentin Colombet authored
These tests covers mulf, ori, and subi. NFC Differential Revision: https://reviews.llvm.org/D139625
-
Philip Reames authored
This is a follow up to patch discussion on D139656. As noted there, M2/M4/M8 versions of these instructions don't actually exist, and using them results in overly constrained register allocation. In that review, we'd talked about moving towards a variant of the instructions which ignored LMUL. I decided to see what happened if we just stopped generating the high LMUL variants, and the results are surprisingly neutral. I only see one minor thing which looks like a real regression among all the churn. I think this is worth doing now to loosen register allocation constraints, and avoid digging our hole around these instructions deeper while thinking about the right model change. Differential Revision: https://reviews.llvm.org/D140027
-