-
Notifications
You must be signed in to change notification settings - Fork 752
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
LLVM and SPIRV-LLVM-Translator pulldown (WW07-08) #3233
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
… load. The builder was using the extend user as the insertion point, which meant that we were incorrectly "moving" the load from its original position, and therefore could violate memory operation ordering.
…mw`" The wrong record field number was being used in bitcode decoding, which broke a self-hosted LTO build. (Yet, somehow, this _doesn't_ seem to have broken simple bitcode encode/decode roundtrip tests, and I'm not sure why...) Fixes commit d06ab79
The 'r' and 'run' aliases were different based on the target architecture. I suspect the intention was to disable shell expansion on embedded devices. This fixes TestCustomShell.test on AS.
TARGET_OS_EMBEDDED is deprecated, use TARGET_OS_IPHONE and/or TARGET_OS_SIMULATOR instead.
Fix the broken build by D96545
The description of the -polly switch stated that it was only enabled with -O3. This was a lie, the optimization level was ignored. Only at -O0 Polly was not added to the pass pipeline because the pass builder, but only because the extension points were not triggered. In the NewPM, the VectorizerStart extensions point is actually trigger even with -O0 which leads to the following crash: Assertion `Level != OptimizationLevel::O0 && "Must request optimizations!"' failed. We sanitize the optimization levels using the following rules for both pass mangers: 1. Only enable Polly if optimizing at all (-O1, -O2 or -O3). 2. Do not enable Polly when optimizing for size. 3. Ignore the optimization level for diagnostic passes (printer, viewer or JScop-exporter). 4. If only diagnostic passes enabled, skip the code-generation. 5. Fix the description of the -polly command line option.
Switch some for loops to just use the begin()/end() implementations in the InfoByHwMode struct. Add a method to insert into the map for the one case that was modifying the map directly.
This patch uses the existing logic of CUDA for searching libomptarget and extracts it to a common method. Reviewed By: JonChesterfield, tianshilei1992 Differential Revision: https://reviews.llvm.org/D96248
- Usual cross-compilation fix: s/target_/current_/g - Define _LIBUNWIND_IS_NATIVE_ONLY to enable unwinding past functions with return pointer authentication. - Android needs two libunwind static libraries: one with symbols exported and one without. These both need to be in the same build tree so the libunwind_hermetic_static_library configuration option doesn't help here. Replace it with build rules that build both libraries. - Install the libraries in the location that Android expects them to be. Differential Revision: https://reviews.llvm.org/D96563
I previously assumed `delegate`'s immediate argument computation followed a different rule than that of branches, but we agreed to make it the same (WebAssembly/exception-handling#146). This removes the need for a separate `DelegateStack` in both CFGStackify and InstPrinter. When computing the immediate argument, we use a different function for `delegate` computation because in MIR `DELEGATE`'s instruction's destination is the destination catch BB or delegate BB, and when it is a catch BB, we need an additional step of getting its corresponding `end` marker. Reviewed By: tlively, dschuff Differential Revision: https://reviews.llvm.org/D96525
This fixes coff-dwarf.test on some build bots. The test relies on the sort order and prefers main (StorageClass: External) to .text (StorageClass: Static).
COST(zext (<4 x i32> load(...) to <4 x i64>)) != 0 when <4 x i64> is an illegal result type that requires splitting of the operation. Reviewed By: dmgreen Differential Revision: https://reviews.llvm.org/D96250
…for ElementCount. This fixes an overly restrictive assumption that the vector is a FixedVectorType, in code that tries to calculate the cost of a cast operation when splitting a too-wide vector. The algorithm works the same for scalable vectors, so this patch removes the cast<FixedVectorType>. Reviewed By: david-arm Differential Revision: https://reviews.llvm.org/D96253
This test supposed to check the test base we are using for pexpect tests, but instead it used the normal TestBase class we use for all other tests. TestBase already had the substrs type check since D88792 so this test was passing because of that. This just changes the test base of the test to the pexpect one so that the `expect` calls find their intended target function. Also moves the check to the very start so that we can check the argument without actually having to start a terminal and all that jazz. (I found this by accident as D88792 got somehow reverted in a downstream branch so this test started failing). Reviewed By: JDevlieghere Differential Revision: https://reviews.llvm.org/D96556
… buffer` func. Differential Revision: https://reviews.llvm.org/D96579
…d binary format To align with https://reviews.llvm.org/D95547, we need to add brackets for context id before initializing the `SampleContext`. Also added test cases for extended binary format from llvm-profgen side. Differential Revision: https://reviews.llvm.org/D95929
Before, the first mention of LLVM's license on the developer policy page stated that LLVM's license is Apache 2. This patch makes that more accurate by mentioning the LLVM exception this first time the LLVM license is discussed on that page, i.e. Apache-2.0 with LLVM-exception. Technically, the correct SPDX identifier for LLVM's license is 'Apache-2.0 WITH LLVM-exception', but I thought that writing the 'WITH' in lower case made the paragraph easier to read without reducing clarity. Differential Revision: https://reviews.llvm.org/D96482
This patch extends the initial fixed-length vector support to include smin, smax, umin, and umax. Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D96491
Adds support for mangling TLI vector names for scalable vectors. Differential Revision: https://reviews.llvm.org/D96338
Include x86 intrinsics only when compiling for x86_64 or i386. _MSC_VER no longer implies x86. Reviewed By: gchatelet Differential Revision: https://reviews.llvm.org/D96498
[libomptarget][amdgcn] Build amdgcn devicertl as openmp Change cmake to build as openmp and fix up some minor errors in the code. Reviewed By: jdoerfert Differential Revision: https://reviews.llvm.org/D96533
This does not split transformations, yet. Those will be done as future clean ups. Differential Revision: https://reviews.llvm.org/D96272
Add a high level explanation of the `-fdeclare-opencl-builtins` option. Differential Revision: https://reviews.llvm.org/D96150
Clean up trailing whitespace and a stray backtick.
Signed-off-by: Dmitry Sidorov <dmitry.sidorov@intel.com> Original commit: KhronosGroup/SPIRV-LLVM-Translator@20ba782
* Support the SPV_EXT_shader_atomic_float_min_max extension As with other atomic instructions, we're looking to translate an LLVM IR call akin to `__spirv_AtomicFMaxEXT()` into a corresponding SPIR-V OpCode akin to `AtomicFMaxEXT`. Extension specification can be found at https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/EXT/SPV_EXT_shader_atomic_float_min_max.asciidoc Support in SPIR-V Header was added with KhronosGroup/SPIRV-Headers#189. Signed-off-by: Artem Gindinson <artem.gindinson@intel.com> Original commit: KhronosGroup/SPIRV-LLVM-Translator@d1213fe
In most cases convert functions are translated to set of LLVM IR instructions but in case of saturated conversion or if conversion has rounding mode, the translation should go through SPIR-V friendly LLVM IR. Original commit: KhronosGroup/SPIRV-LLVM-Translator@9f3c10f
Signed-off-by: Ge Jin <ge.jin@intel.com> Co-authored-by: Alexey Sachkov <alexey.sachkov@intel.com> Co-authored-by: Artem Gindinson <artem.gindinson@intel.com> Original commit: KhronosGroup/SPIRV-LLVM-Translator@90feaa5
Signed-off-by: Yilong Guo <yilong.guo@intel.com> Original commit: KhronosGroup/SPIRV-LLVM-Translator@b89b25f
"Assuming SYCL queries fit in int" feature is broken for O1. Temporarily disable to unlock pulldown.
016a658
to
109deec
Compare
Temporary disable this extension until some targets support it.
/summary:run |
Changes were merged as a part of #3266 |
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.
LLVM: llvm/llvm-project@656ead1
SPIRV-LLVM-Translator: KhronosGroup/SPIRV-LLVM-Translator@b89b25f