- Nov 11, 2022
-
-
Craig Topper authored
Reviewed By: kito-cheng Differential Revision: https://reviews.llvm.org/D137808
-
Craig Topper authored
Refer to https://github.com/riscv/riscv-v-spec/blob/master/v-spec.adoc#101-vector-arithmetic-instruction-encoding Patch by Jiejie Rong Reviewed By: reames Differential Revision: https://reviews.llvm.org/D137694
-
Matt Arsenault authored
The generic intrinsic uses the same bitlayout as the amdgcn intrinsic, so re-use the enum.
-
Med Ismail Bennani authored
This patch fixes app_specific_backtrace_crashlog.test. It was failing because one of the loaded images was built with optimization which added a new warning message between the first `CHECK` and the `CHECK-NEXT`, breaking the expected ordering. Signed-off-by:Med Ismail Bennani <medismail.bennani@gmail.com>
-
Alan Zhao authored
This reverts commit 89ddcff1. Reason: This breaks bootstrapping builds of LLVM on Windows using ThinLTO; see https://crbug.com/1382839
-
gonglingqin authored
This patch adds support to prevent __builtin_loongarch_crc_w_d_w from compiling on loongarch32 in the front end and adds diagnostics accordingly. Reference: https://github.com/gcc-mirror/gcc/blob/master/gcc/config/loongarch/larchintrin.h#L175-L184 Depends on D136906 Differential Revision: https://reviews.llvm.org/D137316
-
zhongyunde authored
Logical operation BIC with DestructiveBinary patterns is temporarily removed as causes an assert (commit 3c382ed7), so try to fix that. The most significant being that for pseudo instructions that do not have real instructions (including movpfx'd ones) that cover all combinations of register allocation, their expansion will be broken. This is the main reason the zeroing is an experimental feature because it has known bugs. So we add an extra LSL for movprfx expand BIC_ZPZZ_ZERO A, P, A, A when necessary. movprfx z0.s, p0/z, z0.s lsl z0.b, p0/m, z0.b, #0 bic z0.s, p0/m, z0.s, z0.s Depends on D88595
-
Weining Lu authored
Add missing changes for "[Clang][LoongArch] Handle -march/-m{single,double,soft}-float/-mfpu options" Some changes in D136146 were lost by an accidentally sumbit. So recover them. -
stanley-nod authored
Not all shape of vectors can be casted into other types, we add a check to not fold insertOp into bitcast if the shape does not support it. Examples of unsupported shape castings are f16 vectors to f32 if the shape is not multiple of 2s. or int8 to int32 if shapes are not multiple of 4. Reviewed By: antiagainst, ThomasRaoux Differential Revision: https://reviews.llvm.org/D137802
-
Egor Zhdan authored
This allows clients of libclang to check whether a completion result is a keyword. Previously, keywords had `CursorKind == CXCursor_NotImplemented` and it wasn't trivial to distinguish a keyword from a pattern. This change moves `CodeCompletionResult::ResultKind` to `clang-c` under a new name `CXCompletionResultKind`. It also tweaks `c-index-test` to print the result kind instead of `NotImplemented`, and adjusts the tests for the new output. rdar://91852088 Differential Revision: https://reviews.llvm.org/D136844
-
Jason Molenda authored
In the restructuring I did in https://reviews.llvm.org/D133680 , I call ObjectFile::LoadBinariesViaMetadata, and the process m_dyld may be set by a method under there -- in ProcessMachCore::LoadBinariesViaMetadata I wanted to check to see if m_dyld_up had been set. I did this by calling the GetDynamicLoader() method, but that method will call FindPlugin() if there is no dynamic loader yet, and the static dynamic loader plugin was being loaded, preventing the scan for userland binaries in a userland corefile. Differential Revision: https://reviews.llvm.org/D137807 rdar://102210820
-
Mehdi Amini authored
-
Mehdi Amini authored
-
bixia1 authored
Reviewed By: Peiming Differential Revision: https://reviews.llvm.org/D137805
-
Jim Ingham authored
one, so this commit moves the wrong one back to no-"2"...
-
Nick Desaulniers authored
While working on this code to support outputs from callbr along indirect branches, I kept making these changes again and again. Precommit these. Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D137445
-
Daniel Bertalan authored
dyld refuses to run initializers if this section is unaligned. Fixes https://bugs.chromium.org/p/chromium/issues/detail?id=1383240 Differential Revision: https://reviews.llvm.org/D137803
-
bixia1 authored
The code to retrieve the number of entries isn't correct. Reviewed By: Peiming Differential Revision: https://reviews.llvm.org/D137795
-
Nick Desaulniers authored
The CFI directives add noise to the test. Remove them via nounwind fn attrs. Also remove clobbers. Reviewed By: void Differential Revision: https://reviews.llvm.org/D137596
-
Usman Nadeem authored
Pass plugins are compiled and linked dynamically by default. Setting `LLVM_${NAME}_LINK_INTO_TOOLS` to `ON` turns the project into a statically linked extension. Projects like Polly can be used this way by adding `-DLLVM_POLLY_LINK_INTO_TOOLS=ON` to the `cmake` command. The changes in this patch makes the PassBuilder in Flang aware of statically linked pass plugins, see the documentation for more details: https://github.com/llvm/llvm-project/blob/main/llvm/docs/WritingAnLLVMNewPMPass.rst#id21 Differential Revision: https://reviews.llvm.org/D137673 Change-Id: Id1aa501dcb4821d0ec779f375cc8e8d6b0b92fce -
Sanjay Patel authored
If we exclude NaN (and therefore the opposite Inf), anything plus Inf is Inf: https://alive2.llvm.org/ce/z/og3dj9
-
Sanjay Patel authored
-
Michael Buch authored
**Summary** The public lldb matrix bot is failing for tests compiled with clang-9, clang-11, clang-13. This patch addresses these failures by evaluating the enum case that doesn't cause malformed DWARF in older version of clang. There was no particular reason we had to use `true` enum case to reproduce the bug in #58383, so simply switch to use `false` to get all bots passing again. **Details** In older versions of clang, the following snippet: ``` enum EnumBool : bool { enum_bool_case1 = false, enum_bool_case2 = true, }; struct A { const static EnumBool enum_bool_val = enum_bool_case2; }; ``` …results in following DWARF: ``` 0x00000052: DW_TAG_structure_type DW_AT_calling_convention (DW_CC_pass_by_value) DW_AT_name ("A") DW_AT_byte_size (0x01) DW_AT_decl_file ("/Users/michaelbuch/Git/llvm-project/lldb/test/API/lang/cpp/const_static_integral_member/repro.cpp") DW_AT_decl_line (6) 0x0000005b: DW_TAG_member DW_AT_name ("enum_bool_val") DW_AT_type (0x0000000000000068 "const EnumBool") DW_AT_decl_file ("/Users/michaelbuch/Git/llvm-project/lldb/test/API/lang/cpp/const_static_integral_member/repro.cpp") DW_AT_decl_line (7) DW_AT_external (true) DW_AT_declaration (true) DW_AT_const_value (-1) ``` Note the `DW_AT_const_value == -1` When evaluating `A::enum_bool_val` in the lldb we get: ``` (lldb) p A::enum_bool_val error: expression failed to parse: error: Couldn't lookup symbols: __ZN1A13enum_bool_valE ``` Enabling the DWARF logs we see: ``` (arm64) clang-13.out: DWARFASTParserClang::ParseTypeFromDWARF (die = 0x00000068, decl_ctx = 0x136ac1e30 (die 0x0000000b)) DW_TAG_const_type name = '(null)') Failed to add const value to variable A::enum_bool_val: Can't store unsigned value 18446744073709551615 in integer with 1 bits. ``` This occurs because a boolean enum is considered an unsigned integer type, but we try to initialize it with a `-1`. **Testing** - Confirmed locally that top-of-tree lldb correctly evaluates the previously failing expression when the test program is compiled with clang-13 Differential Revision: https://reviews.llvm.org/D137793 -
Björn Schäpers authored
Seems I've missed that. Amends 41a09a07
-
Anastasiia Lukianenko authored
If true, colons in ASM parameters will be placed after line breaks. true: asm volatile("string", : : val); false: asm volatile("string", : : val); Differential Revision: https://reviews.llvm.org/D91950 -
Tom Stellard authored
This fixes stand-alone builds. Reviewed By: andrewng Differential Revision: https://reviews.llvm.org/D137611
-
Tom Stellard authored
More sub-projects will be added to the table once they have been verified to be buildable in stand-alone mode. Reviewed By: MaskRay, mgorny Differential Revision: https://reviews.llvm.org/D123968
-
William Huang authored
Fix https://github.com/llvm/llvm-project/issues/58901 by adding stricter check whether non-opaque GEP can be swapped. This will not affect GEP swapping optimization in the future since we are switching to opaque GEP Reviewed By: clin1 Differential Revision: https://reviews.llvm.org/D137752
-
Konrad Kleine authored
With the advent of https://reviews.llvm.org/D131919 and https://github.com/llvm/llvm-project/commit/a11cd0d94ed3cabf0998a0289aead05da94c86eb the third-party directory is required to build LLVM and other packages and in standalone builds the third-party directory is not available from the llvm tarball anymore. Differential Revision: https://reviews.llvm.org/D137777
-
Anastasia Stulova authored
-
Mark de Wever authored
This documentation aims to make it cleare how the libc++ pre-commit CI works. For libc++ developers and other LLVM projects whose changes can affect libc++. This was discusses with @aaron.ballman as a follow on some unclearities for the Clang communitee how the libc++ pre-commit CI works. Note some parts depend on patches under review as commented in the documentation. Reviewed By: ldionne, #libc, philnik Differential Revision: https://reviews.llvm.org/D133249
-
Sanjay Patel authored
This adapts/copies code from the existing fold that allows widening of load scalar+insert. It can help in IR because it removes a shuffle, and the backend can already narrow loads if that is profitable in codegen. We might be able to consolidate more of the logic, but handling this basic pattern should be enough to make a small difference on one of the motivating examples from issue #17113. The final goal of combining loads on those patterns is not solved though. Differential Revision: https://reviews.llvm.org/D137341
-
Sanjay Patel authored
This is based on the example in issue #58883. I'm not sure if the output currently shows the potential miscompile, so we may want to adjust the test in a follow-up.
-
Matt Arsenault authored
-
Alexey Bataev authored
Gather nodes are vectorized as simply vector of the scalars instead of relying on the actual node. It leads to the fact that in some cases we may miss incorrect transformation (non-matching set of scalars is just ended as a gather node instead of possible vector/gather node). Better to rely on the actual nodes, it allows to improve stability and better detect missed cases. Differential Revision: https://reviews.llvm.org/D135174
-
Anastasia Stulova authored
Improve checking for the standard layout type when diagnosing the kernel argument with templated types. The check doesn't work correctly for references or pointers due to the lazy template instantiation. Current fix only improves cases where nested types in the templates do not depend on the template parameters. Differential Revision: https://reviews.llvm.org/D134445
-
Jorge Gorbe Moya authored
This change adds a `--recognizer-function` (`-R`) to `type summary add` and `type synth add` that allows users to specify that the names in the command are not type names but python function names. It also adds an example to lldb/examples, and a section in the data formatters documentation on how to use recognizer functions. Differential Revision: https://reviews.llvm.org/D137000
-
Jason Molenda authored
Weinling Lu's change from https://reviews.llvm.org/D136146 fails to build with -DLLVM_ENABLE_MODULES=1 cmake builds like the LLDB Incremental CI bot on greendragon; this entry is sufficient to unblock that style of build, it seems.
-
Alexey Bataev authored
different than the instruction order, NFC.
-
Krzysztof Parzyszek authored
Differential Revision: https://reviews.llvm.org/D137173
-