- May 23, 2023
-
-
Adrian Prantl authored
This reverts commit 50f0ee8f. This breaks the bots. https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/lastFailedBuild/consoleFull#-1141050806a1ca8a51-895e-46c6-af87-ce24fa4cd561
-
Craig Topper authored
-FP compare latency was too high. -Compare instructions need to increase latency to assume no chaining to later instructions. vmv.x.s, vmv.s.x, vfmv.f.s, and vfmv.s.f aren't 8 cycles. From the the perspective of the vector pipeline they are only 4 cycles. Though vector to scalar has a much higher latency from the perspective of the scalar pipeline. Will need to adjust in the future. Reviewed By: michaelmaitland Differential Revision: https://reviews.llvm.org/D151136
-
Leandro Lupori authored
This reverts commit e26e68a4. This broke gfortran test-suite, test regression/intrinsic_pack_3.f90.
-
Marcelo Juchem authored
Fixes "dependent projects fail to build with cmake 3.25 and llvm 16-rc4". When building [latest `iovisor/bcc`](https://github.com/iovisor/bcc/commit/1ea0390725391e76256af6a4d0eb857816e6290f), `cmake` complains about a change in the behavior of operator `IN_LIST`: ```console CMake Warning (dev) at /usr/local/lib/cmake/llvm/LLVM-Config.cmake:230 (if): Policy CMP0057 is not set: Support new IN_LIST if() operator. Run "cmake --help-policy CMP0057" for policy details. Use the cmake_policy command to set the policy and suppress this warning. IN_LIST will be interpreted as an operator when the policy is set to NEW. Since the policy is not set the OLD behavior will be used. Call Stack (most recent call first): cmake/clang_libs.cmake:32 (llvm_map_components_to_libnames) src/cc/CMakeLists.txt:132 (include) This warning is for project developers. Use -Wno-dev to suppress it. CMake Error at /usr/local/lib/cmake/llvm/LLVM-Config.cmake...
-
Peter Klausler authored
Fortran allows a generic procedure interface to have the same name as a derived type in the same scope or the same name as one of its specific procedures. (It can't have both since a derived type and specific procedure can't have the same name in a scope.) Some popular compilers allow generic interfaces with distinct accessible homonymous specific procedures to be merged by USE association. Thsi compiler does not, and for good reason: it leads to ambiguity in cases where a procedure name appears outside a reference, such as in a PROCEDURE declaration statement as the procedure's interface, the target of a procedure pointer assignment statement, or as an actual argument. This patch cleans up the code that handles these cases, improves some error messages, and adds more tests. Resolves https://github.com/llvm/llvm-project/issues/60228. Differential Revision: https://reviews.llvm.org/D150915
-
Peter Klausler authored
A recent fix to avoid bogus errors with the CONTIGUOUS attribute caused declaration checking to miss errors with applications of CONTIGUOUS to names that are not variables. Restore those error messages, and add tests to ensure that the original problem remains fixed while the recent regressions have been resolved. Differential Revision: https://reviews.llvm.org/D151124
-
Nick Desaulniers authored
As reported by @kees, GCC treats __builtin_object_size of structures containing flexible array members (aka arrays with incomplete type) not just as the sizeof the underlying type, but additionally the size of the members in a designated initializer list. Fixes: https://github.com/llvm/llvm-project/issues/62789 Reviewed By: erichkeane Differential Revision: https://reviews.llvm.org/D150892
-
max authored
This diff adds python bindings for `MlirTypeID`. It paves the way for returning accurately typed `Type`s from python APIs (see D150927) and then further along building type "conscious" `Value` APIs (see D150413). Reviewed By: ftynse Differential Revision: https://reviews.llvm.org/D150839
-
Artem Belevich authored
Replaces hasSMxy/hasPTXxy with hasSM<xy>/hasPTX<xy> so we can use them as needed without having to hardcode each version explicitly. Differential Revision: https://reviews.llvm.org/D150999
-
Michael Jones authored
The previous string to float tests didn't check correctness, but due to the atof differential test proving unreliable the strtofloat fuzz test has been changed to use MPFR for correctness checking. Some minor bugs have been found and fixed as well. Reviewed By: lntue Differential Revision: https://reviews.llvm.org/D150905
-
Jorge Gorbe Moya authored
After https://reviews.llvm.org/D147831, lldb-vscode doesn't send a process event after launch/attach in case of failure. I believe this is the right interpretation of the spec, because the description of the event says: > The event indicates that the debugger has begun debugging a new > process. and we haven't started debugging a process if there's no process because we failed to launch it. This is also supported by the fact that `request_launch` in vscode.py doesn't wait for the event if passed `expectFailure=True`. However, this doesn't take into account *unexpected* launch failures. In that case, `request_launch` will hang indefinitely waiting for the process event. This patch changes it so we'll only wait for these events if `request["success"]` is true, independently of whether any failure was expected or not. Differential Revision: https://reviews.llvm.org/D150470
-
Slava Zakharin authored
Reboxing of the actual argument according to the type of the dummy argument has to be aware of the potential rank mismatch, when IGNORE_TKR(R) is used. This change only adds support for the mismatching rank when the dummy argument has unlimited polymorphic type. Reviewed By: jeanPerier Differential Revision: https://reviews.llvm.org/D151016
-
Fangrui Song authored
D148573 made x86-specific -fsanitize=function available to all targets, but wasm doesn't allow placing data words before the function label, so unsupport wasm.
-
Michael Maitland authored
Add llvm-mca tests for RISCV LMUL instruments to show that llvm-mca RISCV LMUL instruments work. This commit was previously reverted in 847789d4. It is now being recommitted since the memory leak has been fixed in 4d2a1d7dd8f4. Differential Revision: https://reviews.llvm.org/D149496
-
Michael Maitland authored
There was a memory leak that presented itself once the llvm-mca tests were committed. This leak was not checked for by the pre-commit tests. This change changes the shared_ptr to a unique_ptr to avoid this problem. We will know that this fix works once committed since I don't know whether it is possible to force a lit test to use LSan. I spent the day trying to build llvm with LSan enabled without much luck. If anyone knows how to build llvm with LSan for the lit-tests, I am happy to give it another try locally. Differential Revision: https://reviews.llvm.org/D150816
-
Fangrui Song authored
-
Alex Langford authored
I don't think this needs to be a ConstString. Differential Revision: https://reviews.llvm.org/D150709
-
Fangrui Song authored
With D148785, -fsanitize=function no longer uses C++ RTTI objects and therefore can support C. The rationale for reporting errors is C11 6.5.2.2p9: > If the function is defined with a type that is not compatible with the type (of the expression) pointed to by the expression that denotes the called function, the behavior is undefined. The mangled types approach we use does not exactly match the C type compatibility (see `f(callee1)` below). This is probably fine as the rules are unlikely leveraged in practice. In addition, the call is warned by -Wincompatible-function-pointer-types-strict. ``` void callee0(int (*a)[]) {} void callee1(int (*a)[1]) {} void f(void (*fp)(int (*)[])) { fp(0); } int main() { int a[1]; f(callee0); f(callee1); // compatible but flagged by -fsanitize=function, -fsanitize=kcfi, and -Wincompatible-function-pointer-types-strict } ``` Skip indirect call sites of a function type without a prototype to avoid deal with C11 6.5.2.2p6. -fsanitize=kcf... -
Aaron Siddhartha Mondal authored
The only enabling configuration of this is irreproducible. Since terminfo doesn't provide essential functionality, remove it so that all external dependencies now follow the same config_setting pattern. This should be an NFC for most setups and all CI setups. Reviewed By: phosek, MaskRay Differential Revision: https://reviews.llvm.org/D151006
-
Valentin Clement authored
Update acc.loop private operands list to use the new design introduced in D150622. Depends on D150975 Reviewed By: razvanlupusoru Differential Revision: https://reviews.llvm.org/D150984
-
Valentin Clement authored
This patch adds the initial infrastructure to lower the private clause to the new design introduced in D150622. The init region is not implemented yet and currently only yield the input argument (semantic is then similar with the previous design currently). Implementation will come in a follow up patch to keep patch. This patch also re-enable test commented out for `acc serial`, `acc serial loop`, `acc parallel` and `acc parallel loop` with private clause. Depends on D150972, D150973 Reviewed By: razvanlupusoru, jeanPerier Differential Revision: https://reviews.llvm.org/D150975
-
Valentin Clement authored
This patch adds a common function to get a string representation of a FIR type. This will be useful to generate couple of operations like the acc.private.recipe, acc.firstprivate.recipe and the acc.reduction.recipe Reviewed By: razvanlupusoru Differential Revision: https://reviews.llvm.org/D150973
-
Valentin Clement authored
Update acc.serial private operands list to use the new design introduced in D150622. Test in flang/test/Lower/OpenACC/acc-parallel.f90 and flang/test/Lower/OpenACC/acc-parallel-loop.f90 are temporarly disabled and will be enabled with updated lowering in the next patch. Depends on D150971 Reviewed By: razvanlupusoru Differential Revision: https://reviews.llvm.org/D150972
-
Alexandros Lamprineas authored
Using AvgLoopIters on any loop is too imprecise making the cost model favor users inside loop nests regardless of the actual tripcount. Differential Revision: https://reviews.llvm.org/D150375
-
Valentin Clement authored
Update acc.parallel private operands list to use the new design introduced in D150622. Test in flang/test/Lower/OpenACC/acc-parallel.f90 and flang/test/Lower/OpenACC/acc-parallel-loop.f90 are temporarly disabled and will be enabled with updated lowering in the follow-up patch. Reviewed By: razvanlupusoru Differential Revision: https://reviews.llvm.org/D150971
-
pengchao.hu authored
Add more attribute builders, such as "F32Attr", "F64Attr" and "F64ArrayAttr", which are useful to create operations by python bindings. For example, tosa.clamp in _tosa_ops_gen.py need 'F32Attr'. Reviewed By: ftynse Differential Revision: https://reviews.llvm.org/D150757
-
Nikolas Klauser authored
For some reason the expected ignore_format.txt changed. This patch fixes it in trunk, but the problem is being investigated. Reviewed By: #libc, Mordante Spies: Mordante, libcxx-commits, arichardson Differential Revision: https://reviews.llvm.org/D151115
-
Luke Lau authored
-
Peiming Liu authored
Reviewed By: ftynse Differential Revision: https://reviews.llvm.org/D151114
-
Fabian Mora authored
Fixes a mistake in the lowering of memref.alloca to llvm.alloca, as llvm.alloca uses the number of elements to allocate in the stack and not the size in bytes. Reference: LLVM IR: https://llvm.org/docs/LangRef.html#alloca-instruction LLVM MLIR: https://mlir.llvm.org/docs/Dialects/LLVM/#llvmalloca-mlirllvmallocaop Reviewed By: ftynse Differential Revision: https://reviews.llvm.org/D150705
-
- May 22, 2023
-
-
Takuya Shimizu authored
[clang][AST] TextNodeDumper should not evaluate the initializer of constexpr variable declaration when it has a dependent type `TextNodeDumper` enabed through `-ast-dump` flag should not evlauate the initializer when it visits a constexpr `VarDecl` node if it has a dependent type. I found a crashing case fixed by this change and added it as a test case. `template <typename T> constexpr T call_init(0);` Link: https://godbolt.org/z/3bG9Pjj5E This is a fix for the regression caused by D146358 Differential Revision: https://reviews.llvm.org/D151033
-
Viktoriia Bakalova authored
Differential Revision: https://reviews.llvm.org/D151073
-
Fangrui Song authored
This reverts commit 8dec295a. See https://github.com/llvm/llvm-project/issues/62838
-
Fangrui Song authored
-
Matt Arsenault authored
This assert should have the same set of vector types as the binary and ternary case (although this assert is kind of pointless, the code should work for any vector type as-is). Fixes part of issue #32650.
-
Jay Foad authored
If the second argument of V_SET_INACTIVE is undef/poison, SIWholeQuadMode lowered it to a COPY from the first argument, but that caused invalid MIR if the first argument was an immediate rather than a register. Fix this by lowering to a V_MOV instruction instead of a COPY. Fixes https://github.com/llvm/llvm-project/issues/62862 Differential Revision: https://reviews.llvm.org/D151105
-
Joseph Huber authored
Currently there is no documentation for these flags, users might find it confusing to know which values are permitted. This change simply adds documentation to suggest using `-mcpu=help` to list the availible target names. Reviewed By: aaron.ballman Differential Revision: https://reviews.llvm.org/D151098
-
Benjamin Kramer authored
-
Michael Platings authored
Output on Windows is "llvm-profdata.exe"
-
Paulo Matos authored
LLVM fails to build in some environments with EXPENSIVE_CHECKS due to the use of uint64_t without including cstdint. Differential Revision: https://reviews.llvm.org/D151101
-