- Feb 18, 2024
-
-
Craig Topper authored
If the load is used by any signed setccs, we can use a sextload instead of zextload. Then we don't have to give up on extending the load.
-
Paul Kirth authored
-
Danny Mösch authored
-
Florian Hahn authored
Use VPBuilder to construct VPInstructions, which means there's no need to manually inserting recipes.
-
- Feb 17, 2024
-
-
rilysh authored
Right now we've a nested ternary for the midpoint function, but this can be simplified a bit more, using if statements. This also slightly increases the readability of that function.
-
Frederic Cambus authored
Reference: https://github.com/openbsd/src/blob/master/sys/sys/exec_elf.h
-
Yingwei Zheng authored
This patch adds the missing `subnormal -> normal` part for `fpext` in `computeKnownFPClass`. Fixes the miscompilation reported by https://github.com/llvm/llvm-project/pull/80941#issuecomment-1947302100.
-
Mark de Wever authored
-
Florian Hahn authored
Private members of VPlanTransforms are only used inside VPlanTransforms.cpp, just make them static.
-
Mark de Wever authored
This implements the loading of the tzdata.zi file and store its contents in the tzdb struct. This adds all required members except: - the leap seconds, - the locate_zone, and - current_zone. The class time_zone is incomplete and only contains the parts needed for storing the parsed data. The class time_zone_link is fully implemented including its non-member functions. Implements parts of: - P0355 Extending <chrono> to Calendars and Time Zones - P1614 The Mothership has Landed Implements: - P1982 Rename link to time_zone_link
-
Jay Foad authored
Set DecoderNamespace and AssemblerPredicate in the base class for Real instructions for each subtarget. This avoids some ad hoc "let" around groups of instructions definitions, and fixes some missed cases like BUFFER_GL0_INV_gfx10 which was missing DecoderNamespace.
-
Frederic Cambus authored
-
David Green authored
This alters the lowering of G_COPYSIGN to support vector types. The general idea is that we just lower it to vector operations using and/or and a mask, which are now converted to a BIF/BIT/BSP. In the process the existing AArch64LegalizerInfo::legalizeFCopySign can be removed, replying on expanding the scalar versions to vector instead, which just needs a small adjustment to allow widening scalars to vectors.
-
Matthias Springer authored
This commit fixes memory leaks in sparse tensor integration tests by adding `bufferization.dealloc_tensor` ops. Note: Buffer deallocation will be automated in the future with the ownership-based buffer deallocation pass, making `dealloc_tensor` obsolete (only codegen path, not when using the runtime library).
-
David Green authored
If, like powi on windows, the libcall is unavailable we should fall back to SDAG. Currently we try and generate a call to "".
-
Stanislav Mekhanoshin authored
There is no real reason to differentiate.
-
Andrzej Warzyński authored
Extracts logic from `vector::isContiguousSlice` to check whether the trailing dim of a memref are contiguous into a dedicated hook in BuiitinTypes.{h|cpp}. Follow-up for https://github.com/llvm/llvm-project/pull/76848. -
Tomás Longeri authored
-
Piotr Zegar authored
Properly ignore parentheses in bitwise operators. Closes #81515
-
Florian Mayer authored
-
Florian Mayer authored
-
Owen Pan authored
Fixes #80579.
-
Florian Mayer authored
Fix some warnings by matching types. This reverts commit e1164d06.
-
Valentin Clement (バレンタイン クレメン) authored
This patch introduces a new `fir.cuda_kernel_launch` operation to represents the call to CUDA kernels with the chervon notation. The chevrons values in the parse tree can be scalar integer expr or dim3 derived type. The operation describes the grid/block values explicitly as i32 values. It lowers the parse-tree call to this new operation.
-
Jonas Devlieghere authored
assertRegexpMatches is a deprecated alias for assertRegex and has been removed in Python 3.12. This wasn't an issue previously because we used a vendored version of the unittest module. Now that we use the built-in version this gets updated together with the Python version used to run the test suite.
-
Wentao Zhang authored
1. add the missing condition for MC/DC in hasSubViews() 2. add style for selected line 3. remove name="Ln" attribute in the link within MC/DC views 4. remove color for \n
-
Jonas Devlieghere authored
assertEquals is a deprecated alias for assertEqual and has been removed in Python 3.12. This wasn't an issue previously because we used a vendored version of the unittest module. Now that we use the built-in version this gets updated together with the Python version used to run the test suite.
-
Fangrui Song authored
The `_DYNAMIC` reference from `AsanDoesNotSupportStaticLinkage` ensures that `clang++ -fsanitize=address -static` gets a linker error. `MemprofDoesNotSupportStaticLinkage` is similar for `-fmemory-profile`. Move the functions to sanitizer_common.h to be used by more sanitizers on ELF platforms. Fuchsia does not use interposition and opts out the check (its `AsanDoesNotSupportStaticLinkage` is a no-op).
-
Philip Reames authored
If we have a abs(sext a) we can legally perform this as a zext (abs a). (See the same combine in instcombine - note that the IntMinIsPoison flag doesn't exist in SDAG yet.) On RVV, this is likely profitable because it may allow us to perform the arithmetic operations involved in the abs at a narrower LMUL before widening for the user. We could arguably avoid narrowing below DLEN, but the transform should at worst move around the extend and create one extra vsetvli toggle if the source could previously be handled via loads explicit w/EEW.
-
Mehdi Amini authored
-
Mehdi Amini authored
-
Mehdi Amini authored
-
Mehdi Amini authored
-
Mehdi Amini authored
-
Florian Mayer authored
Reverts llvm/llvm-project#81028
-
Yeting Kuo authored
The CSR address of `ssp` is 0x011. Ref: https://github.com/riscv/riscv-cfi/blob/main/cfi_backward.adoc#shadow-stack-pointer-ssp
-
Florian Mayer authored
First commit of the stack is a clean reland, second is the fix. There was a typo in the `static_assert` that meant we were asserting the size of the pointer, not the struct. Also changed `alignas` to be more intuitive, but that is NFC. Ran builds in Android here: https://r.android.com/2954411
-
Prabhuk authored
This reverts commit 9cc98e33. Issue: https://github.com/ClangBuiltLinux/linux/issues/1997
-
Alex Langford authored
Many times I have found myself wanting to create a StringError with the ability to interpolate a StringRef into the error string. This can be achieved with: StringRef Foo("..."); auto Err = createStringError(..., "Something went wrong: %s", Foo.str().c_str()); However, this requires us to construct a temporary std::string (which may perform a memory allocation if large enough). I propose a new variant of `createStringError` called `createStringErrorV` which uses `formatv` under the hood. This allows the above example to become: StringRef Foo("..."); auto Err = createStringErrorV(..., "Something went wrong: {0}", Foo); -
Min-Yih Hsu authored
Right now InProcessMemoryManager only releases a standard segment (via sys::Memory::releaseMappedMemory) in `deallocate` when there is a DeallocAction associated, leaving residual memory pages in the process until termination. Despite being a de facto memory leak, it won't cause a major issue if users only create a single LLJIT instance per process, which is the most common use cases. It will, however, drain virtual memory pages if we create thousands of ephemeral LLJIT instances in the same process. This patch fixes this issue by releasing every standard segments regardless of the attached DeallocAction.
-