-
Notifications
You must be signed in to change notification settings - Fork 734
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 (WW34) #10903
Closed
Closed
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
This prevents further parsing of tokens (that'll be freed) inside method body by propagating EOF emitted by reaching code completion token up the parsing stack. Differential Revision: https://reviews.llvm.org/D158269
This is the next preparation patch to support widenable conditions widening instead of branches widening. We've added parseWidenableGuard util which parses guard condition and collects all checks existing in the expression tree: D157276 Here we are adding util which walks similar way through the expression tree but looks up for widenable condition without collecting the checks. Therefore llvm::extractWidenableCondition could parse widenable branches with arbitrary position of widenable condition in the expression tree. llvm::parseWidenableBranch which is we are going to get rid of is being replaced by llvm::extractWidenableCondition where it's possible. Reviewed By: anna Differential Revision: https://reviews.llvm.org/D157529
This is a partial revert of https://reviews.llvm.org/D157837 - it turns out that the LLVM test suite needs to be updated first not to use any of the unsupported Flang options: * https://github.com/llvm/llvm-test-suite Sample errors: ``` flang-new: error: unknown argument: '-fbounds-check' flang-new: error: unknown argument: '-fcheck=all' flang-new: error: unknown argument: '-fcheck-array-temporaries' ``` Once the test suite is updated, we can restore the reverted setting. Broken bot: * https://lab.llvm.org/buildbot/#/builders/197/builds/9001 Differential Revision: https://reviews.llvm.org/D158289
…n_drv_overriding_flag_option (-Woverriding-option) warn_drv_overriding_flag_option was added for clang-cl `/T*` options (D1290) and its group name was planned to be renamed to overriding-option. The name -Woverriding-t-option does not make sense for other uses, mostly related to -ffp-model= related diagnostics. Reviewed By: hans, skan, dexonsmith Differential Revision: https://reviews.llvm.org/D158137
D155991 changed the file lookup to do a full string compare on the filename; however, this added ~0.5% to compile time with -g. Go back to the previous pointer-based lookup, but capture the main file's checksum as well as its name to use when creating the extra DIFile entry. This causes all entries to be consistent and also avoids computing the checksum twice. This reverts commit 5956648. There was a string lifetime issue that is now corrected. Differential Revision: https://reviews.llvm.org/D156571
Patch by: Acim Maravic Differential Revision: https://reviews.llvm.org/D157091
…e declare Split the tests for declare in module specification and the declare in function/subroutine specificatons. Since the lowering is specific to the location of the declare it will make it easier to update these files. This also remove the duplicate parts shared by the FIR vs HLFIR tests. Reviewed By: razvanlupusoru Differential Revision: https://reviews.llvm.org/D158222
…testing" `llvm-cov convert-for-testing` only functions properly when the input binary contains a single source file. When the binary has multiple source files, a `Malformed coverage data` error will occur when the generated .covmapping is read back. This is because the testing format lacks support for indicating the size of its file records, and current implementation just assumes there's only one record in it. This patch fixes this problem by introducing a new testing format version. Changes to the code: - Add a new format version. The version number is stored in the the last 8 bytes of the orignial magic number field to be backward-compatible. - Output a LEB128 number before the file records section to indicate its size in the new version. - Change the format parsing code correspondingly. - Update the document to formalize the testing format. - Additionally, fix the bug when converting COFF binaries. Reviewed By: phosek, gulfem Differential Revision: https://reviews.llvm.org/D156611
To enable signature conversions to be used in CIRCT, locations should no longer be dropped from block arguments. Reviewed By: Mogball, springerm Differential Revision: https://reviews.llvm.org/D157882
When updating the return type of deoptimize call during inline, we need to drop incompatible return attributes. This bug was exposed once we relaxed the contraint of adding the attributes through D156844. With that change deoptimize (are not willreturn) will start having return attributes added to it. Fixes llvm/llvm-project#64804. Differential Revision: https://reviews.llvm.org/D158286
It's possible to write an integer constant in hexadecimal, but you need to prefix it with u or s. I couldn't find this mentioned anywhere in the LangRef, so this adds a small note about it. Reviewed By: arsenm Differential Revision: https://reviews.llvm.org/D158288
This addresses issues found by: https://lab.llvm.org/buildbot/#/builders/30/builds/39010
Since we build the dylib with C++20, there's no need to use conditional macros anymore. Differential Revision: https://reviews.llvm.org/D157995
Add support for f16 in the expansion of math.roundeven. Associated GitHub issue: iree-org/iree#13522 This version addresses the build issues on Windows reported on https://reviews.llvm.org/D157204 Test plan: ninja check-mlir check-all Differential revision: https://reviews.llvm.org/D158234
The fuzzer found that a 100,000 digit number could possibly return an incorrect result. This patch fixes the issue. Reviewed By: lntue Differential Revision: https://reviews.llvm.org/D158118
…bit, a SMIN/SMAX node can be simplified to a OR/AND node respectively." This reverts commit 54d663d, which breaks the test CodeGen/SystemZ/ctpop-01.ll for stage2-ubsan check (see https://lab.llvm.org/buildbot/#/builders/85/builds/18410) I manually confirmed that the test had been passing immediately prior to that commit (BUILDBOT_REVISION=4772c66cfb00d60f8f687930e9dd3aa1b6872228 llvm-zorg/zorg/buildbot/builders/sanitizers/buildbot_bootstrap_ubsan.sh)
Feedback I hear regularly is that the LLDB website is hard to navigate. This patch is an attempt to simplify things by breaking the website up in 3 major areas: "Using LLDB", "Scripting LLDB" and "Developing LLDB". - The majority of the "project" pages were eliminated. The projects page was moved under "Developing LLDB". The releases page was replaced with a link under "External links". The other pages (goals, features and status) were pretty outdated and while they probably made sense in the past, they don't feel all that relevant anymore now that LLDB is an established debugger. - "USE & EXTENSION" was renamed to "Using LLDB". Besides that, this section remained mostly unchanged. The exception are the Python pages which were moved under "Scripting LLDB". - "Development" was renamed to "Developing LLDB" and now houses all the resources for LLDB developers. The old "Design" section (which only contained two pages) was moved back under here too. Differential revision: https://reviews.llvm.org/D158023
…ndeven" This reverts commit 40bf363. The build bot ppc64le-mlir-rhel-test got broken by these changes, see https://lab.llvm.org/buildbot#builders/88/builds/61048 .
We had some instances when LLVM would not inline fixed-count memcpy and ended up attempting to lower it a a libcall, which would not work on NVPTX as there's no standard library to call. The patch relaxes the threshold used for -Os compilation so we're always allowed to inline memory copy functions. Differential Revision: https://reviews.llvm.org/D158226
Dump verification errors to a local buffer instead of racing stdio and potentially showing interleaved output.
Today I learnt about their existence (D158288), they just need to be prefixed with a u or s. Reviewed By: goldstein.w.n Differential Revision: https://reviews.llvm.org/D158290
…on-matching types We have an existing DAG combine for when an insert/extract subvector pair is entirely a nop, but we hadn't handled the case where the net result was either an insert or an extract (but not both). The transform is restricted to index = 0 to avoid having to adjust indices after the transform. Reviews, a couple comments on the test changes: * Mostly RISCV, mostly schedule reordering. * One real regression in splats-with-mixed-vl.ll due to a different overly aggressive combine, fix in a follow up patch. * The test/CodeGen/X86/vector-replicaton-i1-mask.ll diff looked concerning at first, but not the mask size at most 4 i1s. I think the type changes on the mask loads are correct, but would welcome a second opinion with someone more familiar with AVX512 codegen. Differential Revision: https://reviews.llvm.org/D158201
…dedBits to when simplifying UMIN/UMAX to AND/OR. DemandedBits is forced to all ones if there are multiple users. The changes X86 test cases looks like they were miscompiles before. The value of eax/rax from the cmov is returned from the function in addition to being used by the sar. That usage needs all bits even though the sar doesn't.
…0 with non-matching types" This reverts commit 770be43. Forgot to remove from my tree while experimenting.
This change adds the option of using different units for blocktimes specified via the KMP_BLOCKTIME environment variable. The parsing of the environment now recognizes units suffixes: ms and us. If a units suffix is not specified, the default unit is ms. Thus default behavior is still the same, and any previous usage still works the same. Internally, blocktime is now converted to microseconds everywhere, so settings that exceed INT_MAX in microseconds are considered "infinite". kmp_set/get_blocktime are updated to use the units the user specified with KMP_BLOCKTIME, and if not specified, ms are used. Added better range checking and inform messages for the two time units. Large values of blocktime for default (ms) case (beyond INT_MAX/1000) are no longer allowed, but will autocorrect with an INFORM message. The delay for determining ticks per usec was lowered. It is now 1 million ticks which was calculated as ~450us based on 2.2GHz clock which is pretty typical base clock frequency on X86: (1e6 Ticks) / (2.2e9 Ticks/sec) * (1e6 usec/sec) = 454 usec Really short benchmarks can be affected by longer delay. Update KMP_BLOCKTIME docs. Portions of this commit were authored by Johnny Peyton. Differential Revision: https://reviews.llvm.org/D157646
…d vec_xlds intrinsic Differential Revision: https://reviews.llvm.org/D157920
`clang` currently lacks PIE support on Solaris. This patch fixes this, also linking with `crtbeginS.o` and `crtendS.o` for `-pie` and `-shared`. Tested on `amd64-pc-solaris2.11`, `sparcv9-sun-solaris2.11`, and `x86_64-pc-linux-gnu`. Differential Revision: https://reviews.llvm.org/D158206
…s implicitly truncated D152276 wasn't handling the case where the inserted element is implicitly truncated into the vector - resulting in a i1 element (implicitly truncated from i8) overwriting 8 bits instead of 1 bit. This patch is intended to be merged into 17.x so I've just disallowed any vector element vs inserted element type mismatch - technically we could be more elegant and permit truncated stores (as long as the store is still byte sized), but the use cases for that are so limited I'd prefer to play it safe for now. Candidate patch for #64655 17.x merge Differential Revision: https://reviews.llvm.org/D158366
Add support for following vector to tile (MOVA) intrinsics to ArmSME dialect: llvm.aarch64.sme.write.vert llvm.aarch64.sme.write.horiz Includes the definition of new type predicate 'ScalableVectorOfRankAndLengthAndType' in OpBase.td. Reviewed By: awarzynski, dcaballe Differential Revision: https://reviews.llvm.org/D157004
This will represent functions with the amdgpu_cs_chain or amdgpu_cs_chain_preserve calling conventions. Differential Revision: https://reviews.llvm.org/D156410
…file We will need to check the output of medium code model. Reviewed By: wangpc Differential Revision: https://reviews.llvm.org/D157965
In D146245, we have supported lowering inline asm `m` with offset to `register+imm`, but we didn't handle the case that the offset is the low part of global address. This patch will emit `%lo(g)` when `g` is a global address. Fixes #64656 Reviewed By: asb Differential Revision: https://reviews.llvm.org/D157839
…4 varargs This fixes a regression since 1c10d5b / https://reviews.llvm.org/D130903 by applying the same fix from SelectionDAG from 8cb3667 / https://reviews.llvm.org/D35720. This could possibly have been detected if the existing testcases in win64_vararg.ll had been tested with GlobalISel too, but all the IR snippets there fail to be translated with GlobalISel. This adds a separate testcase based on real world LLVM IR (instead of hand-reduced IR), which GlobalISel does translate happily - tested with both SelectionDAG and GlobalISel. Before this change, the stack object locations (visible in MIR with "llc -print-after-all") didn't match with what the prologue emitted by AArch64FrameLowering actually looked like, which caused clobbered callee saved registers when function local stack objects aliased the actual location of the callee saved registers. This fixes llvm/llvm-project#64740. Differential Revision: https://reviews.llvm.org/D158272
Refresh of the generic scheduling model to use A510 instead of A55. Main benefits are to the little core, and introducing SVE scheduling information. Changes tested on various OoO cores, no performance degradation is seen. Differential Revision: https://reviews.llvm.org/D156799
Reviewed By: sivachandra Differential Revision: https://reviews.llvm.org/D158313
The test creates two maps, which explode in output size when subtracting, causing the test to take +11 seconds on a debug build. Removing the slow test until more simplifications in subtraction are added. Reviewed By: arjunp Differential Revision: https://reviews.llvm.org/D158406
We previously provided the `try_open` facility to indicate if opening a port failed. This is used on the server to continuously poll and quit if there is no work. However the Client currently has no way to recover from not finding a port and simply spins repeatedly. The abstraction here costs us some resources. This patch changes the interface to only allow `open` on the client side and merges the loops. This saves us a branch and a good number of registers. Reviewed By: JonChesterfield Differential Revision: https://reviews.llvm.org/D158365
`DIFile`'s checksum fields became optional as part of https://reviews.llvm.org/D43043. This updates the description in the docs to match. Fixes llvm/llvm-project#39151 Differential Revision: https://reviews.llvm.org/D158281
Ensure the correct clang-format binary is picked up, as `clang-format-diff.py` currently seems to look for clang-format-17 while we install clang-format-18. Original commit: KhronosGroup/SPIRV-LLVM-Translator@2bb5fed
This is a bulk conversion done using the migration script. Original commit: KhronosGroup/SPIRV-LLVM-Translator@36936af
When translating the `spirv.Extension` metadata of an LLVM Module, report an error when encountering an extension that has been explicitly disabled. Original commit: KhronosGroup/SPIRV-LLVM-Translator@2e917c9
This is a bulk conversion done using the migration script. There are more transcoding tests to be converted; however they will need manual fixups, so leave them out of this bulk conversion. Original commit: KhronosGroup/SPIRV-LLVM-Translator@76fcc39
After bitcast float to integer we should use not SAbs but UAbs call. But since UAbs is a bit useless - we shouldn't generate *Abs at all. Signed-off-by: Sidorov, Dmitry <dmitry.sidorov@intel.com> Original commit: KhronosGroup/SPIRV-LLVM-Translator@d021f75
sys-ce-bb
added
the
disable-lint
Skip linter check step and proceed with build jobs
label
Aug 21, 2023
Close this , as we have enabled INTEL_SYCL_OPAQUEPOINTER_READY in #10888 , it is better to create a new pulldown based on latest sycl-web branch. |
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@7e66e30
SPIRV-LLVM-Translator: KhronosGroup/SPIRV-LLVM-Translator@d021f75