- Jun 21, 2023
-
-
Job Noorman authored
- Correctly handle OpNum == 0 (auto select operand) - Implement MCExpr overload Reviewed By: rafauler Differential Revision: https://reviews.llvm.org/D153343
-
Job Noorman authored
Reviewed By: rafauler Differential Revision: https://reviews.llvm.org/D153344
-
Job Noorman authored
Reviewed By: rafauler Differential Revision: https://reviews.llvm.org/D153342
-
Aiden Grossman authored
This patch introduces the SubprocessMemory class to llvm-exegesis. This class contains several utilities that are needed for managing memory to set up an execution environment for memory annotations. Reviewed By: courbet Differential Revision: https://reviews.llvm.org/D151022
-
Christian Sigg authored
This avoids bazel builds failing after commit bba2b656 because libmlir_test_spirv_cpu_runner_c_wrappers.so registers the same runner functions twice. More precisely, this problem only shows up internally at Google because the bazel build does not have that target. Either way though, it's better to IWYU.
-
Aiden Grossman authored
This patch introduces the subprocess executor mode. Currently, this new mode doesn't do anything fancy, just executing the same code that the inprocess executor would do, but within a subprocess. This sets up the ability to add in many more memory-related features in the future.
-
LLVM GN Syncbot authored
-
WuXinlong authored
This patch adds a pass to generate `cm.mvsa01` & `cm.mva01s`. RISCVMoveOptimizer.cpp which combines two mv inst into one cm.mva01s or cm.mva01s. Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D150415
-
Matthias Springer authored
Add test cases for vectorizing linalg.matmul and linalg.copy on tensors. Differential Revision: https://reviews.llvm.org/D153357
-
Matthias Springer authored
Support tiling of ops with memref semantics. Differential Revision: https://reviews.llvm.org/D153353
-
Petr Hosek authored
This change adds basic support for baremetal riscv32 configuration. Differential Revision: https://reviews.llvm.org/D152563
-
Craig Topper authored
We already had an error for Zcmt though it appears to be untested Add similar one for Zcmp along with tests for both. Factor the code to share the strings as much as possible. Reviewed By: VincentWu Differential Revision: https://reviews.llvm.org/D153159
-
Matthias Springer authored
Differential Revision: https://reviews.llvm.org/D153347
-
Matthias Springer authored
Minor cleanup to take full advantage of OpFoldResult. Differential Revision: https://reviews.llvm.org/D153341
-
Matthias Springer authored
bufferization.to_memref ops are allowed in One-Shot Bufferize, but they are treated conservatively: in the absence of a memref analysis, we have to assume that the result buffer is read and written. Note: to_memref cannot introduce any future aliases that would have to be considered during One-Shot Bufferize, because only to_tensor ops with the `restrict` attribute are supported. Such tensors are guaranteed to not alias with any other buffer after bufferization. Differential Revision: https://reviews.llvm.org/D153365
-
tianleli authored
Reviewed By: pengfei Differential Revision: https://reviews.llvm.org/D153104
-
Mark de Wever authored
This change has a few additional effects: - Abstract classes are now formattable. - Volatile objects are no longer formattable. Implements - LWG3631 basic_format_arg(T&&) should use remove_cvref_t<T> throughout - LWG3925 Concept formattable's definition is incorrect Reviewed By: #libc, ldionne Differential Revision: https://reviews.llvm.org/D152092
-
Fangrui Song authored
As mentioned by commit c5d38924 (Apr 2020), PC-relative entries avoid dynamic relocations and can therefore make the section read-only. This is similar to D78082 and D78590. We cannot commit to support compiler/runtime built at different versions, so just don't play with versions. For Mach-O support (incomplete yet), we use non-temporary `lxray_fn_idx[0-9]+` symbols. Label differences are represented as a pair of UNSIGNED and SUBTRACTOR relocations. The SUBTRACTOR external relocation requires r_extern==1 (needs to reference a symbol table entry) which can be satisfied by `lxray_fn_idx[0-9]+`. A `lxray_fn_idx[0-9]+` symbol also serves as the atom for this dead-strippable section (follow-up to commit b9a134aa). Differential Revision: https://reviews.llvm.org/D152661
-
Siva Chandra Reddy authored
Before this change, a separate static method named cleanup was used to cleanup the file. Instead, now the close method cleans up the full file object using the platform's close function. Reviewed By: lntue Differential Revision: https://reviews.llvm.org/D153377
-
Craig Topper authored
The code at the beginning of the loop body and after the loop are identifical. Move it to the end of the loop body by making a few adjustments.
-
Craig Topper authored
The value "true" and "false" are treated specially and other values are treated as integers. Reviewed By: arsenm Differential Revision: https://reviews.llvm.org/D153180
-
Fangrui Song authored
The test requires that LLVM integreated assembler generates SUBTRACTOR/UNSIGNED relocations for `.long _minuend_1 - _subtrahend_1`. This currently works by luck because: * `_minuend_1` and `_subtrahend_1` are in different fragments (separated by a MCFillFragment) * and the result is known to be negative at parsing time. D153096 will change the assembler to fold `.long _minuend_1 - _subtrahend_1` to a constant, giving ld -order_file no chance to change the result. To fix the test, move the referenced labels after the label differences to block constant folding. Note: you may think the model is somewhat broken and it is. The .subsections_via_symbols mechanism does not block such constant folding. In reality SUBTRACTOR/UNSIGNED is for references to another section, which does not have the problem. Reviewed By: #lld-macho, smeenai Differential Revision: https://reviews.llvm.org/D153382
-
Oleksii Lozovskyi authored
Codegen can handle XRay for AArch64, tell the driver to allow it. Differential Revision: https://reviews.llvm.org/D145849
-
Amir Ayupov authored
Handle PT_GNU_RELRO segment in accordance with Linux Standard Base spec chapter 12: > PT_GNU_RELRO > The array element specifies the location and size of a segment which may > be made *read-only* after relocations have been processed. Perform a readelf-style mapping check between this segment and sections, set `IsRelro` section attribute. Reviewed By: #bolt, maksfb Differential Revision: https://reviews.llvm.org/D152944
-
Fangrui Song authored
Codegen OS-agnostic for ELF and the runtime is mostly OS-agnostic. It seems unnecessary to make restriction. While here, rewrite test/Driver/XRay/xray-instrument*.c to be more conventional: specify --target= explicitly instead of relying on the configured default target (which needs `REQUIRES:`). I am not sure enumerating every supported architecture is useful, so we just test a few.
-
Aiden Grossman authored
This reverts commit 0d4ef4ff. This was causing build failures on certain platforms when built with -Werror due to unused variable warnings in addition to causing build failures on Linux systems with older kernel versions as kernels prior to v5.15 don't support sys_pidfd_getpid. Reverting as I need to setup a system to properly test the rest of the patches in this series. Also reverts 8c6668fa which fixed the first issue so that the patch can actually be reverted.
-
Jie Fu authored
/data/llvm-project/llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp:275:9: error: unused variable 'ParentPIDFD' [-Werror,-Wunused-variable] int ParentPIDFD = syscall(SYS_pidfd_open, ParentPID, 0); ^ 1 error generated. -
Stella Laurenzo authored
This class has been causing me no end of grief for a long time, and the way it is used by mlir-tblgen is technically an ODR violation in certain situations. Due to the way that the build is layered, it is important that the MLIR tablegen libraries only depend on the LLVM tablegen libraries, not on anything else (like MLIRSupport). It has to be this way because these libraries/binaries are special and must pre-exist the full shared libraries. Therefore, the dependency chain must be clean (and static). At some point, someone pulled out a separate build target for just IndendedOstream in an attempt to satisfy the constraint. But because it is weird in different ways, this target was never installed properly as part of distributions, etc -- this causes problems for downstreams seeking to build a tblggen binary that doesn't itself have ODR/shared library problems. I was attempting to fix the distribution stuff but just opted to collapse this into a header-only library and not try to solve this with build layering. I think this is the safest and the least bad thing for such a dep. This also makes for a clean comment that actually explains the constraint (which I was having trouble verbalizing with the weird subset dependency). Differential Revision: https://reviews.llvm.org/D153393
-
Aiden Grossman authored
This patch introduces the subprocess executor mode. Currently, this new mode doesn't do anything fancy, just executing the same code that the inprocess executor would do, but within a subprocess. This sets up the ability to add in many more memory-related features in the future. Reviewed By: courbet Differential Revision: https://reviews.llvm.org/D151021
-
Matt Arsenault authored
This avoids a regression when SignBitMustBeZero is moved to computeKnownFPClass.
-
Arthur Eubanks authored
-
Aiden Grossman authored
This patch gives the ability to assign performance counters within llvm-exegesis to a specific process by passing its PID. This is needed later on for implementing a subprocess executor. Defaults to zero, the current process, for the InProcessFunctionExecutorImpl. Reviewed By: courbet Differential Revision: https://reviews.llvm.org/D151020
-
Amy Huang authored
Differential Revision: https://reviews.llvm.org/D137872
-
Aiden Grossman authored
In order to better support adding in new implementations of FunctionExecutor, this patch makes some small changes so that it is easier to add new ones in. FunctionExecutorImpl is renamed to InProcessFunctionExecutorImpl to better reflect how it will be placed relative to the soon-to-be introduced subprocess executor and a new function is created to create executors so selection can be done more easily. In addition, a new CLI flag, -execution-mode, which can be used to select between the different executors. Reviewed By: courbet Differential Revision: https://reviews.llvm.org/D151019
-
Kazuki Sakamoto authored
When LLDB fails to pull file from a package directory due to security constraint, user needs to set the package name to 'platform.plugin.remote-android.package-name' property to run shell commands as the package user. (e.g. to get file with 'cat' and 'dd'). https://cs.android.com/android/platform/superproject/+/master: system/core/run-as/run-as.cpp;l=39-61; drc=4a77a84a55522a3b122f9c63ef0d0b8a6a131627 Differential Revision: https://reviews.llvm.org/D152933
-
Kazuki Sakamoto authored
To test D152759 [lldb][Android] Support zip .so file introduce PlatformAndroidTest with the capability of mocking adb client. Differential Revision: https://reviews.llvm.org/D152855
-
Aart Bik authored
Reviewed By: K-Wu Differential Revision: https://reviews.llvm.org/D153378
-
Leonard Grey authored
The Objective-C runtime now stashes some state in TLS so any test that indirectly initializes an Objective-C object will have false positive leaks unless use_tls=1 as is the default. Differential Revision: https://reviews.llvm.org/D153081
-
Alexey Karyakin authored
llvm-objcopy should not insert padding before a section if its physical addresses is not aligned to section's alignment. This behavior will match GNU objcopy and is important for embedded images where the physical address is used to store the initial data image. The loader typically will copy this image using a start symbol created by the linker. If llvm-objcopy inserts padding before such a section, the symbol address will not match the location in the image. This commit refines the change in https://reviews.llvm.org/D128961 which intended to align sections which type changed from NOBITS and their offset may not be aligned. However, it affected all sections. Fix https://github.com/llvm/llvm-project/issues/62636 Reviewed By: jhenderson, MaskRay Differential Revision: https://reviews.llvm.org/D150276
-
LLVM GN Syncbot authored
-