- Sep 21, 2023
-
-
Corentin Jabot authored
-
Jim Ingham authored
command. We were reading the command output right after sending the interrupt, but sometimes that wasn't long enough for the command result text to have been emitted. I added a poll for the state change to eStateExited, and then added a bit more sleep to give the command a chance to complete.
-
Alexey Bataev authored
scheduling, is previously vectorized. If the main node was vectorized already, but does not require scheduling, we still can try to vectorize it in this new node instead of gathering.
-
Richard Smith authored
This is a short-term fix to make the buildbots happy. We should also fix the script.
-
Richard Smith authored
This implements proposals from: - https://github.com/itanium-cxx-abi/cxx-abi/issues/24: mangling for constraints, requires-clauses, requires-expressions. - https://github.com/itanium-cxx-abi/cxx-abi/issues/31: requires-clauses and template parameters in a lambda expression are mangled into the <lambda-sig>. - https://github.com/itanium-cxx-abi/cxx-abi/issues/47 (STEP 3): mangling for template argument is prefixed by mangling of template parameter declaration if it's not "obvious", for example because the template parameter is constrained (we already implemented STEP 1 and STEP 2). This changes the manglings for a few cases: - Functions and function templates with constraints. - Function templates with template parameters with deduced types: `typename<auto N> void f();` - Function templates with template template parameters where the argument has a different template-head: `template<template<typename...T>> void f(); f<std::vector>();` In each case where a mangling changed, the change fixes a mangling collision. Note that only function templates are affected, not class templates or variable templates, and only new constructs (template parameters with deduced types, constrained templates) and esoteric constructs (templates with template template parameters with non-matching template template arguments, most of which Clang still does not accept by default due to `-frelaxed-template-template-args` not being enabled by default), so the risk to ABI stability from this change is relatively low. Nonetheless, `-fclang-abi-compat=17` can be used to restore the old manglings for cases which we could successfully but incorrectly mangle before. Fixes #48216, #49884, #61273 Reviewed By: erichkeane, #libc_abi Differential Revision: https://reviews.llvm.org/D147655
-
Piotr Zegar authored
Typedef rename were not properly handled when typedef were used behind pointer, or as a part of function type. Additionally because entire function were passed as an source-range, when function started with macro, such change were not marked for a fix. Removed workaround and used proper TypedefTypeLoc instead. Fixes #55156, #54699
-
Piotr Zegar authored
Add release notes entry describing change in bugprone-undefined-memory-manipulation check.
-
Fabian Wolff authored
Adds basic support for arrays to non-trivial types. Fixes #55579 Differential Revision: https://reviews.llvm.org/D127036
-
Fangrui Song authored
-
Louis Dionne authored
LIBCXXABI_SHARED_LIBRARIES doesn't exist anymore, so this always expanded to nothing at all.
-
Aiden Grossman authored
This patch moves the MBB Profile Dump to ./llvm/test/CodeGen/Generic from ./llvm/test/CodeGen/MlRegAlloc as the profile dump doesn't have anything to do with the ML guided register allocation heuristic.
-
Fangrui Song authored
This reverts commit 96ea48ff. The change may cause Verifier.cpp error "musttail call must precede a ret with an optional bitcast"
-
Andrew Gozillon authored
This patch adds initial lowering for DeclareTargetAttr on GlobalOp's utilising registerTargetGlobalVariable and getAddrOfDeclareTargetVar from the OMPIRBuilder. It also adds initial processing of declare target map operands, populating the combinedInfo that the OMPIRBuilder requires to generate kernels and it's kernel argument structure. The combination of these additions allows simple mapping of declare target globals to Target regions, as such a simple runtime test showcasing this and testing it has been added. The patch currently does not factor in filtering based on device_type clauses (e.g. no emission of globals for device if host specified), this will come in a future iteration. And for the moment it's only been tested with 1-D arrays and basic fortran data types, more complex types (such as user defined derived types from Fortran, allocatables or Fortran pointers) may need further work. reviewers: kiranchandramohan, skatrak Differenti...
-
Alexey Bataev authored
-
Noah Goldstein authored
Do so by extending `matchUnaryPredicate` to also work for `ConstantFPSDNode` types then encapsulate the constant checks in a lambda and pass it to `matchUnaryPredicate`. Reviewed By: RKSimon Differential Revision: https://reviews.llvm.org/D154868
-
Noah Goldstein authored
Note: This is moving D154678 which previously implemented this in InstCombine. Concerns where brought up that this was de-canonicalizing and really targeting a codegen improvement, so placing in DAGCombiner. This implements: ``` (fmul C, (uitofp Pow2)) -> (bitcast_to_FP (add (bitcast_to_INT C), Log2(Pow2) << mantissa)) (fdiv C, (uitofp Pow2)) -> (bitcast_to_FP (sub (bitcast_to_INT C), Log2(Pow2) << mantissa)) ``` The motivation is mostly fdiv where 2^(-p) is a fairly common expression. The patch is intentionally conservative about the transform, only doing so if we: 1) have IEEE floats 2) C is normal 3) add/sub of max(Log2(Pow2)) stays in the min/max exponent bounds. Alive2 can't realistically prove this, but did test float16/float32 cases (within the bounds of the above rules) exhaustively. Reviewed By: RKSimon Differential Revision: https://reviews.llvm.org/D154805 -
Noah Goldstein authored
Reviewed By: RKSimon Differential Revision: https://reviews.llvm.org/D159405
-
Noah Goldstein authored
Reviewed By: RKSimon Differential Revision: https://reviews.llvm.org/D154804
-
annamthomas authored
The LiveRange::join API takes in two live ranges. We should verify the LiveRange passed in to the Join API as well.
-
Fangrui Song authored
-
Guillot Tony authored
We are currently rejecting an _Atomic qualified integer in a switch statment. This fixes the issue by doing an Lvalue conversion before trying to match on the type. Fixes #65557 Reviewed By: aaron.ballman Differential Revision: https://reviews.llvm.org/D159522
-
Joseph Huber authored
Summary: This was mistakenly using the opcode for `ferror` which wasn't noticed because tests using this weren't yet activated. This patch fixes this mistake.
-
Alexey Bataev authored
instruction. Need to check if the operand scalars are vectorized in the a different vector node, if the main instruction is already gets vectorized in other vector node.
-
Oleksandr "Alex" Zinenko authored
The Linalg named ops specification went out of sync with the OpDSL description, presumably due to direct manual modifications of the yaml file. Additionally, the unsigned division has been generating the signed scalar instruction, which is now fixed.
-
Oleksandr "Alex" Zinenko authored
Add a straightforward sequentialization transform from `scf.forall` to a nest of `scf.for` in absence of results and expose it as a transform op. This is helpful in combination with other transform ops, particularly fusion, that work best on parallel-by-construction `scf.forall` but later need to target sequential `for` loops.
-
Nicolas Vasilache authored
-
Aart Bik authored
The only ones left need actual deprecation in bufferization module.
-
Brad Smith authored
- Make use of concat macro with various paths - Replace usage of = with SysRoot
-
Sirish Pande authored
[SelectionDAG] [NFC] Add pre-commit test for PR66701. Co-authored-by:Sirish Pande <sirish.pande@amd.com>
-
David Green authored
-
Vladislav Dzhidzhoev authored
-
Vladislav Dzhidzhoev authored
Follow-up of #65630.
-
Alex Voicu authored
This change is symmetric with the one reviewed in <https://reviews.llvm.org/D157452> and handles the exception handling specific intrinsic, which slipped through the cracks, in the same way, by inserting an address-space cast iff RTTI is in a non-default AS.
-
Fangrui Song authored
The size of .ARM.exidx may shrink across `assignAddress` calls. It is possible that the initial iteration has a larger location counter, causing `__code_size = __code_end - .; osec : { . += __code_size; }` to report an error, while the error would have been suppressed for subsequent `assignAddress` iterations. Other sections like .relr.dyn may change sizes across `assignAddress` calls as well. However, their initial size is zero, so it is difficiult to trigger a similar error. Similar to https://reviews.llvm.org/D152170, postpone the error reporting. Fix #66836. While here, add more information to the error message. -
Scott Linder authored
This avoids the need for a mutable member to implement deferred sorting, and some bespoke code to maintain a SmallVector as a set. The performance impact seems to be negligible in some small tests, and so seems acceptable to greatly simplify the code. An old FIXME and accompanying workaround are dropped. It is ostensibly dead-code within the current codebase.
-
Fangrui Song authored
-
- Sep 20, 2023
-
-
Simon Pilgrim authored
-
Simon Pilgrim authored
-
Slava Zakharin authored
I had to remove test3() case in 73086dab to fix the buildbots. This patch brings it back with proper fix.
-
Natalie Chouinard authored
Print OpConstant floats as formatted decimal floating points, with special case exceptions to print infinity and NaN as hexfloats. This change follows from the fixes in https://github.com/llvm/llvm-project/pull/66686 to correct how constant values are printed generally. Differential Revision: https://reviews.llvm.org/D159376
-