- Apr 01, 2022
-
-
Shafik Yaghmour authored
Applied modernize-use-equals-default clang-tidy check over LLDB. This check is already present in the lldb/.clang-tidy config. Differential Revision: https://reviews.llvm.org/D121844
-
Stefan Pintilie authored
To store a byval parameter the existing code would store as many 8 byte elements as was required to store the full size of the byval parameter. For example, a paramter of size 16 would store two element of 8 bytes. A paramter of size 12 would also store two elements of 8 bytes. This would sometimes store too many bytes as the size of the paramter is not always a factor of 8. This patch fixes that issue and now byval paramters are stored with the correct number of bytes. Reviewed By: nemanjai, #powerpc, quinnp, amyk Differential Revision: https://reviews.llvm.org/D121430
-
Vy Nguyen authored
(Orignal phab: https://reviews.llvm.org/D116787)
-
Valentin Clement authored
Re-introduce a fully qualified type on teh fir.freemem operation. Since this is the only operation where the prefix gets elided in fir, this patch make it fully qualified so the dialect syntax feels more consistent. Reviewed By: vdonaldson Differential Revision: https://reviews.llvm.org/D122839
-
Vladislav Khmelevsky authored
Check that the function will be emitted in the final binary. Preserving old function address is needed in case it is PLT trampiline, that is currently not moved by the BOLT. Differential Revision: https://reviews.llvm.org/D122098
-
Vladislav Khmelevsky authored
BOLT treats aarch64 objects located in text as empty functions with contant islands. Emit them with at least 8-byte alignment to the new text section. Vladislav Khmelevsky, Advanced Software Technology Lab, Huawei Differential Revision: https://reviews.llvm.org/D122097
-
Nico Weber authored
-
Vy Nguyen authored
[llvm-readobj] Fix forward build breakages caused by https://reviews.llvm.org/rG33b3c86afab06ad61d46456c85c0b565cfff8287 Change: use std::function instead of function_ref because it's not safe to store a function_ref (original phab: https://reviews.llvm.org/D116787)
-
River Riddle authored
This avoids accidentally reversing the order of constants during successive application, e.g. when running the canonicalizer. This helps reduce the number of iterations, and also avoids unnecessary changes to input IR. Fixes #51892 Differential Revision: https://reviews.llvm.org/D122692
-
Stefan Pintilie authored
Add a compiler option and the instructions required to set the special Data Stream Control Register (DSCR). The special register will not be set by default. Original patch by: Muhammad Usman Reviewed By: nemanjai, #powerpc Differential Revision: https://reviews.llvm.org/D117013
-
Mark de Wever authored
Note of the functions was marked as _LIBCPP_HIDE_FROM_ABI. Did some minor formatting fixes to keep consistency. To keep it easy to review not all odd formatting has been fixed. Reviewed By: ldionne, #libc Differential Revision: https://reviews.llvm.org/D122834
-
Jonathan Peyton authored
-
Vy Nguyen authored
Reland "[llvm-readobj][MachO] Add option to sort the symbol table before dumping (MachO only, for now)." https://reviews.llvm.org/D116787 This reverts commit 33b3c86a. New change: fixed build failures: - in stabs-sorted:restore the the ERR-KEY statements, which were accidentally deleted during refactoring - in ObjDumper.h/MachODumper.cpp: refactor so that current dumpers which didn't provide an impl that accept a SymCom still works -
Alex Zinenko authored
This reverts commit b50893db. Post-commit review pointed out that adding this file will require the entire Python tree (including out-of-tree projects) to come from the same directory, which might be problematic in non-default installations. Reverting pending further discussion.
-
Florian Hahn authored
This reverts commit 8378a71b. It looks like this patch uncovered another issue, e.g. see https://lab.llvm.org/buildbot/#/builders/168/builds/5518
-
LLVM GN Syncbot authored
-
Roger Kim authored
Just some code clean up. Reviewed By: #lld-macho, int3 Differential Revision: https://reviews.llvm.org/D122752
-
Aaron Ballman authored
A significant number of our tests in C accidentally use functions without prototypes. This patch converts the function signatures to have a prototype for the situations where the test is not specific to K&R C declarations. e.g., void func(); becomes void func(void);
-
Paul Kirth authored
Reimplements MisExpect diagnostics from D66324 to reconstruct its original checking methodology only using MD_prof branch_weights metadata. New checks rely on 2 invariants: 1) For frontend instrumentation, MD_prof branch_weights will always be populated before llvm.expect intrinsics are lowered. 2) for IR and sample profiling, llvm.expect intrinsics will always be lowered before branch_weights are populated from the IR profiles. These invariants allow the checking to assume how the existing branch weights are populated depending on the profiling method used, and emit the correct diagnostics. If these invariants are ever invalidated, the MisExpect related checks would need to be updated, potentially by re-introducing MD_misexpect metadata, and ensuring it always will be transformed the same way as branch_weights in other optimization passes. Frontend based profiling is now enabled without using LLVM Args, by introducing a new CodeGen option, and checking if the -Wmisexpect flag has been passed on the command line. Reviewed By: tejohnson Differential Revision: https://reviews.llvm.org/D115907
-
Joachim Protze authored
Latest OpenMP spec says parallel_data is NULL for initial/implicit-task-end. We nevertheless need to cleanup the ParallelData here, as there is no other callback for the end of the implicit parallel region. We can use the reference stored in the TaskData. Reviewed By: dreachem Differential Revision: https://reviews.llvm.org/D114005
-
Thomas Symalla authored
Whenever a v_cmp, s_and_saveexec instruction sequence shall be transformed to an equivalent s_mov, v_cmpx sequence, it needs to be detected if the v_cmp target register is used between the two instructions as the v_cmp result gets omitted by using the v_cmpx instruction, resulting in invalid code. Reviewed By: foad Differential Revision: https://reviews.llvm.org/D122797
-
Simon Pilgrim authored
lowerV64I8Shuffle has been extended a lot since this was added.
-
Simon Pilgrim authored
Shuffle combining will still lower to this with better fast cross lane checks. Noticed while triaging Issue #54658
-
Okwan Kwon authored
Bubble up extract_slice above Linalg operation. A sequence of operations %0 = linalg.<op> ... arg0, arg1, ... %1 = tensor.extract_slice %0 ... can be replaced with %0 = tensor.extract_slice %arg0 %1 = tensor.extract_slice %arg1 %2 = linalg.<op> ... %0, %1, ... This results in the reduce computation of the linalg operation. The implementation uses the tiling utility functions. One difference from the tiling process is that we don't need to insert the checking code for the out-of-bound accesses. The use of the slice itself represents that the code writer is sure about the boundary condition. To avoid adding the boundary condtion check code, `omitPartialTileCheck` is introduced for the tiling utility functions. Differential Revision: https://reviews.llvm.org/D122437 -
Chris Bieneman authored
This adds diagnostics for conflicting attributes on the same declarataion, conflicting attributes on a forward and final declaration, and defines a more narrowly scoped HLSLEntry attribute target. Big shout out to @aaron.ballman for the great feedback and review on this!
-
Abinav Puthan Purayil authored
Differential Revision: https://reviews.llvm.org/D122803
-
Abinav Puthan Purayil authored
Differential Revision: https://reviews.llvm.org/D122818
-
Aaron Ballman authored
These variables were being used uninitialized and it caused a significant number of test failures on Windows.
-
- Mar 31, 2022
-
-
Kirill Bobyrev authored
This reverts commit 4cb38bfe. Awkwardly enough, this builds Windows buildbots: http://45.33.8.238/win/55402/step_9.txt It is yet unclear why this is happening but I will need more time to diagnose the issue.
-
Michał Górny authored
Update the hardware CRC32 logic in scudo to support using `-mcrc32` instead of `-msse4.2`. The CRC32 intrinsics use the former flag in the newer compiler versions, e.g. in clang since 12fa608a. With these compilers, passing `-msse4.2` is insufficient to enable the instructions and causes build failures when `-march` does not enable CRC32: /var/tmp/portage/sys-libs/compiler-rt-sanitizers-14.0.0/work/compiler-rt/lib/scudo/scudo_crc32.cpp:20:10: error: always_inline function '_mm_crc32_u32' requires target feature 'crc32', but would be inlined into function 'computeHardwareCRC32' that is compiled without support for 'crc32' return CRC32_INTRINSIC(Crc, Data); ^ /var/tmp/portage/sys-libs/compiler-rt-sanitizers-14.0.0/work/compiler-rt/lib/scudo/scudo_crc32.h:27:27: note: expanded from macro 'CRC32_INTRINSIC' # define CRC32_INTRINSIC FIRST_32_SECOND_64(_mm_crc32_u32, _mm_crc32_u64) ^ /var/tmp/portage/sys-libs/compiler-rt-sanitizers-14.0.0/work/compiler-rt/lib/scudo/../sanitizer_common/sanitizer_platform.h:132:36: note: expanded from macro 'FIRST_32_SECOND_64' # define FIRST_32_SECOND_64(a, b) (a) ^ 1 error generated. For backwards compatibility, use `-mcrc32` when available and fall back to `-msse4.2`. The `<smmintrin.h>` header remains in use as it still works and is compatible with GCC, while clang's `<crc32intrin.h>` is not. Originally reported in https://bugs.gentoo.org/835870. Differential Revision: https://reviews.llvm.org/D122789
-
Siva Chandra authored
Reviewed By: lntue Differential Revision: https://reviews.llvm.org/D122788
-
Sven van Haastregt authored
The memory_scope enum is not available before OpenCL 2.0, so ensure the sub_group_barrier overload with a memory_scope argument is restricted to OpenCL 2.0 and above. This is already the case in opencl-c.h. Fixes the issue revealed by https://reviews.llvm.org/D120254 Reported-by: Harald van Dijk (hvdijk)
-
Mark de Wever authored
The alternative outputs of std::put_time and std::strftime are the easiest to test with the Japanese locale. This is a preparation for the tests of the chrono formatters. Note since it takes a while before the Docker file changes propagate to the build nodes the verification of the locale is done in a separate patch. Reviewed By: ldionne, #libc Differential Revision: https://reviews.llvm.org/D122736
-
Mark de Wever authored
Reduced the details of the non-chrono formatting information. This has been shipped and these details part of P0645 which is still documented. Removing this information keeps the information up-to-date. Adds the formatters required for the types chrono namespace. Reviewed By: ldionne, #libc Differential Revision: https://reviews.llvm.org/D122735
-
Vince Bridgers authored
This change fixes an assert that occurs in the SMT layer when refuting a finding that uses pointers of two different sizes. This was found in a downstream build that supports two different pointer sizes, The CString Checker was attempting to compute an overlap for the 'to' and 'from' pointers, where the pointers were of different sizes. In the downstream case where this was found, a specialized memcpy routine patterned after memcpy_special is used. The analyzer core hits on this builtin because it matches the 'memcpy' portion of that builtin. This cannot be duplicated in the upstream test since there are no specialized builtins that match that pattern, but the case does reproduce in the accompanying LIT test case. The amdgcn target was used for this reproducer. See the documentation for AMDGPU address spaces here https://llvm.org/docs/AMDGPUUsage.html#address-spaces. The assert seen is: `*Solver->getSort(LHS) == *Solver->getSort(RHS) && "AST's must have the same sort!"' Ack to steakhal for reviewing the fix, and creating the test case. Reviewed By: steakhal Differential Revision: https://reviews.llvm.org/D118050
-
Peter Waller authored
Differential Revision: https://reviews.llvm.org/D122731
-
Fraser Cormack authored
-
Jay Foad authored
-
Wenju He authored
VectorizerStart extension is module callback in old PM, but is function callback in new PM. We lack a module extension point between end of buildModuleSimplificationPipeline and the function optimization (including vectorizer) pipeline. So this patch adds a new module extension point before the function optimization pipeline. Reviewed By: aeubanks Differential Revision: https://reviews.llvm.org/D122296
-
Groverkss authored
This patch fixes a bug in LinearTransform::applyTo where it did not carry the IdKind information, and instead treated every id as IdKind::Domain. Reviewed By: arjunp Differential Revision: https://reviews.llvm.org/D122823
-