- Feb 27, 2024
-
-
Paul Kirth authored
Created using spr 1.3.4
-
Paul Kirth authored
Created using spr 1.3.4
-
Paul Kirth authored
Created using spr 1.3.4
-
Paul Kirth authored
Created using spr 1.3.4 [skip ci]
-
Arthur Eubanks authored
Fixes #82438
-
Tom Honermann authored
[llvm][docs] Update the Python version requirement to 3.8.0 for lit testing on Windows with substitute (virtual) drives. (#81663) Following the changes made for: - https://reviews.llvm.org/D154130: [lit][clang] Avoid realpath on Windows due to MAX_PATH limitations in commit: - 05d613ea Python 3.8.0 or newer is now required by at least the following tests when they are run on Windows from a substitute (virtual) drive. A substitute drive is often used as a workaround for `MAX_PATH` limitations on Windows. These tests are impacted because they use the lit `%{?:real}` path expansion syntax to expand symbolic links and substitute drives. This path expansion is implemented with Python's `os.path.realpath()` function which changed behavior in Python 3.8.0 with regard to expansion of substitute drives. The changes mentioned above rely on the newer Python behavior. - `clang/test/Lexer/case-insensitive-include-absolute.c` - `clang/test/Lexer/case-insensitive-include-win.c` This change updates the LLVM Getting Started guide to note this newer Python version dependency for this relatively niche case. Python 3.6.0 remains the minimum required Python version otherwise.
-
Matthias Springer authored
The dialect conversion does not directly erase ops that are replaced/erased with a rewriter. Instead, the op stays in place and is erased at the end if the dialect conversion succeeds. However, ops that were replaced/erased are ignored from that point on. #81757 introduced a compile time regression that made the check whether an op is ignored or not more expensive. Whether an op is ignored or not is queried many times throughout a dialect conversion, so the check must be fast. After this change, replaced ops are stored in the `ignoredOps` set. This also simplifies the dialect conversion a bit.
-
Farzon Lotfi authored
This change implements https://github.com/llvm/llvm-project/issues/70073 HLSL has a dot intrinsic defined here: https://learn.microsoft.com/en-us/windows/win32/direct3dhlsl/dx-graphics-hlsl-dot The intrinsic itself is defined as a HLSL_LANG LangBuiltin in Builtins.td. This is used to associate all the dot product typdef defined hlsl_intrinsics.h with a single intrinsic check in CGBuiltin.cpp & SemaChecking.cpp. In IntrinsicsDirectX.td we define the llvmIR for the dot product. A few goals were in mind for this IR. First it should operate on only vectors. Second the return type should be the vector element type. Third the second parameter vector should be of the same size as the first parameter. Finally `a dot b` should be the same as `b dot a`. In CGBuiltin.cpp hlsl has built on top of existing clang intrinsics via EmitBuiltinExpr. Dot product though is language specific intrinsic and so is guarded behind getLangOpts().HLSL. The call chain looks like this: EmitBuiltinExpr -> EmitHLSLBuiltinExp EmitHLSLBuiltinExp dot product intrinsics makes a destinction between vectors and scalars. This is because HLSL supports dot product on scalars which simplifies down to multiply. Sema.h & SemaChecking.cpp saw the addition of CheckHLSLBuiltinFunctionCall, a language specific semantic validation that can be expanded for other hlsl specific intrinsics. Fixes #70073
-
- Feb 26, 2024
-
-
Krasimir Georgiev authored
No functional changes intended. Fixes some leaks found by running under asan with `--gtest_repeat=2`.
-
Samira Bazuzi authored
Crashes resulted from single-element InitListExprs for arrays with elements of a record type after #80970.
-
Timm Bäder authored
This was introduced in 264d828e.
-
Owen Anderson authored
[GlobalISel] Make the Combiner insert G_FREEZE when converting G_SELECT to binary operations. (#82733) This is needed because the binary operators (G_OR and G_AND) do not have the poison-suppressing semantics of G_SELECT. Fixes https://github.com/llvm/llvm-project/issues/72475
-
mmoadeli authored
[NVPTX][AMDGPU][CodeGen] Fix `local_space nullptr` handling for NVPTX and local/private `nullptr` value for AMDGPU. (#78759) - Address space cast of nullptr in local_space into a generic_space for the CUDA backend. The reason for this cast was having invalid local memory base address for the associated variable. - In the context of AMD GPU, assigns a NULL value as ~0 for the address spaces of sycl_local and sycl_private to match the ones for opencl_local and opencl_private.
-
Timm Bäder authored
Instead of having retInt/retLong/retSizeT/etc., just add retInteger, which takes an APSInt and returns it in form of the given QualType. This makes the code a little neater, but is also necessary since some builtins have a different return type with -fms-extensions.
-
Jordan Rupprecht authored
The `unittest2` package is unused since 5b386158. The `progress` package was only used internally by `unittest2`, so it can be deleted as well.
-
Timm Bäder authored
We need to leave a pointer on the stack for them, even if their type is primitive.
-
Jeremy Morse authored
With no debug intrinsics, correctly identifying the start of a block with iterators becomes important. We need to use the iterator-returning methods here in loop-unroll-and-jam where we're shifting PHIs around. Otherwise they can be inserted after debug-info records, leading to debug-info attached to PHIs, which is ill formed. Fixes #83000
-
Francesco Petrogalli authored
-
Krystian Stasiowski authored
[Clang][Sema] Defer instantiation of exception specification until after partial ordering when determining primary template (#82417) Consider the following: ``` struct A { static constexpr bool x = true; }; template<typename T, typename U> void f(T, U) noexcept(T::y); // #1, error: no member named 'y' in 'A' template<typename T, typename U> void f(T, U*) noexcept(T::x); // #2 template<> void f(A, int*) noexcept; // explicit specialization of #2 ``` We currently instantiate the exception specification of all candidate function template specializations when deducting template arguments for an explicit specialization, which results in a error despite `#1` not being selected by partial ordering as the most specialized template. According to [except.spec] p13: > An exception specification is considered to be needed when: > - [...] > - the exception specification is compared to that of another declaration (e.g., an explicit specialization or an overriding virtual function); As... -
Jay Foad authored
For renamed instructions, there is no need to mention the new name twice on every line defining a Real.
-
Guillaume Chatelet authored
Indentified in https://github.com/llvm/llvm-project/pull/77741#pullrequestreview-1893531270
-
LLVM GN Syncbot authored
-
LLVM GN Syncbot authored
-
LLVM GN Syncbot authored
-
Timm Bäder authored
This test was broken on MacOS, see the discussion in https://github.com/llvm/llvm-project/commit/a35599b9ae5e7ad924b78c65f6348e0b711bad5d
-
Erich Keane authored
Like with 'break'/'continue', returning out of a compute construct is ill-formed, so this implements the diagnostic. However, unlike the OpenMP implementation of this same diagnostic, OpenACC doesn't have a concept of 'capture region', so this is implemented as just checking the 'scope'.
-
David Spickett authored
For whatever reason on Windows, it is not at this point. The copy of unit test we used to use would ignore failures during teardown but Python's does not.
-
David Spickett authored
This actually passes on Windows but I don't know how to convey that with an xfail without clashing with the xfail for all platforms. At least this avoids a UPASS.
-
Egor Zhdan authored
This upstreams more of the Clang API Notes functionality that is currently implemented in the Apple fork: https://github.com/apple/llvm-project/tree/next/clang/lib/APINotes This was extracted from a larger PR: https://github.com/llvm/llvm-project/pull/73017
-
Hirofumi Nakamura authored
To align colons inside TableGen !cond operators.
-
David Spickett authored
This reverts commit 1069823c. This has caused second stage timeouts when building Flang on AArch64: https://lab.llvm.org/buildbot/#/builders/179/builds/9442
-
Jay Foad authored
The name hasGDS better reflects what it is used for.
-
Samira Bazuzi authored
Reverts llvm/llvm-project#82348, which caused crashes when analyzing empty InitListExprs for unions, e.g. ```cc union U { double double_value; int int_value; }; void target() { U value; value = {}; } ``` Co-authored-by:Samira Bazuzi <bazuzi@users.noreply.github.com>
-
Balazs Benics authored
-
Jay Foad authored
Speed up disassembly by only calling tryDecodeInst for DecoderTables that make sense for the current subtarget. This gives a 1.3x speed-up on check-llvm-mc-disassembler-amdgpu in my Release+Asserts build.
-
Timm Bäder authored
Implementation looks similar to the one in the current interpreter. Except for three static assertions, test/Sema/atomic-ops.c works.
-
Timm Bäder authored
-
Petar Avramovic authored
When initializing MachineSSAUpdater save all attributes of current virtual register and create new virtual registers with same attributes. Now new virtual registers have same both register class or bank and LLT. Previously new virtual registers had same register class but LLT was not set (LLT was set to default/empty LLT). Required by GlobalISel for AMDGPU, new 'lane mask' virtual registers created by MachineSSAUpdater need to have both register class and LLT. patch 4 from: https://github.com/llvm/llvm-project/pull/73337
-
Florian Hahn authored
Additional test for https://github.com/llvm/llvm-project/pull/82922/.
-
Jeremy Morse authored
Part of removing debug-intrinsics from LLVM requires using iterators whenever we insert an instruction into a block. That means we need all instruction constructors and factory functions to have an iterator taking option, which this patch adds. The whole of this patch should be NFC: it's adding new flavours of existing constructors, and plumbing those through to the Instruction constructor that takes iterators. It's almost entirely boilerplate copy-and-paste too.
-