- Feb 07, 2023
-
-
Archibald Elliott authored
-
Archibald Elliott authored
-
Archibald Elliott authored
-
Archibald Elliott authored
-
Archibald Elliott authored
-
Archibald Elliott authored
-
Archibald Elliott authored
-
Samuel Parker authored
Currently, in TargetLowering, if the target does not support fminnum, we lower to fminimum if neither operand could be a NaN. But this isn't quite correct because fminnum and fminimum treat +/-0 differently; so, we need to prove that one of the operands isn't a zero, or we don't have signed zeros. Differential Revision: https://reviews.llvm.org/D143256
-
Samuel Parker authored
ARM and WebAssembly tests.
-
David Green authored
This looks for vaddv(shuffle) or vmlav(shuffle, shuffle), with a shuffle where all the lanes are used once. Due to the reduction being commutative the shuffle can be removed. Differential Revision: https://reviews.llvm.org/D143382
-
Guillaume Chatelet authored
-
Maya Amrami authored
This change is needed in order to set the flag when running the pass not via the command line. It also allows simplifying the signature of some functions. Reviewed By: springerm Differential Revision: https://reviews.llvm.org/D143416
-
Samuel Parker authored
This reverts commit bbdf2435.
-
Guillaume Chatelet authored
-
Tom Eccles authored
The implementation of -fstack-arrays was added in https://reviews.llvm.org/D140415 The new macro BoolOptionWithoutMarshalling in Options.td avoids generating code to store the flags in clang data structures. For example, writing something like defm stack_arrays : BoolOption<"f", "stack-arrays", CodeGenOpts<"StackArrays">, [...] Would generate code referring to `clang::CodeGenOpts::StackArrays`, which does not exist. Differential Revision: https://reviews.llvm.org/D140972
-
Tom Eccles authored
This pass implements the `-fstack-arrays` flag. See the RFC in `flang/docs/fstack-arrays.md` for more information. Differential revision: https://reviews.llvm.org/D140415
-
Guillaume Chatelet authored
-
David Green authored
-
Sergey Kachkov authored
Try to simplify cast in similar way as for GEP and ADD with constant (e.g. sext/zext + trunc). Differential Revision: https://reviews.llvm.org/D143167
-
Sergey Kachkov authored
-
Mariya Podchishchaeva authored
Reviewed By: xazax.hun Differential Revision: https://reviews.llvm.org/D143411
-
Guillaume Chatelet authored
Differential Revision: https://reviews.llvm.org/D143389
-
Haojian Wu authored
I missed it in c751264a.
-
Guillaume Chatelet authored
This is a first follow up on the libc tuning RFC https://discourse.llvm.org/t/rfc-llvm-libc-tuning/67980 Once we agree on the format. I'll land a couple of patches to match the guidelines. Differential Revision: https://reviews.llvm.org/D143413
-
Haojian Wu authored
This file is allowed to be edit by human, and it overlays the generated symbol file. It contains a list of multiple-header symbols. This patch introduces the file only. Usage will come afterwards. Reviewed By: kadircet Differential Revision: https://reviews.llvm.org/D143160
-
Haojian Wu authored
The .inc files are private now, clients should tooling::stdlib APIs instead. Differential Revision: https://reviews.llvm.org/D143399
-
Jean Perier authored
Implement the TODO. Be careful to use and propagate the expression type to create the temporary since the mlir value may have been computed with a different value type (e.g., i1 for logical) that should not be used for in memory values that must have Fortran types. Co-authored-by:
Tom Eccles <tom.eccles@arm.com> Differential Revision: https://reviews.llvm.org/D143421
-
Jean Perier authored
HLFIR requires mapping symbol to a single mlir::Value (produced by a fir::FortranVariableOpInterface), while the current lowering maps the value to a fir::ExtdendedValue. So far, the HLFIR symbol query was a special one. Hence, all the code directly using symMap.lookupSymbol and symMap.addSymbol did not work with the lowering to HLFIR. Refactor the code so that symbol lookup and add symbol go through the converter in a centralize place that handles the HLFIR case (translate fir::FortranVariableOpInterface to fir::ExtdendedValue in lookups, and generate hlfir.declare when adding symbols). In the refactoring, fir::FortranVariableOpInterface is added as a symbolBox variant to avoid special casing all lookups (shallowLookup...). Remove some unused SymbolBox member function instead of updating them. Differential Revision: https://reviews.llvm.org/D143395
-
Valentin Clement authored
The current code was not taking provided lower bounds when the pointer is polymorphic and was just calling PointerAssociate. This patch updates the behavior and use PointerAssociateLowerBounds with the provided lower bounds. Reviewed By: jeanPerier Differential Revision: https://reviews.llvm.org/D143392
-
Jay Foad authored
On my machine this showed no new failures in check-llvm and increased the testing time from 138 to 142 seconds, for a Release build with assertions enabled. Differential Revision: https://reviews.llvm.org/D142279
-
riChar authored
Differential Revision: https://reviews.llvm.org/D141988
-
Weining Lu authored
-
Max Kazantsev authored
There is no particular reason why it's not supported, and it is useful. Differential Revision: https://reviews.llvm.org/D143257 Reviewed By: fhahn
-
Thomas Raoux authored
tensor with dims of size 0 cannot be vectorized. Add precondition to prevent a crash in vectorization. Differential Revision: https://reviews.llvm.org/D143462
-
Chuanqi Xu authored
Close https://github.com/llvm/llvm-project/issues/60488. Previously, when we instantiate a template, the argument dependent lookup is performed in the context of the instantiation, which implies that the functions not visible in the context can't be found by the argument dependent lookup. But this is not true, according to [module.context]p3, the instantiation context for the implicit instantiation of a template should contain the context of the primary module interface if the template is defined in the module interface unit. Note that the fix didn't implemnet [module.context]p3 precisely, see the comments for example.
-
Aviad Cohen authored
Reviewed By: rriddle Differential Revision: https://reviews.llvm.org/D143331
-
Max Kazantsev authored
I guess its only reason to exist is potential CT optimization, otherwise it is just creating cohesion between this code and rewriter internals. We plan to extend the rewriter. I'd rather not have this cohesion, unless there is a serious reason to have it. Differential Revision: https://reviews.llvm.org/D143246
-
Chen Zheng authored
-
Craig Topper authored
For 4 byte instructions we were always setting size to 4 eventually. Same for 2 byte instructions. So do it as soon as we know the from the opcode. Add a return to the end of the 4 byte code so we don't have to have an else around the 2 byte code. Differential Revision: https://reviews.llvm.org/D143445
-
Louis Dionne authored
Those ones are extremely mechanical and since that's not libc++ code in the first place, there's even more of an incentive to do the rename.
-