- Jan 10, 2024
-
-
Martin Storsjö authored
The comment indicate that it should be possible, but as long as it wasn't a cache variable, the cmake script overwrote whatever variable the user had set.
-
Owen Pan authored
The current CI doesn't use the latest clang-format and fails most clang-format patches on the code formatting check. This patch temporarily removes the clang-format style from the .clang-format files.
-
Vlad Serebrennikov authored
Covers C++ core issues 1800, 1801, 1802, 1803, 1804.
-
Ivan Kosarev authored
As not all fake instructions have their real counterparts implemented yet, we specify no AssemblerPredicate for UseFakeTrue16Insts to allow both fake and real True16 instructions in assembler and disassembler tests in the -mattr=+real-true16 mode during the transition period. Source DPP and desitnation VOPDstOperand_t16 operands are still not supported and will be addressed separately.
-
Dominik Adamski authored
If -nogpulib option is passed by the user, then the OpenMP device runtime is not used and we should not emit globals to configure debugging at compile-time for the device runtime. Link to -nogpulib flag implementation for Clang: https://reviews.llvm.org/D125314
-
Balázs Kéri authored
`StdLibraryFunctionsChecker` is updated too with `ungetc`.
-
Craig Topper authored
-
Bhuminjay Soni authored
**Overview:** Fix a bug where Clang's range-loop-analysis incorrectly checks for trivial copyability instead of trivial copy constructibility, leading to erroneous warnings. Fixes #47355
-
Serge Pavlov authored
The intrinsics get_fpenv, set_fpenv and reset_fpenv in this change are implemented as calls to math library functions. Target specific lowering will be implemented later on.
-
Juneyoung Lee authored
This patch fixes WebAssembly's FastISel pass to correctly consider signext/zeroext parameter flags at function declaration. Previously, the flags at call sites were only considered during code generation, which caused an interesting bug report #63388 . This is problematic especially because in WebAssembly's ABI, either signext or zeroext can be tagged to a function argument, and it must be correctly reflected in the generated code. Unit test https://github.com/llvm/llvm-project/blob/main/llvm/test/CodeGen/WebAssembly/signext-zeroext.ll shows that `i8 zeroext %t` and `i8 signext %t`'s code gen are different.
-
Timm Bäder authored
-
jiahanxie353 authored
* Add IRTranslate tests for ADD, SUB, AND, OR, and XOR with scalable vector types to show that they work as expected. * Legalize G_ADD, G_SUB, G_AND, G_OR, and G_XOR of scalable vector type for the RISC-V vector extension.
-
Craig Topper authored
Move classes out of `let Predicates` scopes. The instantiation of the class should be responsible for providing the Predicates. Put the RV64 pseudoinstructions and patterns next to the RV32 version of the same category. The categories are AMOs, pseudo AMOs, and compare exchange. The main reason for this commit is that the compare exchange patterns need to be disabled when Zacas is enabled so we can directly select Zacas instructions with isel patterns. This necessitates compare exchange having a different `let Predicates=` from the others anyway.
-
Chia authored
Similar to #76550, but for `ISD::AVGCEILU`. Specifically, this patch aims to use `vaaddu` with rounding mode rnu (i.e `vxrm[1:0] = 0b00`) for `ISD::AVGCEILU`. ### Source code ``` define <vscale x 8 x i8> @vaaddu_vv_nxv8i8_ceil(<vscale x 8 x i8> %x, <vscale x 8 x i8> %y) { %xzv = zext <vscale x 8 x i8> %x to <vscale x 8 x i16> %yzv = zext <vscale x 8 x i8> %y to <vscale x 8 x i16> %add = add nuw nsw <vscale x 8 x i16> %xzv, %yzv %one = insertelement <vscale x 8 x i16> poison, i16 1, i32 0 %splat = shufflevector <vscale x 8 x i16> %one, <vscale x 8 x i16> poison, <vscale x 8 x i32> zeroinitializer %add1 = add nuw nsw <vscale x 8 x i16> %add, %splat %div = lshr <vscale x 8 x i16> %add1, %splat %ret = trunc <vscale x 8 x i16> %div to <vscale x 8 x i8> ret <vscale x 8 x i8> %ret } ``` ### Before this patch ``` vaaddu_vv_nxv8i8_ceil: vsetvli a0, zero, e8, m1, ta, ma vwaddu.vv v10, v8, v9 vsetvli zero, zero, e16, m2, ta, ma vadd.vi v10, v10, 1 vsetvli zero, zero, e8, m1, ta, ma vnsrl.wi v8, v10, 1 ret ``` ### After this patch ``` vaaddu_vv_nxv8i8_ceil: vsetvli a0, zero, e8, m1, ta, ma csrwi vxrm, 0 vaaddu.vv v8, v8, v9 ret ``` -
LLVM GN Syncbot authored
-
Vitaly Buka authored
Issue #77546 This reverts commit 07c9189f.
-
Vitaly Buka authored
Issue #77546 This reverts commit b6d15770.
-
Nicholas Mosier authored
Fix various formatting issues in MyFirstTypoFix.
-
HaohaiWen authored
Reverts llvm/llvm-project#77441 I'll land it with fix.
-
Kai Luo authored
`llvm.trap` is lowered to `PPC::TRAP` and `PPC::TRAP` is set as terminator. Verifier complains about terminator should not lie in the middle of an MBB. See #77095. Fix it by removing `isTerminator` and `isBarrier` and then set `isTrap` which was introduced by https://reviews.llvm.org/D48836# and is being used by X86 and AArch64. `PPC::TRAP` is not a hardware memory barrier and `llvm.trap` doesn't indicate a memory barrier either.
-
Amir Ayupov authored
This reverts commit 85f3d81fabb9381ce5bc0112d029a7c684b01006. Affects BOLT macro-fusion and not NFC.
-
Ding Fei authored
Invalid (direct) initializer would invalid `VarDecl` so `InitializerScopeRAII` cannot restore scope stack balance. As with other kind of initializer, `InitializerScopeRAII::pop()` is moved up before `Sema::ActOnInitializerError()` which invalidates the `VarDecl`, so scope can be balanced and current `DeclContext` can be restored. Fixes #30908
-
Yinying Li authored
Shuffle can generate an array of unique and random numbers from 0 to size-1. It can be used to generate tensors with specified sparsity level.
-
Chris Apple authored
It is desirable to be able to configure the `-mmacosx-version-min` flag for the sanitizers, but this flag was never made a CACHE variable in cmake. By doing this, it will allow developers to select different minimum versions, which results in different interceptors being enabled or disabled on their platforms. This version can now persist between cmake runs, so it can be remembered by cmake, and edited in the cache file.
-
Jie Fu authored
llvm-project/mlir/test/lib/Dialect/Mesh/TestSimplifications.cpp:36:17: error: unused variable 'status' [-Werror,-Wunused-variable] LogicalResult status = ^ 1 error generated. -
Nour1248 authored
-
Jason Molenda authored
The "kern ver str" LC_NOTE gives lldb a kernel version string -- with a UUID and/or a load address (stext) to load it at. The LC_NOTE specifies a size of the identifier string in bytes. In ObjectFileMachO::GetIdentifierString, I copy that number of bytes into a std::string, and in case there were additional nul characters at the end of the sting for padding reasons, I tried to shrink the std::string to not include these extra nul's. However, I did this resizing without handling the case of an empty identifier string. I don't know why any corefile creator would do that, but of course at least one does. This patch removes the resizing altogether; I was solving something that hasn't ever shown to be a problem. I also added a test case for this, to check that lldb doesn't crash when given one of these corefiles. rdar://120390199
-
michaelrj-google authored
The death test infrastructure seems to depend on operator new, which isn't currently supported in our hermetic tests. This patch just disables the death tests in hermetic mode since they only overlap in the nan tests.
-
Ivan Butygin authored
Add overflow flags support to the following ops: * `arith.addi` * `arith.subi` * `arith.muli` Example of new syntax: ``` %res = arith.addi %arg1, %arg2 overflow<nsw> : i64 ``` Similar to existing LLVM dialect syntax ``` %res = llvm.add %arg1, %arg2 overflow<nsw> : i64 ``` Tablegen canonicalization patterns updated to always drop flags, proper support with tests will be added later. Updated LLVMIR translation as part of this commit as it currenly written in a way that it will crash when new attributes added to arith ops otherwise. Discussion https://discourse.llvm.org/t/rfc-integer-overflow-flags-support-in-arith-dialect/76025 --------- Co-authored-by:
Yi Wu <yi.wu2@arm.com>
-
Walter Erquinigo authored
The main motivations behind this are two: - Allow different companies developing their own vscode extensions for LLDB to have a single contribution point, thus sharing resources and working as a virtual large team. - Allow for visual ways to configure the debugger, which currently has to be done through launch.json files. In terms of implementation, this is very straightforward and these are the most important details: - All the cpp code has been moved to a subfolder for cleanness. There's a specific commit in the list of commits of this PR that just does that, in case that helps reviewing this. - A new folder `src-ts` has been created for the typescript code - The ts extension can be used in two ways: as a regular vscode extension and as a library. There file `extension.ts` explains which entry point to use. - The README has been updated the mention how to install the extension, which is simpler than before. There are two additional sections for rebuilding and formatting. - The ts code I added merely sets up the debug adapter using two possible options: reading the lldb-dap path from vscode settings or from a config object passed by users of the extension is used as a library. I did this to show how we can support easily both worlds.
-
Will Hawkins authored
Instead of using a concept defined in the internal implementation, use a definition of the simple_view ranges concept separately defined and included in test code.
-
Vitaly Buka authored
Summary contains one line and should point to user code instead of internal compiler-rt location. TSAN already does that.
-
Zequan Wu authored
Mark `.lcovmap$M`, `.lcovfun$M`, `.lcovd` and `.lcovn` as metadata sections on COFF so they are not loaded into memory.
-
Boian Petkantchin authored
If the mesh has static size on some of the requested axes, the result is substituted with a constant.
-
Nic authored
Fixes #77517
-
Kazu Hirata authored
-
sethp authored
Prior to this commit, it was impossible to use the simple string matching directives to look for any content that contains unbalanced `{{` `}}` pairs, such as: ``` // expected-note {{my_struct{{1}, 2}}} ``` Which would parse like so: ``` "nested" brace v // expected-note {{my_struct{{1}, 2}}} closes the nested brace ^ | trailing } ``` And the frontend would complain 'cannot find end ('}}') of expected'. At this snapshot, VerifyDiagnosticConsumer's parser now counts the opening braces and looks for a matching length of closing sigils, allowing the above to be written as: ``` // expected-note {{{my_struct{{1}, 2}}}} opening brace |-| |-| closing brace is '}}}', found here ^ ``` This came about as a result of this discussion: https://github.com/llvm/llvm-project/pull/74852#discussion_r1443117644 cc @erichkeane -
Ralf Jung authored
LLVM assumes round-to-nearest mode and sometimes performs constant-folding based on that assumption. This updates the language ref documentation for the rint and nearbyint intrinsics to mention that fact.
-
Kazu Hirata authored
This patch fixes: lldb/source/Target/ProcessTrace.cpp:23:33: error: extra ';' outside of a function is incompatible with C++98 [-Werror,-Wc++98-compat-extra-semi]
-