- May 21, 2021
-
-
Stephen Tozer authored
Currently, variadic dbg.values (i.e. those using a DIArgList as part of their location) are not handled properly by FastISel or GlobalISel, and will produce invalid DBG_VALUE instructions if they encounter them. This patch fixes this issue by emitting undef DBG_VALUE instructions for variadic dbg.values, so that no incorrect instruction is produced and any prior variable location is terminated. This is simply a quick-fix to prevent errors; a correct implementation should come later for these ISel pipelines to ensure that we do not drop debug information unnecessarily. Differential Revision: https://reviews.llvm.org/D102500
-
Jean Perier authored
- Replace class(*) member by a c_ptr member to avoid having to handle polymorphic components in the type info table generation. Polymorphic entity handling will require these very tables to be lowered properly. Note: keep the init as NullPointer/Designators. This is technically invalid Fortran, the init should have c_ptr type. But wrapping this in a C_LOC intrinsic call would make runtime generation and lowering more complex with no real benefits. - ComponentIterator is crashing when used on the generated derived types in GetScope. This patch makes GetScope more robust, but it is not entirely clear to me why this is only happening with the generated derived types. - The type of generated character globals was incorrect because Scope::FindType was matching character types with different length. Add a CharacterTypeSpec == operator to fix this. Differential Revision: https://reviews.llvm.org/D102768
-
Peter Waller authored
Follow up to D101357 / 3fa6510f. Supersedes D102330. Goal: Use flags setting rdffrs instead of rdffr + ptest. Problem: RDFFR_P doesn't have have a flags setting equivalent. Solution: in instcombine, canonicalize to RDFFR_PP at the IR level, and rely on RDFFR_PP+PTEST => RDFFRS_PP optimization in AArch64InstrInfo::optimizePTestInstr. While here: * Test that rdffr.z+ptest generates a rdffrs. * Use update_{test,llc}_checks.py on the tests. * Use sve attribute on functions. Differential Revision: https://reviews.llvm.org/D102623
-
Sanjay Patel authored
GlobalOpt can slice structs/arrays and change GEPs in the process, but it was not updating alignments for load/store users. This eventually causes the crashing seen in: https://llvm.org/PR49661 https://llvm.org/PR50253 On x86, this required SLP+codegen to create an aligned vector store on an invalid address. The bugs would be easier to demonstrate on a target with stricter alignment requirements. I'm not sure if this is a complete solution. The alignment updating code is adapted from InstCombine, so I assume that part is tested and good. Differential Revision: https://reviews.llvm.org/D102552
-
Sanjay Patel authored
Goes with D102552
-
Raphael Isemann authored
Not sure if that's the ostringstream or our conversion code, but this is returning the wrong results on Windows.
-
- May 20, 2021
-
-
Alexey Bataev authored
If we gather extract elements and they actually are just shuffles, it might be profitable to vectorize them even if the tree is tiny. Differential Revision: https://reviews.llvm.org/D101460
-
Nicolas Vasilache authored
Drop the Linalg dialect EDSC subdirectory and update all uses. Differential Revision: https://reviews.llvm.org/D102848
-
Aaron Ballman authored
The diagnostics were not following the usual style rules.
-
Jon Chesterfield authored
[libomptarget][amdgpu] Remove majority of fatal errors Replaces most calls to exit() with returning an error to the library entry point. Minor changes to error handling for clear bugs, remove some dead code. Each exit() call site replaced is either in a library entry point or a function that already returns error codes on some paths. The existing handling is not well tested but replacing exit() with a fallback path should be a strict improvement. Remaining two early exit points are an abort() from a callback and exit() from within msgpack. Fixes for those are less obvious and left for a later patch. Reviewed By: pdhaliwal Differential Revision: https://reviews.llvm.org/D102346
-
Raphael Isemann authored
-
Daniel Kiss authored
Linker scripts might not handle COMDAT sections. SLSHardeing adds new section for each __llvm_slsblr_thunk_xN. This new option allows the generation of the thunks into the normal text section to handle these exceptional cases. ,comdat or ,noncomdat can be added to harden-sls to control the codegen. -mharden-sls=[all|retbr|blr],nocomdat. Reviewed By: kristof.beyls Differential Revision: https://reviews.llvm.org/D100546
-
Louis Dionne authored
-
Louis Dionne authored
This is not an issue anymore since we don't build the libc++ dylib with C++14 anymore (see https://llvm.org/PR28391) for details. Differential Revision: https://reviews.llvm.org/D102106
-
Jon Chesterfield authored
[libomptarget] Disable test bug49334 on amdgpu Hangs on amdgpu, do not know why. Disable to unblock build. Reviewed By: ye-luo Differential Revision: https://reviews.llvm.org/D102017
-
Louis Dionne authored
Eventually, this should become the default way of running the tests. For now, only move a few CI nodes to it, and keep a node that runs the legacy configuration. Differential Revision: https://reviews.llvm.org/D97565
-
Andrzej Warzynski authored
The old invitation has expired, so I've created a new one and update the link in the docs accordingly.
-
Aaron Puchert authored
We were always storing a regular ValueDecl* as decomposition declaration and haven't been using the opportunity to initialize it lazily. Reviewed By: aaron.ballman Differential Revision: https://reviews.llvm.org/D99455
-
Djordje Todorovic authored
This reverts commit 76f375f3. This will be pushed again, after investigating a test failure: https://lab.llvm.org/buildbot/#/builders/16/builds/11254
-
Hubert Tong authored
The test previous accidentally passed because it was looking for a lack of specific input from the binary(!) output being sent to stdout.
-
Tamar Christina authored
This reverts commit f7c53515. To investigate a test failure.
-
Djordje Todorovic authored
This is an improvement of [0]. This adds checking of original llvm.dbg.values()/declares() instructions in optimizations. We have picked a real issue that has been found with this (actually, picked one variable location missing from [1] and resolved the issue), and the result is the fix for that -- D100844. Before applying the D100844, using the options from [0] (but with this patch applied) on the compilation of GDB 7.11, the final HTML report for the debug-info issues can be found at [1] (please scroll down, and look for "Summary of Variable Location Bugs"). After applying the D100844, the numbers has improved a bit -- please take a look into [2]. [0] https://llvm.org/docs/HowToUpdateDebugInfo.html\ [1] https://djolertrk.github.io/di-check-before-adce-fix/ [2] https://djolertrk.github.io/di-check-after-adce-fix/ Differential Revision: https://reviews.llvm.org/D100845
-
Paul C. Anagnostopoulos authored
Differential Revision: https://reviews.llvm.org/D102238
-
Xiangling Liao authored
On AIX, char bitfields have the same alignment as unsigned int. Reference: https://reviews.llvm.org/D87029 Differential Revision: https://reviews.llvm.org/D102715
-
Haojian Wu authored
[clang] Invalidate a non-dependent-type RecordDecl when it has any dependent-type base class specifier. This happens during the error-recovery, and it would esacpe all dependent-type check guards in getTypeInfo/constexpr-evaluator code paths, which lead to crashes. Differential Revision: https://reviews.llvm.org/D102773
-
Joerg Sonnenberger authored
Strictly speaking, the architecture manual no longer uses the st mnemonic, but that's a much more intrusive change for little gain. Differential Revision: https://reviews.llvm.org/D96313
-
David Green authored
-
Adrian Kuegel authored
This adds the straightforward conversion for EqualOp (two complex numbers are equal if both the real and the imaginary part are equal). Differential Revision: https://reviews.llvm.org/D102840
-
David Sherwood authored
When trying to return a type such as <vscale x 1 x i32> from a function we crash in DAGTypeLegalizer::WidenVecRes_EXTRACT_SUBVECTOR when attempting to get the fixed number of elements in the vector. For the simple case we are dealing with, i.e. extracting <vscale x 1 x i32> from index 0 of input vector <vscale x 4 x i32> we can simply rely upon existing code that just returns the input. Differential Revision: https://reviews.llvm.org/D102605
-
Adrian Kuegel authored
-
Simon Pilgrim authored
Haswell, Excavator and early Ryzen all have slower 256-bit non-uniform vector shifts (confirmed on AMDSoG/Agner/instlatx64 and llvm models) - so bump the worst case costs accordingly. Noticed while investigating PR50364
-
David Truby authored
This adds custom lowering for the MLOAD and MSTORE ISD nodes when passed fixed length vectors in SVE. This is done by converting the vectors to VLA vectors and using the VLA code generation. Fixed length extending loads and truncating stores currently produce correct code, but do not use the built in extend/truncate in the load and store instructions. This will be fixed in a future patch. Differential Revision: https://reviews.llvm.org/D101834
-
Michael Spencer authored
This reverts commit 76b8754d and ensures the PCM files are created in the correct directory (not in the current working directory).
-
Roman Lebedev authored
-
Sergey Dmitriev authored
This will allow to use llvm-strip with file names that begin with dashes. Reviewed By: jhenderson Differential Revision: https://reviews.llvm.org/D102825
-
David Green authored
This adds some extra codegen tests for abs and hadd, regenerating some of the existing tests with updated check lines.
-
LLVM GN Syncbot authored
-
Alexey Lapshin authored
This patch prepares llvm-objcopy to move its implementation into a separate library. To make it possible it is necessary to minimize internal dependencies. Differential Revision: https://reviews.llvm.org/D99055
-
Roman Lebedev authored
-
Roman Lebedev authored
-