- Jan 04, 2024
-
-
HaohaiWen authored
This test tracks bug of MachineVerifier to check live range segment for EHa. Async exception can happen at any place within seh scope, not only the call instruction. Need to teach MachineVerifier to know that.
-
Christian Sigg authored
-
kadir çetinkaya authored
False negative/positive rate has decreased to the degree that these extra confirmations no longer provide any value, but only create friction in the happy case. When we have false analysis, people usually need to apply the fixes and run the builds to discover the failure. At that point they can add relevant IWYU pragmas to guide analysis, and will be more likely to create bug reports due to extra annoyance :)
-
Ilya Biryukov authored
... and only look at equivalence of substituted expressions, not results of constraint satisfaction. This is required by the standard when matching redeclarations. Fixes #74314. There is already some existing machinery for that in `TemplateInstantiator` and `Sema` exposed separate functions for substituting expressions with intention to do that: - `Sema::SubstExpr` should not evaluate constraints. - `Sema::SubstConstraintExpr` should. However, both functions used to be equivalent. Introduce a new function that does not evaluate constraint and use it when matching declarations. Also change implementation of `SubstConstraintExpr` to call `SubstExpr` directly so it's obvious they behave in the same way and add a FIXME to call out that we might need to revamp this approach in the future.
-
Simon Pilgrim authored
Don't rebuild the demanded elts mask every time.
-
Simon Pilgrim authored
If we successfully cast only the first base node as GlobalAddressSDNode / ConstantPoolSDNode / FrameIndexSDNode then we can early out as we know that base won't cast as a later type. Noticed while investigating profiles for potential compile time improvements.
-
Simon Pilgrim authored
Don't wait to test that all base ptr matches have succeeded
-
Simon Pilgrim authored
-
Simon Pilgrim authored
Rename UndefZero -> UndefSel (undefined elements from Sel operand).
-
Jie Fu authored
llvm-project/llvm/lib/CodeGen/TargetLoweringBase.cpp:570:12: error: unused variable 'ModeN' [-Werror,-Wunused-variable] 570 | unsigned ModeN, ModelN; | ^~~~~ llvm-project/llvm/lib/CodeGen/TargetLoweringBase.cpp:570:19: error: unused variable 'ModelN' [-Werror,-Wunused-variable] 570 | unsigned ModeN, ModelN; | ^~~~~~ 2 errors generated. -
Thomas Preud'homme authored
This patch implement the GlobalISel counterpart to 4d7df43f.
-
Alex Zinenko authored
Bytecode versions have named constants that should be used instead of magic numbers.
-
Alex Zinenko authored
The change in c1eab576 fixed the behavior of `getDiscardableAttrDictionary` for ops that are not using properties to only return discardable attributes. Bytecode writer was relying on the wrong behavior and would assume all attributes are discardable, without appropriate testing. Fix that and add a test.
-
Mitch Phillips authored
This reverts commit 42ec9761. Reason: Broke the sanitizer buildbots. See more information on the github comment thread at https://github.com/llvm/llvm-project/commit/42ec976184acd40436acd7104ad715c60ca3e7ed
-
sstipanovic authored
-
Mitch Phillips authored
This reverts commit 53edf12e. Reason: Broke the sanitizer buildbots with a memory leak. More information available on https://github.com/llvm/llvm-project/commit/53edf12e526704cc251b6a6917319c7cb7a653a0
-
drblallo authored
The dataflow analysis framework within MLIR allows to customize the transfer function when a `call-like` operation is encuntered. The check to see if the analysis was executed in intraprocedural mode was executed after the check to see if the callee had the CallableOpInterface, and thus intraprocedural analyses would behave as interpocedural ones when performing indirect calls. This commit fixes the issue by performing the check for intraprocedurality first. Dense forward analyses were already behaving correctly. https://github.com/llvm/llvm-project/blob/main/mlir/lib/Analysis/DataFlow/DenseAnalysis.cpp#L63 Co-authored-by:
massimo <mo.fioravanti@gmail.com>
-
Jannik Silvanus authored
Vectors are always bit-packed and don't respect the elements' alignment requirements. This is different from arrays. This means offsets of vector GEPs need to be computed differently than offsets of array GEPs. This PR fixes many places that rely on an incorrect pattern that always relies on `DL.getTypeAllocSize(GTI.getIndexedType())`. We replace these by usages of `GTI.getSequentialElementStride(DL)`, which is a new helper function added in this PR. This changes behavior for GEPs into vectors with element types for which the (bit) size and alloc size is different. This includes two cases: * Types with a bit size that is not a multiple of a byte, e.g. i1. GEPs into such vectors are questionable to begin with, as some elements are not even addressable. * Overaligned types, e.g. i16 with 32-bit alignment. Existing tests are unaffected, but a miscompilation of a new test is fixed. --------- Co-authored-by:Nikita Popov <github@npopov.com>
-
Nikita Popov authored
-
Chen Zheng authored
-
Sergei Lebedev authored
* Replaced `Any` with static types where appropriate * Removed undocumented `__str__` and `__repr__` -- these are always defined via `object`
-
Andrzej Warzyński authored
Updates `generic` as `linalg.generic` (for consistency and to avoid ambiguity) and a few other fixes.
-
Aiden Grossman authored
I'm reasonably confident iff wasn't an abbreviation for if and only if here and it was starting to bug me quite a bit.
-
gmh authored
-
bgra8 authored
Co-authored-by:Bogdan Graur <bgraur@google.com>
-
Ben Shi authored
-
Ben Shi authored
According to https://www.nongnu.org/avr-libc/user-manual/inline_asm.html, 'G' only represents floating point constant '0.0'. And avr-gcc also rejects other non-zero FP values.
-
Dominik Adamski authored
This pull request is a follow-up of patch: https://github.com/llvm/llvm-project/pull/68225 and it explicitly specifies OpenMP device libraries for Fortran OpenMP tests.
-
Phoebe Wang authored
-
David Green authored
This adds legalization, notably libcall lowering for fpowi. It is a little different to other methods as the function takes both a float and integer register. Otherwise all vectors get scalarized and fp16 is promoted to fp32.
-
sstipanovic authored
Remove `nosync` as discussed in https://github.com/llvm/llvm-project/pull/73613
-
Nilanjana Basu authored
[LV] Change loops' interleave count computation A set of microbenchmarks in llvm-test-suite (https://github.com/llvm/llvm-test-suite/pull/56), when tested on a AArch64 platform, demonstrates that loop interleaving is beneficial when the vector loop runs at least twice or when the epilogue loop trip count (TC) is minimal. Therefore, we choose interleaving count (IC) between TC/VF & TC/2*VF (VF = vectorization factor), such that remainder TC for the epilogue loop is minimum while the IC is maximum in case the remainder TC is same for both. The initial tests for this change were submitted in PRs: https://github.com/llvm/llvm-project/pull/70272 and https://github.com/llvm/llvm-project/pull/74689.
-
Yingwei Zheng authored
This patch cleans up the duplicate code for folding commutative binops over `select/phi/minmax`. Related commits: + select support: https://github.com/llvm/llvm-project/commit/88cc35b27e6c7966ab2463fa06d3dd970e88df64 + phi support: https://github.com/llvm/llvm-project/commit/8674a023bcacb677ce48b8831e2ae35b5aa2d8ef + minmax support: https://github.com/llvm/llvm-project/commit/624973806c5644ccfa84805319b5852edb68d48d
-
Craig Topper authored
We can use RISCVISD::VMERGE_VL with an undef passthru operand. I had to rewrite the FMA patterns to handle both undef and non-undef cases so we can get the tail policy.
-
Owen Pan authored
Reuse the patterns governing the previous input file being formatted if the current input file is from the same directory.
-
Jacques Pienaar authored
Make it so that PDL in pattern rewrites can be optionally disabled. PDL is still enabled by default and not optional bazel. So this should be a NOP for most folks, while enabling other to disable. This only works with tests disabled. With tests enabled this still compiles but tests fail as there is no lit config to disable tests that depend on PDL rewrites yet.
-
Mircea Trofin authored
Opcode values changed, trivial fix.
-
Jerry Wu authored
In addition to `lhs()` and `rhs()` to return left and right operands, add `res()` to return the result value.
-
XinWang10 authored
As suggested in https://github.com/llvm/llvm-project/pull/76210, this patch re-organize the mc tests for apx promoted instrs, instr tests within same cpuid would be listed in one test. Also add explicit prefix {evex} tests and 8 displacement memory test, promoted instrs need set No_CD8 to avoid AVX512 compress encoding.
-
Shengchen Kan authored
Four variants: promoted legacy, ND (new data destination), NF (no flags update) and NF_ND (NF + ND). The syntax of NF instructions is aligned with GNU binutils. https://sourceware.org/pipermail/binutils/2023-September/129545.html
-