-
Notifications
You must be signed in to change notification settings - Fork 787
LLVM and SPIRV-LLVM-Translator pulldown (WW39) #6898
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
Conversation
…ocedure The code snippet module m interface module subroutine specific end subroutine end interface interface generic module procedure specific end interface end module elicits a bogus semantic error about "specific" not being an acceptable module procedure for the generic interface; fix. Differential Revision: https://reviews.llvm.org/D134402
…valent" This reverts commit eef5db2. See llvm/llvm-project#57815. dso_local_equivalent would fail with an assertion on forward-referenced globals. This is an issue that only comes up in textual IR, which is why we've never seen this assertion with clang. Differential Revision: https://reviews.llvm.org/D134234
This reverts commit 794b7ea, and thus restores commit a212d8d, and follow on fixes 0cd6763, e9ff53d, and 37c6a25. Use a hash function (BLAKE3) instead of hash_combine/hash_code which are not guaranteed to be stable across executions. Additionally, it adds a "REQUIRES: x86_64-linux" to the tests that have raw profile inputs to avoid failures on big endian bots. Reviewers: snehasish, davidxl Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D128142
Attributes like PURE, ELEMENTAL, &c. are specified on the interface of a separate module procedure, so when the MODULE PROCEDURE is defined in a submodule, it must acquire those attributes from the interface. Differential Revision: https://reviews.llvm.org/D134403
Instructions might use definition register as its "undef" operand. It happens on architectures with predicated executon: ``` %0:subreg = instruction op_1, ..., op_N, undef %0:subreg, op_N+2, ... ``` RegisterCoalescer should take into account all remat instruction operands during destination subregister fixup. ``` ; remat result before fix: %1 = instruction op_1, ..., op_N, undef %1:subreg, op_N+2, ... ; remat result after fix (correct): %1 = instruction op_1, ..., op_N, undef %1, op_N+2, ... ``` Differential Revision: https://reviews.llvm.org/D125657
The full complement of physical VGPRs for GFX11 is 50% more than GFX10. Some subtargets have this, others stay the same as GFX10. This affects occupancy calculations. Differential Revision: https://reviews.llvm.org/D134522
Apparently TransformDecl in TreeTransform can be called with a nullptr for a Decl, so my casts were illegal. The fix here is to add an early exit to my TransformDecl.
…lysis When a DynamicType for CHARACTER has a known length, correct a negative length value to its effective length of zero so that all such types compare equal in interface compatibility checking. Differential Revision: https://reviews.llvm.org/D134405
This reverts commit 3f08d24. The commit this change is fixing is being reverted due to GHI #57796 and #37821, so revert this commit as well.
…e and load slices" This reverts commit de3445e. This is causing GHI #57796 and #57821.
regexp for try_run path expects '0 or more' digits which is incorrect because it should be 'one or more', regexp for header parsing expects 'exactly one' digit which is incorrect with current Z3 version (4.11.2) Reviewed By: mikhail.ramalho Differential Revision: https://reviews.llvm.org/D134261
Test is broken by D130579. Temporarily disable to silence builbot failures.
When an explicit MODULE procedure is defined in the same (sub)module as its interface, and the interface was defined in a generic interface of the same name, bogus errors about symbols already having been defined will ensue. Cleaning up this aspect of name resolution and symbol table management requires marking the place-holding SubprogramNameDetails symbols of explicit MODULE subprograms as such, ensuring that that attribute is not inherited if the SubprogramNameDetails symbol is recycled as a SubprogramDetails, and gathering some code that should have been common between BeginSubprogram() and BeginMpSubprogram() together in one new routine. Differential Revision: https://reviews.llvm.org/D134446
Any symbol in a module file will have been already shamed with portability warnings when the module was compiled, so don't pile on when compiling other program units that use the module. This also silences warnings about some symbols whose names were created or extended by the compiler to avoid clashes. Differential Revision: https://reviews.llvm.org/D134455
At present, IS_CONTIGUOUS() can only either fold to .TRUE. or remain unknown. The underlying analysis, however, is capable of returning a tri-state result (true, false, or unknown). Extend and expose it to folding so that IS_CONTIGUOUS() can fold to .FALSE. as well as to .TRUE. when contiguity is known. Differential Revision: https://reviews.llvm.org/D134466
… a generic A generic-spec can appear on a module accessibility control statement even if it has not been declared as a generic interface, because there's nothing else that it could be. While here, simplify the parse tree and parser for AccessId, since one of its alternatives is ambiguous with the other. Differential Revision: https://reviews.llvm.org/D134471
Change-Id: I0d90f86ab759347a2f20448d28cc09ddaea3a4d4
This allows us to directly use the models published on Github. Differential Revision: https://reviews.llvm.org/D134566
When a scalar expression is not expandable -- i.e., it would have to be evaluated once and saved in a temporary to avoid changing the semantics of the program if it were to be evaluated more than once -- it affects some aspects of folding and expression semantics. In cases where scalar expansion would not cause multiple evaluations due to the shape of the result having but a single element, however, these "non-expandable" scalar expressions can be safely allowed. Differential Revision: https://reviews.llvm.org/D134476
f18 emits an error message when two objects related by EQUIVALENCE to a third are specified as members of a COMMON block. This is not always a sign of an error, however; it is possible for multiple objects in a COMMON block to all be equivalenced to distinct offsets in another object in a way that is consistent. So refine the check. Differential Revision: https://reviews.llvm.org/D134485
I am building with clang, and I noticed for quite a while that REAL(16) runtimes functions are not available. I did not know why until I saw this typo. Differential Revision: https://reviews.llvm.org/D134503
Change "inconsistant" for "inconsistent" in the message, the file name and the test output. Reviewed By: pete, MaskRay Differential Revision: https://reviews.llvm.org/D134562
…ct.ll. NFC I had forgotten how we had the files partitioned.
When a component array of a named constant is extracted as a constant value, ensure that the lower bounds of the array are properly acquired from the declaration of the component. Differential Revision: https://reviews.llvm.org/D134499
…99/basedefs/time.h.html Tested: Limited unit test: This makes a call and checks that no error was returned, but we currently don't have the ability to ensure that time has elapsed as expected. Co-authored-by: Jeff Bailey <[email protected]> Reviewed By: sivachandra, jeffbailey Differential Revision: https://reviews.llvm.org/D134095
When a FUNCTION statement has both an explicit type in its prefix and a RESULT clause in its suffix, semantics crashes due to the redundant type; emit a nice error message instead. Differential Revision: https://reviews.llvm.org/D134504
Prepare for switching to prefixed accessors. Issue: llvm/llvm-project#57887 Reviewed By: antiagainst, rriddle Differential Revision: https://reviews.llvm.org/D134560
…ing-point type." This reverts commit dd53a0b. We have seen crashes from this internally. Probably due to the use of RoundingMode::Dynamic.
Original commit: KhronosGroup/SPIRV-LLVM-Translator@6fdd2d0
This requires changing all of the callers of this method at the same time. Original commit: KhronosGroup/SPIRV-LLVM-Translator@1aa3b17
The test change is because use of an IRBuilder causes extra constant folding to happen that previously didn't happen. Original commit: KhronosGroup/SPIRV-LLVM-Translator@44c70a8
With this commit, the last call to Type::getPointerElementType in the translator is truly dead, completing the first phase of transitioning to opaque pointers. Original commit: KhronosGroup/SPIRV-LLVM-Translator@3938c74
Code in handleInitPriorityAttr() to emit an HLSL specific diagnostic was lost in the merge. This change restores that lost code.
Driver/amdgpu-openmp-toolchain-new.c Driver/openmp-offload-gpu-new.c Were removed by 4716696 (differential revision https://reviews.llvm.org/D130020) Later these tests were restored as a result of incorrect merge. This fix removes these test again.
After optimization, the function is completely empty. Therefore it is "nocapture". ptr type arguments should be "noundef" (probably all args in C/C++ should be noundef). Both "nocapture" and "noundef" are correct.
Windows check-clang issue is was fixed in #6938 @kbobrovs, @v-klochkov , can you take a look into
|
I took a look. The root cause is a test problem, patch is on the way. |
|
With the last test fix merged this looks clean now |
/merge |
Tue 04 Oct 2022 04:03:15 PM UTC --- Start to merge the commit into sycl branch. It will take several minutes. |
Tue 04 Oct 2022 04:06:58 PM UTC --- Merge the branch in this PR to base automatically. Will close the PR later. |
LLVM: llvm/llvm-project@6b0b306
SPIRV-LLVM-Translator: KhronosGroup/SPIRV-LLVM-Translator@3938c74