- Apr 06, 2023
-
-
Martin Storsjö authored
In most configs, stderr is line buffered by default, but in some cases on Windows (running in git bash, or running in Wine) stderr can end up fully buffered. See 2ec75a08 for a similar change for the output from lit itself. This has no effect on libunwind when the log messages aren't enabled via the environment variables. Differential Revision: https://reviews.llvm.org/D147632
-
Martin Storsjö authored
This typo (unw_step instead of unw_get_proc_info) has been around since the initial public commit of libunwind. Differential Revision: https://reviews.llvm.org/D147631
-
Martin Storsjö authored
This is the same as c218c80c, but for libcxxabi and libunwind. This fixes running tests on Windows with Python installed in e.g. "C:\Program Files\Python38". Differential Revision: https://reviews.llvm.org/D147629
-
Nikita Popov authored
This is not relevant for opaque pointers, and as such no longer necessary.
-
Bjorn Pettersson authored
This patch is making sure that we use getTopMostExitingLoop when finding out which loops to forget, when dealing with unswitchNontrivialInvariants and unswitchTrivialSwitch. It seems to at least be needed for unswitchNontrivialInvariants as detected by the included test case. Note that unswitchTrivialBranch already used getTopMostExitingLoop. This was done in commit 4a9cde5a. The commit message in that commit says "If the patch makes sense, I will also update those places to a similar approach ...", referring to these functions mentioned above. As far as I can tell that never happened, but this is an attempt to finally fix that. Fixes https://github.com/llvm/llvm-project/issues/61080 Differential Revision: https://reviews.llvm.org/D147058
-
Nikita Popov authored
All pointers are opaque now, so these are no longer necessary.
-
Timm Bäder authored
Differential Revision: https://reviews.llvm.org/D141497
-
Nikita Popov authored
-
Guillaume Chatelet authored
-
Ben Shi authored
The 'ELPM' instruction has three forms: -------------------------- | form | feature | | ----------- | -------- | | ELPM | hasELPM | | ELPM Rd, Z | hasELPMX | | ELPM Rd, Z+ | hasELPMX | -------------------------- The second form is always used in the expansion of pseudo instructions LPMWRdZ/ELPMWRdZ. But for devices without ELPMX and with only ELPM, only the first form can be used. Reviewed By: aykevl, Miss_Grape Differential Revision: https://reviews.llvm.org/D141264
-
Martin Braenne authored
This is less verbose than checking for class, struct, and union individually, and I believe it's also more efficient (not that that should be the overriding concern). Reviewed By: sammccall, xazax.hun Differential Revision: https://reviews.llvm.org/D147603
-
Nikita Popov authored
These only support typed pointers, and as such are no longer relevant.
-
Chuanqi Xu authored
In https://reviews.llvm.org/D146758, we handled the rare case that the coroutine has a function-try-block. But it will be better to handle it in the Sema part. This patch handles the preprocess.
-
Nikita Popov authored
This does not apply to opaque pointers, and as such is no longer necessary.
-
Martin Braenne authored
Reviewed By: sammccall Differential Revision: https://reviews.llvm.org/D147601
-
Noah Goldstein authored
This is a follow up D147507 which removed the prior transformation to `shufps` which was incorrect as the mask was for 64-bit double elements, not 32-bit float elements. Using `shufpd` for the replacement, however, preserves the mask semantics and has the same benefits as `shufps`. Reviewed By: pengfei, RKSimon Differential Revision: https://reviews.llvm.org/D147541
-
LLVM GN Syncbot authored
-
Shoaib Meenai authored
The variable name was incorrect, which was breaking runtimes builds.
-
Kristof Beyls authored
Differential Revision: https://reviews.llvm.org/D145480
-
Piyou Chen authored
Differential Revision: https://reviews.llvm.org/D143361
-
Shengchen Kan authored
-
Jessica Del authored
The inverse ballot intrinsic takes in a boolean mask for all lanes and returns the boolean for the current lane. See SPIR-V's `subgroupInverseBallot()` in the [[ https://github.com/KhronosGroup/GLSL/blob/master/extensions/khr/GL_KHR_shader_subgroup.txt | GL_KHR_shader_subgroup extension ]]. This allows decision making via branch and select instructions with a manually manipulated mask. Implemented in GlobalISel and SelectionDAG, since currently both are supported. The SelectionDAG required pseudo instructions to use the custom inserter. The boolean mask needs to be uniform for all lanes. Therefore we expect SGPR input. In case the source is in a VGPR, we insert one or more `v_readfirstlane` instructions. Reviewed By: nhaehnle Differential Revision: https://reviews.llvm.org/D146287
-
Shengchen Kan authored
1. Construct RecognizableInstrBase for Mem Inst only once in IsMatch 2. Correct the comments 3. Use std::make_tuple to simplify the compare
-
Valery Pykhtin authored
AMDGPU code with enabled address sanitizer generates tons of stack objects (> 200000 in my testcase) and takes forever to compile due to the time spent on stack slot sharing. While LiveRange::overlaps method has logarithmic complexity on the number of segments in the involved liveranges the problem is that when a new interval is assigned to a used color it's tested against overlapping every other assigned interval for that color. Instead I decided to join all assigned intervals for a color into a single interval and this allows to have logarithmic complexity on the number of segments for the joined interval. This patch reduced time spent on stack slot coloring pass from 628 to 3 seconds on my testcase. Reviewed By: arsenm Differential Revision: https://reviews.llvm.org/D146057
-
Matthias Springer authored
Differential Revision: https://reviews.llvm.org/D144401
-
Freddy Ye authored
This patch also rename __AMXCOMPLEX__ to __AMX_COMPLEX__ Reviewed By: skan, xiangzhangllvm Differential Revision: https://reviews.llvm.org/D147525
-
Matthias Springer authored
This makes `RankedOrUnrankedMemRefOf` consistent with `TensorOf`. Differential Revision: https://reviews.llvm.org/D147160
-
Matthias Springer authored
`RankedTensorOf` and `TensorRankOf` (in Tablegen files) now generate code that uses `RankedTensorType` instead of `TensorType`. This gives us more accurate type information (e.g., when calling `op.getType()`). Also use restrict tensor.expand_shape/tensor.collapse_shape/tensor.pad to ranked tensors. Only cast ops should deal with unranked tensors. Also improves a few places in the code base (e.g., Toy tutorial) where a ranked tensor is assumed (e.g., because `getRank` is called) but a `TensorType` is currently used: cast to `RankedTensorType` directly, so that the assertion is triggered directly at the cast. Differential Revision: https://reviews.llvm.org/D147149
-
Shengchen Kan authored
1. Avoid vulnerable assumption: the enum of reg/memory format are continous 2. Remove redundant inline keyword 3. Replace getValueFromBitsInit with byteFromBitsInit b/c both Form and Opcode can be represented in 1 byte
-
Matthias Springer authored
Restrict the op to functions and modules. Such ops are modified in-place. The transform now consumes the handle and produces a new handle. The `target_is_module` attribute is no longer needed because a result handle is produced in either case. Differential Revision: https://reviews.llvm.org/D147446
-
Matthias Springer authored
This is needed so that the transform dialect interpreter is notified about deleted payload ops. Differential Revision: https://reviews.llvm.org/D147430
-
Philip Reames authored
These utilities are only used in one place, so move them there and make them static.
-
Chuanqi Xu authored
Close https://github.com/llvm/llvm-project/issues/61064. The root cause of the issue is that we will deserilize some declarations eagerly when reading the BMI. However, many declarations in the BMI are not necessary for the importer. So it wastes a lot of time. The new commit handles the MSVC's extension #pragma comment and #pragma detect_mismatch to follow MSVC's behavior. See pr61783 for details.
-
Alexey Lapshin authored
This reverts commit 9ef70131.
-
Craig Topper authored
This constructs a proper memory operand for these intrinsics. Segment load/store will be added in a separate patch. Reviewed By: kito-cheng Differential Revision: https://reviews.llvm.org/D147119
-
Maryam Moghadas authored
This patch is to update pr61315.ll what was needed as part of D146632 and caused build failures. Reviewed By: stefanp Differential Revision: https://reviews.llvm.org/D147675
-
Yeting Kuo authored
Also the patch loose the fixed vector contraint in llvm/lib/IR/Verifier.cpp. Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D147380
-
Matthias Springer authored
These ops are useful for unit testing. (They do not fold/canonicalize with affine.apply etc.) Differential Revision: https://reviews.llvm.org/D145696
-
Craig Topper authored
Differential Revision: https://reviews.llvm.org/D147643
-
Matthias Springer authored
Differential Revision: https://reviews.llvm.org/D145695
-