- Feb 04, 2023
-
-
Michael Jones authored
This patch adds the final conversion to printf, %g. This is a floating point conversion that selects automatically between the %e and %f formats based on the precision requested and resulting exponent. Additionally it trims trailing zeroes. With this done all that's left for finishing printf is adding long double support to the decimal float conversions. Reviewed By: sivachandra Differential Revision: https://reviews.llvm.org/D143006
-
Ben Langmuir authored
We were not hashing constant strings in the command-line, only ones that required allocations. This was causing us to get the same hash across different flag options. rdar://101053855 Differential Revision: https://reviews.llvm.org/D143027
-
Haojian Wu authored
-
Parker Schuh authored
Fix tsan problem where the per-thread shared_ptr() can be locked right before the cache is destroyed causing a race where it tries to remove an entry from a destroyed cache. This is a rollforward with fixes of https://reviews.llvm.org/rGbcc10817d5569172ee065015747e226280e9b698 (originally https://reviews.llvm.org/D142394). The original patch exposed an asan problem on aarch64, which is fixed by simply calling the context destructors properly. Reviewed By: rriddle Differential Revision: https://reviews.llvm.org/D143294
-
Louis Dionne authored
-
Peiming Liu authored
Reviewed By: aartbik Differential Revision: https://reviews.llvm.org/D143224
-
Joseph Huber authored
Summary: This list previously had empty members. Fix it and print out which architectures we're building for as a status message.
-
Louis Dionne authored
Some clients use libc++ with modules and LSV (Local Submodule Visibility) enabled, and we see frequent downstream breakage caused by that. Until modules use LSV by default (which is apparently a desire), add a CI job that tests this sub-configuration to avoid high cost downstream breakage. For more information about LSV, see https://lists.llvm.org/pipermail/cfe-commits/Week-of-Mon-20150504/128395.html. Differential Revision: https://reviews.llvm.org/D143273
-
Aart Bik authored
Even though we introduced the size_hint, we never used it. This is a very first step, using the hint during the codegen path. Note that we can refine the heuristics. Also, we need to start adding the hint on all allocation generated for reading tensors, converting tensors, etc. Reviewed By: Peiming, bixia Differential Revision: https://reviews.llvm.org/D143292
-
George Petterson authored
This commit adds a canonicalization pattern for tensor.pad which changes the output type to static at each dimension where the input shape is static and the high and low operands are constants. This corrects an issue arising in Torch-MLIR where pad ops would sometimes introduce dynamic shapes unnecessarily. Reviewed By: raikonenfnu Differential Revision: https://reviews.llvm.org/D143135
-
Craig Topper authored
Delete the opt intrinsics since they are now identical. I left the side effects due to user expectations about how these interact with things like inline assembly or function calls. Or that they wouldn't be hoisted. I think we should look at other ways to address thoughs. If I could, I'd rename them these somehow to distance them from the vsetvli instruction. In some sense they only query the VL for a particular SEW and LMUL. They don't guarantee a vsetvli instruction will be emitted. Fixes https://github.com/llvm/llvm-project/issues/59359 Reviewed By: rogfer01, kito-cheng Differential Revision: https://reviews.llvm.org/D143220
-
Adrian Prantl authored
-
Craig Topper authored
If .L1 is not within +-4KiB range, convert ``` bge a0, a1, .L1 ``` to ``` blt a0, a1, 8 j .L1 ``` In this patch, if the symbol is unresolved at assembly time, do not do this relaxation. Fix the bug reported in https://bugs.llvm.org/show_bug.cgi?id=47910 Co-authored-by: Hsiangkai Wang Reviewed By: asb Differential Revision: https://reviews.llvm.org/D108961
-
Med Ismail Bennani authored
This patch introduces a new `GetScriptedImplementation` method to the SBProcess class in the SBAPI. It will allow users of Scripted Processes to fetch the scripted implementation object from to script interpreter to be able to interact with it directly (without having to go through lldb). This allows to user to perform action that are not specified in the scripted process interface, like calling un-specified methods, but also to enrich the implementation, by passing it complex objects. Differential Revision: https://reviews.llvm.org/D143236 Signed-off-by:
Med Ismail Bennani <medismail.bennani@gmail.com>
-
Tue Ly authored
-
Tue Ly authored
instructions. For clang-11, having -mfma without -mavx2 does not generate fma instructions, causing a build bot to fail on log10_test. Reviewed By: sivachandra Differential Revision: https://reviews.llvm.org/D143234
-
Tue Ly authored
Add bazel targets and unit tests for single precision exponential, logarithm, trigonometric, inverse trig, hyperbolic, and inverse hyperbolic functions. Reviewed By: sivachandra Differential Revision: https://reviews.llvm.org/D143275
-
Lang Hames authored
-
Florian Hahn authored
Passing ArrayRef doesn't force users to construct a SmallVector to pass blocks.
-
Khem Raj authored
On 32-bit glibc>=2.34 systems using 64bit time_t build fails because _FILE_OFFSET_BITS is undefined here but _TIME_BITS is still set to 64 Fixes ``` /usr/include/features-time64.h:26:5: error: "_TIME_BITS=64 is allowed only with _FILE_OFFSET_BITS=64" | # error "_TIME_BITS=64 is allowed only with _FILE_OFFSET_BITS=64" | ^ | 1 error generated. ``` Reviewed By: thesamesam, MaskRay Differential Revision: https://reviews.llvm.org/D140812
-
Sanjay Patel authored
shuffle (fabs X), Mask --> fabs (shuffle X, Mask) shuffle (fabs X), (fabs Y), Mask --> fabs (shuf X, Y, Mask) https://alive2.llvm.org/ce/z/JH2nkf This generalizes the existing fneg transforms to also work with fabs. A likely follow-up would generalize this further to move any unary intrinsic op.
-
Anastasia Stulova authored
-
Janek van Oirschot authored
Revert "[AMDGPU] Modify adjustInliningThreshold to also consider the cost of passing function arguments through the stack" This reverts commit 142c28ff.
-
Aart Bik authored
in particular, the trailing COO optimization was not desribed in the general layout description Reviewed By: Peiming Differential Revision: https://reviews.llvm.org/D143284
-
Fangrui Song authored
Similar to e7a7ad13 and 2bf06d93 for other linker script syntax. Close https://github.com/llvm/llvm-project/issues/60496
-
Kazu Hirata authored
This patch fixes: mlir/lib/Dialect/Transform/Transforms/TransformInterpreterPassBase.cpp:248:14: error: unused variable 'root' [-Werror,-Wunused-variable]
-
Fangrui Song authored
For -fno-pic, without DW_EH_PE_indirect, the personality routine pointer in a CIE needs an R_AARCH64_ABS64 relocation. In common configurations that `__gcc_personality_v0` is defined in a shared object, this will lead to a discouraged canonical PLT entry, or, if `ld.lld -z notext` (betwen D122459 and D143136), a dynamic R_AARCH64_ABS64 relocation with an incorrect offset: https://github.com/llvm/llvm-project/issues/60392 Since GCC uses DW_EH_PE_indirect for -fno-pic code (the behavior hasn't changed since the initial port in 2012), let's follow suit by simplifying the code. ( For tiny and small code models, we use DW_EH_PE_sdata8 instead of GCC's DW_EH_PE_sdata4. This is a deliberate choice to support personality-.eh_frame offset > 2GiB. This is necessary for small code model since "Max text segment size < 2GiB" but it is unnecessary to make `-fno-pic -mcmodel={tiny,small}` different: The scenarios that uses both -fno-pic and C++ exceptions have been increasingly rare now, so there is little advantage optimizing for the little size saving with code complexity. ) Reviewed By: MatzeB Differential Revision: https://reviews.llvm.org/D143039
-
Fangrui Song authored
Fix https://github.com/llvm/llvm-project/issues/60392 ``` // a.cc void raise() { throw 42; } bool foo() { try { raise(); } catch (int) { return true; } return false; } int main() { foo(); } ``` ``` clang++ --target=x86_64-linux-gnu -fno-pic -mcmodel=large -no-pie -fuse-ld=lld -z notext a.cc -o a && ./a clang++ --target=aarch64-linux-gnu -fno-pic -no-pie -fuse-ld=lld -Wl,--dynamic-linker=/usr/aarch64-linux-gnu/lib/ld-linux-aarch64.so.1 -Wl,-rpath=/usr/aarch64-linux-gnu/lib -z notext a.cc -o a && ./a ``` Both commands fail because we produce a dynamic relocation for R_X86_64_64/R_AARCH64_ABS64 in .eh_frame which will be adjusted to a wrong offset by `SectionBase::getOffset` after D122459. Since GNU ld uses a canonical PLT entry instead of a dynamic relocation for .eh_frame, we follow suit as well to avoid the issue. Mips has an ABI issue (https://github.com/llvm/llvm-project/issues/5837) and we don't implement GNU ld's DW_EH_PE_absptr conversion. mips64-eh-abs-reloc.s wants a dynamic relocation, so keep the original behavior for EM_MIPS. Differential Revision: https://reviews.llvm.org/D143136
-
Marco Elver authored
Revert "[SelectionDAG] Add missing setValue calls in visitIntrinsicCall" This reverts commit 0c64e1b6. This reverts commit 1142e6c7. It spuriously added !pcsections where they shouldn't be. See added test case in test/CodeGen/X86/pcsections.ll as an example. The reason is that the SelectionDAG chains operations in a basic block as "operands" pointing to preceding instructions. This resulted in setting the metadata on _all_ instructions preceding the one that should have the metadata. Reverting for now because the semantics of !pcsections was completely buggy now.
-
ManuelJBrito authored
Remove alignment matching in tests to avoid ABI compatibility issues
-
Archibald Elliott authored
Removes the forwarding header `llvm/Support/AArch64TargetParser.h`. I am proposing to do this for all the forwarding headers left after rGf09cf34d - for each header: - Update all relevant in-tree includes - Remove the forwarding Header Differential Revision: https://reviews.llvm.org/D140999
-
Jonathan Peyton authored
Do not check for version symbol support if the necessary linker flag is not supported. Differential Revision: https://reviews.llvm.org/D143200
-
Jordan Rupprecht authored
This reverts commit d708a186 (and typo fix e4bc9898). It causes a compilation error for this: ``` struct StringLiteral { template <int N> StringLiteral(const char (&array)[N]) __attribute__((enable_if(N > 0 && N == __builtin_strlen(array) + 1, "invalid string literal"))); }; struct Message { Message(StringLiteral); }; void Func1() { auto x = Message("x"); // Note: this is fine // Note: "xx\0" to force a different type, StringLiteral<3>, otherwise this // successfully builds. auto y = [&](decltype(Message("xx"))) {}; // ^ fails with: repro.cc:18:13: error: reference to local variable 'array' // declared in enclosing function 'StringLiteral::StringLiteral<3>' (void)x; (void)y; } ``` More details posted to D124351.
-
Guillaume Chatelet authored
-
Jay Foad authored
GFX11 renames: v_cvt_pknorm_i16_f32 to v_cvt_pk_norm_i16_f32 v_cvt_pknorm_u16_f32 to v_cvt_pk_norm_u16_f32 Accept the old name as an alias. Fixes https://github.com/llvm/llvm-project/issues/60334 Differential Revision: https://reviews.llvm.org/D143266
-
Guillaume Chatelet authored
-
David Sherwood authored
Differential Revision: https://reviews.llvm.org/D143262
-
Guillaume Chatelet authored
-
Viktoriia Bakalova authored
Differential Revision: https://reviews.llvm.org/D142992
-
- Feb 03, 2023
-
-
Teresa Johnson authored
This is split out of D140908 as suggested. Differential Revision: https://reviews.llvm.org/D143184
-