- Nov 23, 2022
-
-
Zequan Wu authored
This allows minidump process ABI to match the PE/COFF file ABI. Reviewed By: labath Differential Revision: https://reviews.llvm.org/D137873
-
Sami Tolvanen authored
Allow `-fsanitize=kcfi` to be enabled with `-fsanitize-coverage=` modes such as `trace-{pc,cmp}`. Link: https://github.com/ClangBuiltLinux/linux/issues/1743 Reviewed By: MaskRay Differential Revision: https://reviews.llvm.org/D138458 -
Zequan Wu authored
Currently the lto native object files have names like main.exe.lto.1.obj. In PDB, those names are used as names for each compiland. Microsoft’s tool SizeBench uses those names to present to users the size of each object files. So, names like main.exe.lto.1.obj is not user friendly. This patch makes the lto native object file names more readable by using the bitcode file names as part of the file names. For example, if the input bitcode file has path like "path/to/foo.obj", its corresponding lto native object file path would be "path/to/main.exe.lto.foo.obj". Since the lto native object file name only bothers PDB, this patch only changes the lld-linker's behavior. Reviewed By: tejohnson, MaskRay, #lld-macho Differential Revision: https://reviews.llvm.org/D137217
-
Simon Pilgrim authored
Fixes #58904
-
dbakunevich authored
As part of this patch, the ability to work with dump files containing ir after passes received using the -print-after-all option was added to script chunk-print-before-all.py. The names of the output files have also been changed. Before: chunk-NUM.ll Now: NUM-STAGE-PASS_NAME.ll NUM - sequence number of the pass operation. STAGE - stage of the pass operation (for example: before, after, dump). PASS_NAME - the name of the pass.
-
Alexander Timofeev authored
Frame lowering inserts scalar addition to compute the offset to the stack objects. This instructions inserted in arbitrary place and may clobber SCC between its definition and S_CSELECT_B32 instruction. This change workarounds this particular code pattern. It queries the scavenger for SGPR and if available saves SCC to it and restore its value after frame lowering code insertion. Reviewed By: foad Differential Revision: https://reviews.llvm.org/D136169
-
Hassnaa Hamdi authored
1-To generate code compatible to streaming mode: - enable custom lowering for FADD, FDIV, FMA, FNEG, FSQRT, FSUB, and FABS. Differential Revision: https://reviews.llvm.org/D138290
-
Hassnaa Hamdi authored
Add testing files: - fp-arith.ll - fp-fma.ll
-
Kazu Hirata authored
This patch defines NoneType and None as std::nullopt_t and std::nullopt, respectively. This patch effectively makes None and std::nullopt interchangeable, so we can gradually replace None with std::nullopt all while we continue to use llvm::Optional. This is part of an effort to migrate from llvm::Optional to std::optional: https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716 Differential Revision: https://reviews.llvm.org/D138468
-
Simon Pilgrim authored
Minor cleanup toward fixing the unnecessary scheduler overrides warnings from D138359
-
Krzysztof Parzyszek authored
It should not be created on every call, the omission of `static` was a bug in the patch that introduced it.
-
Kirill Stoimenov authored
[Sanitizer][NFC] Rearranged prototype definitions in lsan_common.h to group them by implementation file. Reviewed By: vitalybuka Differential Revision: https://reviews.llvm.org/D138335
-
Guozhi Wei authored
In AArch64 backend X30 is named as LR, X29 is named as FP. So the code in AArch64Subtarget::AArch64Subtarget can't recognize these 2 registers. for (unsigned i = 0; i < 31; ++i) { if (ReservedRegNames.count(TRI->getName(AArch64::X0 + i))) ReserveXRegisterForRA.set(i); } This patch add code to explicitly handle these 2 registers. Differential Revision: https://reviews.llvm.org/D137810 -
Jay Foad authored
D117544 removed the only substantive use of RegStrictDom. Now we can simplify by using StrictDom for everything.
-
Jay Foad authored
-
Florian Hahn authored
-
Mark de Wever authored
The Standard specifies which types are stored in the basic_format_arg "variant" and which types are stored as a handle. Libc++ stores additional types in the "variant". During a reflector discussion @jwakely mention this is user observable; visit_format_arg uses the type instead of a handle as argument. This optimization is useful and will probably be used for other small types in the future. To be conferment the visitor creates a handle and uses that as argument. There is a second visitor so the formatter can still directly access the 128-bit integrals. The test for the visitor and get has been made public too, there is no reason not too. The 128-bit integral types are required by the Standard, when they are available. Reviewed By: ldionne, #libc Differential Revision: https://reviews.llvm.org/D138052
-
Matthias Springer authored
Differential Revision: https://reviews.llvm.org/D138487
-
Timm Bäder authored
MaybeTypeCast here is not a variable, it's an enum member with value 1. Differential Revision: https://reviews.llvm.org/D138289
-
bixia1 authored
When calculating the dynamic dimensions for the concatenate result, we shouldn't accumulate the sizes for the non-concatenating dimensions. Reviewed By: aartbik, Peiming Differential Revision: https://reviews.llvm.org/D138436
-
Matt Arsenault authored
The current header testing is pretty thin. This is in preparation for a series of patches to replace many builtin implementations. I did try to stress everything in this header, but skipped a few things. Mostly I didn't understand why we have various language version checks which skip defining some things. It doesn't seem right to have any of these if guards on __cplusplus, __HIPCC_RTC__, and __OPENMP_AMDGCN__.
-
Matt Arsenault authored
-
Yitzhak Mandelbaum authored
* Adds API support for widening of lattice elements and environments, * Updates the algorithm to apply widening where appropriate, * Implements widening for boolean values. In the process, moves the unsoundness of comparison from the default implementation of `Environment::ValueModel::compare` to model-specific handling inside `DataflowEnvironment::equivalentTo`. This change is intended to clarify the source and location of unsoundess. This patch is a replacement for, and was based substantially on, https://reviews.llvm.org/D131645. Differential Revision: https://reviews.llvm.org/D137948
-
Matthias Springer authored
Differential Revision: https://reviews.llvm.org/D135056
-
- Nov 22, 2022
-
-
Kelvin Li authored
AIX libc only provides bessel functions j0,j1,jn and y0,y1,yn but does not have their float equivalents j0f,j1f,jnf and y0f,y1f,ynf. Committed on behalf of madanial Differential Revision: https://reviews.llvm.org/D136128
-
David Spickett authored
Buildkite doesn't provide a way to list bot owners so currently we are pinging people on Discord and Phabricator. Which works ok until that person is on vacation. This file gives us a place to list multiple people, or group contacts for each bot. I've stuck to the CODE_OWNERS.txt format because there's no great reason to change it. Reviewed By: #libc, EricWF, ldionne Differential Revision: https://reviews.llvm.org/D138445
-
Vy Nguyen authored
PR/59070 Differential Revision: https://reviews.llvm.org/D138320
-
Yaxun (Sam) Liu authored
When -fgpu-rdc is used for linking relocatable objects, clang driver launches clang-offload-bundler to extract a device relocatable object from each input relocatable object file and passes the extracted files to lld. The input relocatable object file could either come from HIP program or C++ program. The relocatable object file from C++ program does not contain device relocatable objects, therefore clang-offload-bundler extracts an empty file and passes it to lld. lld treates empty file as linker script. When there is no object input file to lld, lld will emit error: target emulation unknown: -m or at least one .o file required This patch adds "elf64_amdgpu" to lld so that lld always know the target no matter whether there are object input files or not. Reviewed by: Artem Belevich, Fangrui Song Differential Revision: https://reviews.llvm.org/D138221
-
Stefan Pintilie authored
This patch adds spilling for the new WACC registers. In order to get the spilling test to work the MMA instructions from Power 10 are now supported for Future CPU except that they are all using the new WACC registers instead of the ACC registers from Power 10. Reviewed By: amyk, saghir Differential Revision: https://reviews.llvm.org/D136728
-
Sanjay Patel authored
This follows 87debdad to further eliminate wasting time calling helper functions only to early return to the main run loop. Once again, this results in significant savings based on experimental data: https://llvm-compile-time-tracker.com/compare.php?from=01023bfcd33f922ed8c934ce563e54abe8bfe246&to=3dce4f70b73e48ccb045decb634c185e6b4c67d5&stat=instructions:u This is NFCI other than making the pass faster. The total cost of VectorCombine runs in an -O3 build appears to be well under 0.1% of compile-time now, so there's not much left to do AFAICT. There's a TODO about making the code cleaner, but it probably doesn't change timing much. I didn't include those changes here because it requires updating much more code.
-
Pavel Labath authored
File is unused.
-
Pavel Labath authored
-
Oleksandr "Alex" Zinenko authored
Summary is the short one.
-
Paul Walker authored
When performing shrinking int/fp conversions the predicate should be created to match the original fixed length vector type so the unused lanes don't trigger side effects. This patch also includes related refactoring to better detect such issues and streamline the code a little. Differential Revision: https://reviews.llvm.org/D138351
-
Philip Pfaffe authored
Parsing DWARF expressions currently does not support DW_OPs that are vendor extensions. With this change expression parsing calls into SymbolFileDWARF for unknown opcodes, which is the semantically "closest" plugin that we have right now. Plugins can then extend SymbolFileDWARF to add support for vendor extensions. Reviewed By: labath Differential Revision: https://reviews.llvm.org/D137247
-
Pierre van Houtryve authored
Unused function since D134967 Reviewed By: arsenm Differential Revision: https://reviews.llvm.org/D138493
-
Jan Sjodin authored
This patch introudces the OpenMPIRBuilderConfig class which contains various flags that are needed to lower OMP constructs to LLVM-IR. The purpose is to keep the flags in one place so they do not have to be passed in every time. The flags can be set optionally since some uses cases don't rely on functions that depend on these flags. Reviewed By: jdoerfert, tschuett Differential Revision: https://reviews.llvm.org/D138220
-
Ties Stuij authored
This patch implements the 2022 Architecture General Data-Processing Instructions They include: Common Short Sequence Compression (CSSC) instructions - scalar comparison instructions SMAX, SMIN, UMAX, UMIN (32/64 bits) with or without immediate - ABS (absolute), CNT (count non-zero bits), CTZ (count trailing zeroes) - command-line options for CSSC Associated with these instructions in the documentation is the Range Prefetch Memory (RPRFM) instruction, which signals to the memory system that data memory accesses from a specified range of addresses are likely to occur in the near future. The instruction lies in hint space, and is made unconditional. Specs for the individual instructions can be found here: https://developer.arm.com/documentation/ddi0602/2022-09/Base-Instructions/ contributors to this patch: - Cullen Rhodes - Son Tuan Vu - Mark Murray - Tomas Matheson - Sam Elliott - Ties Stuij Reviewed By: lenary Differential Revision: https://reviews.llvm.org/D138488
-
Pierre van Houtryve authored
Adds FP CCs opcodes/selection logic, including src mods selection Depends on D136591, D136448 Resolves #58326 (https://github.com/llvm/llvm-project/issues/58326) Reviewed By: arsenm, foad Differential Revision: https://reviews.llvm.org/D136592
-
Youling Tang authored
If `pathname` is an empty string and the AT_EMPTY_PATH flag is specified in `flags`, statx `pathname` argument is of type `const char *restrict`, so it should be `""` instead of `0`. Reviewed By: SixWeining, xen0n, xry111, lixing-star Differential Revision: https://reviews.llvm.org/D138414
-