forked from llvm/llvm-project
-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[pull] main from llvm:main #771
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(Probably) fixes https://crbug.com/1355639 Reviewed By: dblaikie Differential Revision: https://reviews.llvm.org/D134825
This patch removes the dependency to the legacy pass manager when building llvm-stress. Instead of setting up a pass manager at all we just run verifyModule() to check that the generated IR satisfies the verifier, and then we use Module::print() to output the IR. No need to setup passes and populating a pass manager since we aren't doing anything more fancy than that. Reviewed By: aeubanks Differential Revision: https://reviews.llvm.org/D134802
This is only invoked from a single site and doesn't add any value.
Trigger some "libatomic" error. This reverts commit ccbb401.
k: A memory operand whose address is formed by a base register and (optionally scaled) index register. m: A memory operand whose address is formed by a base register and offset that is suitable for use in instructions with the same addressing mode as st.w and ld.w. ZB: An address that is held in a general-purpose register. The offset is zero. ZC: A memory operand whose address is formed by a base register and offset that is suitable for use in instructions with the same addressing mode as ll.w and sc.w. Differential Revision: https://reviews.llvm.org/D134638
- Use `fneg %a` instead of `fsub -0.0, %a` - This is for D134354 as we don't currently support folding `fsub -0.0, %a` into `fneg` on GISel. Also, `fneg` is the canonical way to do the negation. - Switch to `update_llc_test_checks`-generated tests. - Better test coverage - Easier to update - Easier to see changes in future diffs - Remove unnecessary CL arguments in RUN lines Motive for the patch: Preparation for D134354 - we would like to put GISel tests in this file as well. Fixing the lack of `fneg` and switching to generated testing makes it much easier. Reviewed By: arsenm Differential Revision: https://reviews.llvm.org/D134793
This is formally invalid, and causes build errors when building with clang in -std=c++20. http://eel.is/c%2B%2Bdraft/vector.overview#4
Driver options usually use `Joined` instead of `Separate`. It is also weird that `--config-system-dir=`/etc exist while `--config=` did not exist. Reviewed By: mgorny Differential Revision: https://reviews.llvm.org/D134790
And default auxIdx to 0.
…ints k/m/ZB/ZC" This reverts commit b7baddc. Broke CodeGen/X86/callbr-asm-kill.mir We shall pay attention when adding new constraints.
This turned out to be insufficient by itself, because we would also need to export config.guess. This reverts commit 4ac4d6b.
Although the instruction names begin "frint", the ACLE spec states that the intrinsic names begin "__rint", without the "f". Differential Revision: https://reviews.llvm.org/D134824
Simplify the code by using CastInst::CreateBitOrPointerCast directly. By not going through the builder, the temporary instruction also won't get registered in InsertedValues & co, which means less work overall and simplifies the clean-up.
In addition, replace outdated XFAIL test by a new one. Differential Revision: https://reviews.llvm.org/D134439
…struction in InferAddressSpaces Differential Revision: https://reviews.llvm.org/D134428
…s_index(view_like_op) to its source Differential Revision: https://reviews.llvm.org/D134835
…n to nested try-catch case (NFC)
…er_as_index to LLVM Reviewed By: pifon2a Differential Revision: https://reviews.llvm.org/D134834
This patch disables MC/ELF/cfi-version.ll test as windows does not emit .debug_frame needed by the test. This was previously disabled for arm64 but windows on arm uses aarch64-pc-windows* triple. Replacing arm64 with aarch64 to accomodate windows aarch64 triple(s). Reviewed By: DavidSpickett Differential Revision: https://reviews.llvm.org/D134863
Reviewed By: ftynse Differential Revision: https://reviews.llvm.org/D134808
…ption. NFC This cc1 option -fallow-half-arguments-and-returns allows __fp16 to be passed by argument and returned, without giving an error. It is currently always enabled for Arm and AArch64, by forcing the option in the driver. This means any cc1 tests (especially those needing arm_neon.h) need to specify the option too, to prevent the error from being emitted. This changes it to a target option instead, set to true for Arm and AArch64. This allows the option to be removed. Previously it was implied by -fnative_half_arguments_and_returns, which is set for certain languages like open_cl, renderscript and hlsl, so that option now too controls the errors. There were are few other non-arm uses of -fallow-half-arguments-and-returns but I believe they were unnecessary. The strictfp_builtins.c tests were converted from __fp16 to _Float16 to avoid the issues. Differential Revision: https://reviews.llvm.org/D133885
Factor out the logic to create induction resume values for a specific induction. This will be used in D92132 to support widened IVs during epilogue vectorization. Reviewed By: Ayal Differential Revision: https://reviews.llvm.org/D134211
In D132837, an existing v_fma combine was extended to regard nested fma instructions. Originally, the inner FMA was checked for being used only once. In its current state, this check is missing, which causes some regressions. In this patch, this check was added. Reviewed By: foad Differential Revision: https://reviews.llvm.org/D134856
…ctions Reviewed By: spupyrev Differential Revision: https://reviews.llvm.org/D134819
This is dead code right now but will be used for implementing array fillers, where we need some information from the initializer when allocaing the Descriptors. Differential Revision: https://reviews.llvm.org/D133856
We don't need the full include here.
Instead of two overloads, use a if constexpr to differentiate between pointer and non-pointer parameters
Implement visiting UnaryExprOrTypeTraitExprs to handle sizeof() expressions. Differential Revision: https://reviews.llvm.org/D133934
We are otherwise leaking some memory the records might allocate themselves. Differential Revision: https://reviews.llvm.org/D134054
Just use a constexpr if here instead of two different implementations. [#
It's used in the bytecode dump of the function itself, so useful to identify which function is being called.
We can use another if constexpr here to make this shorter and easier to understand.
Rename some interface methods to be consistent with the new accessor names. This is a preparation for adding a ReduceOp, which then will implement getIteratorTypes() and getOutputs() instead of iterator_types() and outputs(). Differential Revision: https://reviews.llvm.org/D134868
Reviewed By: ftynse Differential Revision: https://reviews.llvm.org/D134869
The -fallow-half-arguments-and-returns option was removed in 59528e4bdb27ed4ab3, replaced with an always-on target option under AArch64/Arm. There are two tests - fp16-sema.c and renderscripts.rs that test that an error is produced for __fp16 function args/returns, which are now expected to pass for Arm/AArch64. i.e they no longer give the same error as before on native Arm/AArch64 machines. Alter the targets of those tests to compensate.
This patch disables split-complex.ll for aarch64-pc-windows-msvc. split-complex.ll fails with a crash when run on AArch64/Windows. I have reported following issue: llvm-project/issues/58053
This reverts commit c090295. One of the test cases fails. Revert this until I know a way to make it work reliably.
…r (NFC) Test for the issue reported in https://reviews.llvm.org/D134527#3821010.
The previous version of the patch would incorrect convert an existing argmemonly attribute into an inaccessiblemem_or_argmemonly attribute. ----- This updates checkFunctionMemoryAccess() to infer a precise FunctionModRefBehavior, rather than an approximation split into read/write and argmemonly. Afterwards, we still map this back to imprecise function attributes. This still allows us to infer some cases that we previously did not handle, namely inaccessiblememonly and inaccessiblemem_or_argmemonly. In practice, this means we get better memory attributes in the presence of intrinsics like @llvm.assume. Differential Revision: https://reviews.llvm.org/D134527
Functions that implement expansion of response and config files depend on many options, which are passes as arguments. Extending the expansion requires new options, it in turn causes changing calls in various places making them even more bulky. This change introduces a class ExpansionContext, which represents set of options that control the expansion. Its methods implements expansion of responce files including config files. It makes extending the expansion easier. No functional changes. Differential Revision: https://reviews.llvm.org/D132379
The helper function in GPUFuncOp incorrectly assumed the workgroup attribution attribute is always present. Instead, treat its absence as if its value was zero, i.e., no workgroup attributions are specified. Closes #58045. Reviewed By: nicolasvasilache Differential Revision: https://reviews.llvm.org/D134865
There are lots of options interacting in complex ways here, and when moving to `getDefaultUnwindTableLevel` I had refactored this and changed behaviour in some cases. So this reverts the basic structure of the logic back to the original, while leaving the hook in the new style.
Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D134785
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by pull[bot]
Can you help keep this open source service alive? 💖 Please sponsor : )