- Jun 02, 2023
-
-
Jim Ingham authored
I fixed some long-standing failures in SBTarget::FindGlobalVariables but the fix is in the the accelerator table lookups. I fixed it in the DWARF mappable tables but not everyone uses those, so I had to restrict the test to systems I know did.
-
Med Ismail Bennani authored
Signed-off-by:Med Ismail Bennani <ismail@bennani.ma>
-
Med Ismail Bennani authored
Signed-off-by:Med Ismail Bennani <ismail@bennani.ma>
-
Med Ismail Bennani authored
This patch changes the way we load a crash report into a scripted process by creating a empty target. To do so, it parses the architecture information from the report (for both the legacy and json format) and uses that to create a target that doesn't have any executable, like what we do when attaching to a process. For the legacy format, we mostly rely on the `Code Type` line, since the architure is an optional field on the `Binary Images` sections. However for the json format, we first try to get the architecture while parsing the image dictionary if we couldn't find it, we try to infer it using the "flavor" key when parsing the frame's registers. If the architecture is still not set after parsing the report, we raise an exception. rdar://107850263 Differential Revision: https://reviews.llvm.org/D151849 Differential Signed-off-by:
Med Ismail Bennani <ismail@bennani.ma>
-
Med Ismail Bennani authored
This patch should address the crashes when parsing a the crash report frame dictionary. If the crash report is not symbolicated, the `symbolLocation` key will be missing. In that case, we should just use the `imageOffset`. rdar://109836386 Differential Revision: https://reviews.llvm.org/D151844 Signed-off-by:
Med Ismail Bennani <ismail@bennani.ma>
-
Aart Bik authored
Formerly, we accepted and/prod reductions as a standard reduction but these change the semantics after sparsification by not looking at implicit zeros. Therefore, we only accept standard reductions that are insensitive to implicit vs. explicit zeros, and leave the more complex reductions to the sparse_tensor.reduce custom reduction implementation. Reviewed By: Peiming Differential Revision: https://reviews.llvm.org/D151929
-
Jim Ingham authored
There were two bugs here. eMatchTypeStartsWith searched for "symbol_name" by adding ".*" to the end of the symbol name and treating that as a regex, which isn't actually a regex for "starts with". The ".*" is in fact a no-op. When we finally get to comparing the name, we compare against whatever form of the name was in the accelerator table. But for C++ that might be the mangled name. We should also try demangled names here, since most users are going the see demangled not mangled names. I fixed these two bugs and added a bunch of tests for FindGlobalVariables. This change is in the DWARF parser code, so there may be a similar bug in PDB, but the test for this was already skipped for Windows, so I don't know about this. You might theoretically need to do this Mangled comparison in DWARFMappedHash::MemoryTable::FindByName except when we have names we always chop them before looking them up so I couldn't see any code paths that fail without that change. So I didn't add that to this patch. Differential Revision: https://reviews.llvm.org/D151940
-
Jie Fu authored
/data/llvm-project/llvm/lib/Target/RISCV/GISel/RISCVCallLowering.cpp:272:12: error: variable 'Index' set but not used [-Werror,-Wunused-but-set-variable] unsigned Index = 0; ^ 1 error generated. -
Nitin John Raj authored
This patch implements minimal support for lowering function calls to callees with arguments and/or return values according to the RISC-V calling convention. Integer, pointer and aggregate types are supported. Feedback is very much appreciated. Reviewed By: arsenm Differential Revision: https://reviews.llvm.org/D75023
-
Arthur Eubanks authored
With /winsysroot and without /machine, we don't know which paths to add to the search paths. We do autodetect machine type and add winsysroot search paths in SymbolTable::addFile(), but that happens after all input files are opened. So in the loop where we read files, if we fail to open a file we can retry with the winsysroot search path potentially added by reading a previous file. This will fail if we try to open something in the winsysroot before reading a file that can give us the architecture, but shrug. Fixes #54409 Reviewed By: rnk Differential Revision: https://reviews.llvm.org/D151815
-
Matt Arsenault authored
This barely matters since 99% are converted to the generic intrinsic now, and the only real difference is the target intrinsic supports a variable test mask. Start propagating poison. Prefer folding to a defined result (false) for an undef test mask. Propagate undef for the first operand.
-
Craig Topper authored
[RISCV] Separate slideup/down pseudoinstructions from FMA instructions earlier in the class hierarchy. Remove RISCVMaskedPseudo from vslideup/down. I hadn't intended to include them. I missed that they used the same classes as FMA. They weren't tested and I don't have a use case yet. This is also needed as I attempt refactor the classes to improve D151850.
-
Craig Topper authored
-
Diego Caballero authored
This reverts commit 76d71f37.
-
Diego Caballero authored
Patterns that convert extract(transfer_read) into a scalar load where incorrectly triggering for cases where a sub-vector instead of a scalar was extracted. Reviewed By: nicolasvasilache, hanchung, awarzynski Differential Revision: https://reviews.llvm.org/D151862
-
Diego Caballero authored
This PR adds support for shape casting from and to 0-D vectors. Reviewed By: nicolasvasilache, hanchung, awarzynski Differential Revision: https://reviews.llvm.org/D151851
-
Diego Caballero authored
The `vector.extract` folding patterns do not support 0-D vectors (actually, 0-D vector support couldn't even be implemented as a folding pattern as it would require replacing `vector.extract` with a `vector.extractelement` op). This patch is bailing out folding when 0-D vectors are found. Reviewed By: nicolasvasilache, hanchung Differential Revision: https://reviews.llvm.org/D151847
-
LLVM GN Syncbot authored
-
Nikolas Klauser authored
Reviewed By: #libc, ldionne Spies: ldionne, libcxx-commits Differential Revision: https://reviews.llvm.org/D151573
-
Michael Jones authored
There were regressions in the testing framework due to none of the functioning buildbots having a 32 bit long. This allowed the 32 bit version of the strtointeger function to go untested. This patch adds tests for strtoint32 and strtoint64, which are internal testing functions that use constant integer sizes. It also fixes the tests to properly handle these situations. Reviewed By: sivachandra Differential Revision: https://reviews.llvm.org/D151935
-
Amara Emerson authored
Fixes #62897
-
Craig Topper authored
[TargetLowering][ARM][AArch64] Remove usage of NoSignedWrap/NoUnsignedWrap from AVGFLOOR/CEIL transform. Use computeOverflowForUnsignedAdd and computeOverflowForSignedAdd instead. Unfortunately, this recomputes some known bits and sign bits we may have already computed, but was the easiest fix without a lot of restructuring. This recovers the regressions from D151472. Reviewed By: RKSimon Differential Revision: https://reviews.llvm.org/D151858
-
Blue Gaston authored
Moved setting supported architecture to parent cmake configuration files so they can be read by both lib and test CMakeList.txt. Fixed issue with check-asan-abi that did not filter for current host architecture which caused x86_64 bots to run Arm64 tests. Added x86_64 as a supported arch to the test cmake file. rdar://110017569 Differential Revision: https://reviews.llvm.org/D151846
-
Craig Topper authored
-
Henry Yu authored
[FuzzMutate] Avoid calling function with metadata/token parameter/return type for `InsertFunctionStrategy` When there is a function with metadata/token parameter/return type, `InsertFunctionStrategy` will crash. This patch fixes the problem by falling back to create function declaration when the sampled function contains metadata/token parameter/return type. Reviewed By: Peter Differential Revision: https://reviews.llvm.org/D150627
-
Peter Klausler authored
Canonicalize !$CUF KERNEL DO loop nests, similar to OpenACC/OpenMP canonicalization. Check statements and expressions in device contexts for usage that isn't supported. Add more tests, and include some tweaks to standard modules needed to build CUDA Fortran modules. Depends on https://reviews.llvm.org/D150159, https://reviews.llvm.org/D150161, https://reviews.llvm.org/D150162, & https://reviews.llvm.org/D150163. Differential Revision: https://reviews.llvm.org/D150164
-
Louis Dionne authored
-
Dmitry Dolgov authored
C bindings for the new pass manager seem to allow to set any option from LLVMPassBuilderOptions, except InlinerThreshold. Allow to configure it as well. Reviewed By: aeubanks Differential Revision: https://reviews.llvm.org/D151832
-
Leandro Lupori authored
The insertion of a space on a line continuation right before a character literal was confusing TokenSequence::ToLowerCase(), that was unable to identify the character literal as such, causing it to be converted to lower case. Fix this by skipping spaces in the beginning and end of each token, before testing for token type. Fixes https://github.com/llvm/llvm-project/issues/62039 Reviewed By: klausler Differential Revision: https://reviews.llvm.org/D151885
-
Tom Eccles authored
In review for https://reviews.llvm.org/D146278, @vzakhari asked to separate -emit-fir and -emit-hlfir. This will allow FIR to be easily outputted after the HLFIR passes have been run. The new semantics are as follows: | Action | -hlfir? | Result | | =========== | ======= | =============================== | | -emit-hlfir | N | Outputs HLFIR | | -emit-hlfir | Y | Outputs HLFIR | | -emit-fir | N | Outputs FIR, using old lowering | | -emit-fir | Y | Outputs FIR, lowering via HLFIR | This is tested in flang/test/HLFIR/hlfir-flags.f90 Depends on: D151088 Differential Revision: https://reviews.llvm.org/D151108
-
Tom Eccles authored
In review for https://reviews.llvm.org/D146278, @vzakhari asked to separate -emit-fir and -emit-hlfir. This will allow FIR to be easily outputted after the HLFIR passes have been run. The new semantics are as follows: | Action | -flang-experimental-hlfir? | Result | | =========== | ========================== | =============================== | | -emit-hlfir | N | Outputs HLFIR | | -emit-hlfir | Y | Outputs HLFIR | | -emit-fir | N | Outputs FIR, using old lowering | | -emit-fir | Y | Outputs FIR, lowering via HLFIR | A patch for bbc will follow. Differential Revision: https://reviews.llvm.org/D151088
-
Alexander Yermolovich authored
A CU can have only one function so CU will have low_pc/high_pc. If this funciton is GCed by LLD low_pc will become 0x0, and BOLT can't map this to output. We kind of were getting away with it in monolithic DWARF, but with split DWARF there is only skeleton CU, so we end up with rnglist with header and array, but no body. This caused LLDB to report an error. Reviewed By: maksfb Differential Revision: https://reviews.llvm.org/D151845
-
Dávid Bolvanský authored
Sometimes an developer would like to have more control over cmov vs branch. We have unpredictable metadata in LLVM IR, but currently it is ignored by X86 backend. Propagate this metadata and avoid cmov->branch conversion in X86CmovConversion for cmov with this metadata. Example: ``` int MaxIndex(int n, int *a) { int t = 0; for (int i = 1; i < n; i++) { // cmov is converted to branch by X86CmovConversion if (a[i] > a[t]) t = i; } return t; } int MaxIndex2(int n, int *a) { int t = 0; for (int i = 1; i < n; i++) { // cmov is preserved if (__builtin_unpredictable(a[i] > a[t])) t = i; } return t; } ``` Reviewed By: nikic Differential Revision: https://reviews.llvm.org/D118118 -
Daniel Thornburgh authored
-
Mehdi Amini authored
This doc was written 4 years ago, some refresh in the example was overdue I suspect. Differential Revision: https://reviews.llvm.org/D151037
-
Hussain Kadhem authored
Fixing broken test in D140524 "Flang implementation for COMPILER_VERSION and COMPILER_OPTIONS intrinsics".
-
Mats Petersson authored
Despite me being convinced that the use of divide didn't produce any divide instructions, it does in fact add more instructions than using a plain shift operation. This patch simply changes the divide to a shift right, with an assert to check that the "divisor" is a power of two. Reviewed By: kiranchandramohan, tblah Differential Revision: https://reviews.llvm.org/D151880
-
Nick Desaulniers authored
Provide an example of how to use this extension and more importantly, document that cleanup functions are run in reverse nested order. Reviewed By: erichkeane Differential Revision: https://reviews.llvm.org/D151732
-
Jay Foad authored
Differential Revision: https://reviews.llvm.org/D151424
-
Jin Xin Ng authored
Matches behaviour from tsan_interceptors_posix. This is covered by sanitizer_common/TestCases/malloc_hook.cpp (which is currently failing on darwin) I've tested it on an arm-based Mac & also compiled to x86_64 on it. Differential Revision: https://reviews.llvm.org/D151865
-