[llvm-branch-commits] [llvm] [PowerPC][GlobalMerge] Reduce TOC usage by merging internal and private global data (PR #101224)
CPassConfig::addPreISel() { if (EnableGlobalMerge) -addPass(createGlobalMergePass(TM, GlobalMergeMaxOffset, false, false, true, +addPass(createGlobalMergePass(TM, GlobalMergeMaxOffset, false, false, true)); if (MergeStringPool && getOptLevel() != CodeGenOptLevel::None) ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[clang] [Clang] Allow LibBuiltins with placeholder return types to be called (PR #101702)
https://github.com/MitalAshok edited https://github.com/llvm/llvm-project/pull/101702 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [Clang] Allow LibBuiltins with placeholder return types to be called (PR #101702)
https://github.com/MitalAshok edited https://github.com/llvm/llvm-project/pull/101702 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [Clang] Support for LibBuiltins with placeholder return types (PR #101702)
; +static_assert(is_i(std::move_if_noexcept(i))); +static_assert(is_i(std::forward_like(i))); +static_assert(::forward_like(i) == ); + +// These types are incorrect, but make sure the types as declared are used +static_assert(__is_same(decltype(std::move), auto(int(&)()) noexcept -> int(&)())); +static_assert(__is_same(decltype(std::move_if_noexcept), auto(int(&)()) noexcept -> int(&)())); +static_assert(__is_same(decltype(std::forward_like), auto(int(&)()) noexcept -> int(&)())); +} // namespace GH101614 diff --git a/clang/test/SemaCXX/builtin-std-move.cpp b/clang/test/SemaCXX/builtin-std-move.cpp index a2ae21986308a..da85703c5d58e 100644 --- a/clang/test/SemaCXX/builtin-std-move.cpp +++ b/clang/test/SemaCXX/builtin-std-move.cpp @@ -172,3 +172,7 @@ namespace std { template int (T); } int bad_signature = std::move(0); // expected-error {{unsupported signature for 'std::move'}} + +namespace GH101690 { +decltype(std::move_if_noexcept)* p = nullptr; +} ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[llvm-branch-commits] [llvm] [mlir] [OpenMP]Update use_device_clause lowering (PR #101707)
) capture(ByRef) -> !llvm.ptr {name = ""} + omp.target_data map_entries(%map1 : !llvm.ptr) use_device_ptr(%map2 : !llvm.ptr) { ^bb0(%arg0: !llvm.ptr): %1 = llvm.mlir.constant(10 : i32) : i32 %2 = llvm.load %arg0 : !llvm.ptr -> !llvm.ptr @@ -253,7 +254,8 @@ llvm.func @_QPopenmp_target_use_dev_addr() { %0 = llvm.mlir.constant(1 : i64) : i64 %a = llvm.alloca %0 x !llvm.ptr : (i64) -> !llvm.ptr %map = omp.map.info var_ptr(%a : !llvm.ptr, !llvm.ptr) map_clauses(from) capture(ByRef) -> !llvm.ptr {name = ""} - omp.target_data map_entries(%map : !llvm.ptr) use_device_addr(%a : !llvm.ptr) { + %map2 = omp.map.info var_ptr(%a : !llvm.ptr, !llvm.ptr) map_clauses(from) capture(ByRef) -> !llvm.ptr {name = ""} + omp.target_data map_entries(%map : !llvm.ptr)... [truncated] `` https://github.com/llvm/llvm-project/pull/101707 _______ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [llvm] [AMDGPU][SILoadStoreOptimizer] Include constrained buffer load variants (PR #101619)
@@ -1735,8 +1735,10 @@ unsigned SILoadStoreOptimizer::getNewOpcode(const CombineInfo , case UNKNOWN: llvm_unreachable("Unknown instruction class"); case S_BUFFER_LOAD_IMM: { +// If XNACK is enabled, use the constrained opcodes when the first load is +// under-aligned. const MachineMemOperand *MMO = *CI.I->memoperands_begin(); -bool NeedsConstrainedOpc = needsConstraintedOpcode(*STM, MMO, Width); +bool NeedsConstrainedOpc = MMO && needsConstrainedOpcode(*STM, MMO, Width); arsenm wrote: This is an invalid way of checking for no mmo. This is dereferencing the end iterator. https://github.com/llvm/llvm-project/pull/101619 _______ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [llvm] [mlir] [OpenMP]Update use_device_clause lowering (PR #101707)
m.ptr) map_clauses(tofrom) capture(ByRef) -> !llvm.ptr {name = ""} + omp.target map_entries(%map1 : !llvm.ptr){ + ^bb0(%arg1: !llvm.ptr): + %1 = llvm.mlir.constant(999 : i32) : i32 +%2 = llvm.load %arg1 : !llvm.ptr -> !llvm.ptr + llvm.store %1, %2 : i32, !llvm.ptr +omp.terminator + } + omp.terminator +} +llvm.return + } +} ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[clang] [Clang] Support for LibBuiltins with placeholder return types (PR #101702)
:move_if_noexcept(i))); +static_assert(is_i(std::forward_like(i))); +static_assert(::forward_like(i) == ); + +// These types are incorrect, but make sure the types as declared are used +static_assert(__is_same(decltype(std::move), auto(int(&)()) noexcept -> int(&)())); +static_assert(__is_same(decltype(std::move_if_noexcept), auto(int(&)()) noexcept -> int(&)())); +static_assert(__is_same(decltype(std::forward_like), auto(int(&)()) noexcept -> int(&)())); +} // namespace GH101614 diff --git a/clang/test/SemaCXX/builtin-std-move.cpp b/clang/test/SemaCXX/builtin-std-move.cpp index a2ae21986308a..da85703c5d58e 100644 --- a/clang/test/SemaCXX/builtin-std-move.cpp +++ b/clang/test/SemaCXX/builtin-std-move.cpp @@ -172,3 +172,7 @@ namespace std { template int (T); } int bad_signature = std::move(0); // expected-error {{unsupported signature for 'std::move'}} + +namespace GH101690 { +decltype(std::move_if_noexcept)* p = nullptr; +} `` https://github.com/llvm/llvm-project/pull/101702 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [Clang] Support for LibBuiltins with placeholder return types (PR #101702)
(__is_same(decltype(std::forward_like(i)), int&)); + +constexpr bool is_i(int&& x) { return == } +void is_i(int&) = delete; +void is_i(auto&&) = delete; + +static_assert(is_i(std::move(i))); +static_assert(is_i(std::move_if_noexcept(i))); +static_assert(is_i(std::forward_like(i))); +static_assert(::forward_like(i) == ); + +// These types are incorrect, but make sure the types as declared are used +static_assert(__is_same(decltype(std::move), auto(int(&)()) noexcept -> int(&)())); +static_assert(__is_same(decltype(std::move_if_noexcept), auto(int(&)()) noexcept -> int(&)())); +static_assert(__is_same(decltype(std::forward_like), auto(int(&)()) noexcept -> int(&)())); +} // namespace GH101614 diff --git a/clang/test/SemaCXX/builtin-std-move.cpp b/clang/test/SemaCXX/builtin-std-move.cpp index a2ae21986308a..da85703c5d58e 100644 --- a/clang/test/SemaCXX/builtin-std-move.cpp +++ b/clang/test/SemaCXX/builtin-std-move.cpp @@ -172,3 +172,7 @@ namespace std { template int (T); } int bad_signature = std::move(0); // expected-error {{unsupported signature for 'std::move'}} + +namespace GH101690 { +decltype(std::move_if_noexcept)* p = nullptr; +} ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [RISCV][clang] Remove unused base type in `vfncvt` (PR #101646)
https://github.com/topperc approved this pull request. LGTM https://github.com/llvm/llvm-project/pull/101646 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [RISCV] Support `vrgather` and `vcompress` for `zvfhmin` and `zvfbfmin` (PR #101633)
https://github.com/topperc edited https://github.com/llvm/llvm-project/pull/101633 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [RISCV] Support `vrgather` and `vcompress` for `zvfhmin` and `zvfbfmin` (PR #101633)
https://github.com/topperc approved this pull request. LGTM https://github.com/llvm/llvm-project/pull/101633 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[jenkinsci/envinject-plugin] dacb49: build: bump org.jenkins-ci.plugins:ivy from 2.2 to...
Branch: refs/heads/dependabot/maven/org.jenkins-ci.plugins-ivy-2.6 Home: https://github.com/jenkinsci/envinject-plugin Commit: dacb496dcb4b8a4d9633048699b9bad312e5c986 https://github.com/jenkinsci/envinject-plugin/commit/dacb496dcb4b8a4d9633048699b9bad312e5c986 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: 2024-08-02 (Fri, 02 Aug 2024) Changed paths: M pom.xml Log Message: --- build: bump org.jenkins-ci.plugins:ivy from 2.2 to 2.6 Bumps [org.jenkins-ci.plugins:ivy](https://github.com/jenkinsci/ivy-plugin) from 2.2 to 2.6. - [Release notes](https://github.com/jenkinsci/ivy-plugin/releases) - [Changelog](https://github.com/jenkinsci/ivy-plugin/blob/master/CHANGELOG.md) - [Commits](https://github.com/jenkinsci/ivy-plugin/compare/ivy-2.2...ivy-2.6) --- updated-dependencies: - dependency-name: org.jenkins-ci.plugins:ivy dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] To unsubscribe from these emails, change your notification settings at https://github.com/jenkinsci/envinject-plugin/settings/notifications -- You received this message because you are subscribed to the Google Groups "Jenkins Commits" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-commits+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-commits/jenkinsci/envinject-plugin/push/refs/heads/dependabot/maven/org.jenkins-ci.plugins-ivy-2.6/811b89-dacb49%40github.com.
[clang] [llvm] [RISCV] Support `vrgather` and `vcompress` for `zvfhmin` and `zvfbfmin` (PR #101633)
https://github.com/topperc approved this pull request. LGTM https://github.com/llvm/llvm-project/pull/101633 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[jenkinsci/envinject-plugin]
Branch: refs/heads/dependabot/maven/io.jenkins.tools.incrementals-git-changelist-maven-extension-1.8 Home: https://github.com/jenkinsci/envinject-plugin To unsubscribe from these emails, change your notification settings at https://github.com/jenkinsci/envinject-plugin/settings/notifications -- You received this message because you are subscribed to the Google Groups "Jenkins Commits" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-commits+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-commits/jenkinsci/envinject-plugin/push/refs/heads/dependabot/maven/io.jenkins.tools.incrementals-git-changelist-maven-extension-1.8/cbfc52-00%40github.com.
[jenkinsci/envinject-plugin] ce9437: build: bump io.jenkins.tools.incrementals:git-chan...
Branch: refs/heads/master Home: https://github.com/jenkinsci/envinject-plugin Commit: ce94373f32c45fdd1d8783ee6a777ddf9a69d32b https://github.com/jenkinsci/envinject-plugin/commit/ce94373f32c45fdd1d8783ee6a777ddf9a69d32b Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: 2024-08-02 (Fri, 02 Aug 2024) Changed paths: M .mvn/extensions.xml Log Message: --- build: bump io.jenkins.tools.incrementals:git-changelist-maven-extension from 1.7 to 1.8 (#294) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> To unsubscribe from these emails, change your notification settings at https://github.com/jenkinsci/envinject-plugin/settings/notifications -- You received this message because you are subscribed to the Google Groups "Jenkins Commits" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-commits+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-commits/jenkinsci/envinject-plugin/push/refs/heads/master/0c98a5-ce9437%40github.com.
[jenkinsci/envinject-plugin] 0c98a5: build: bump org.jenkins-ci.plugins:plugin from 4.7...
Branch: refs/heads/master Home: https://github.com/jenkinsci/envinject-plugin Commit: 0c98a53c137686aae3d138921fea3f072cf603a5 https://github.com/jenkinsci/envinject-plugin/commit/0c98a53c137686aae3d138921fea3f072cf603a5 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: 2024-08-02 (Fri, 02 Aug 2024) Changed paths: M pom.xml Log Message: --- build: bump org.jenkins-ci.plugins:plugin from 4.74 to 4.86 (#293) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> To unsubscribe from these emails, change your notification settings at https://github.com/jenkinsci/envinject-plugin/settings/notifications -- You received this message because you are subscribed to the Google Groups "Jenkins Commits" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-commits+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-commits/jenkinsci/envinject-plugin/push/refs/heads/master/31e14c-0c98a5%40github.com.
[jenkinsci/envinject-plugin] cbfc52: build: bump io.jenkins.tools.incrementals:git-chan...
Branch: refs/heads/dependabot/maven/io.jenkins.tools.incrementals-git-changelist-maven-extension-1.8 Home: https://github.com/jenkinsci/envinject-plugin Commit: cbfc528ef3be3d78da991cf3bab96b490557046d https://github.com/jenkinsci/envinject-plugin/commit/cbfc528ef3be3d78da991cf3bab96b490557046d Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: 2024-08-02 (Fri, 02 Aug 2024) Changed paths: M .mvn/extensions.xml Log Message: --- build: bump io.jenkins.tools.incrementals:git-changelist-maven-extension Bumps [io.jenkins.tools.incrementals:git-changelist-maven-extension](https://github.com/jenkinsci/incrementals-tools) from 1.7 to 1.8. - [Release notes](https://github.com/jenkinsci/incrementals-tools/releases) - [Commits](https://github.com/jenkinsci/incrementals-tools/compare/parent-1.7...parent-1.8) --- updated-dependencies: - dependency-name: io.jenkins.tools.incrementals:git-changelist-maven-extension dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] To unsubscribe from these emails, change your notification settings at https://github.com/jenkinsci/envinject-plugin/settings/notifications -- You received this message because you are subscribed to the Google Groups "Jenkins Commits" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-commits+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-commits/jenkinsci/envinject-plugin/push/refs/heads/dependabot/maven/io.jenkins.tools.incrementals-git-changelist-maven-extension-1.8/00-cbfc52%40github.com.
[jenkinsci/envinject-plugin] 3b93ef: build: bump org.jenkins-ci.plugins:plugin from 4.7...
Branch: refs/heads/dependabot/maven/org.jenkins-ci.plugins-plugin-4.86 Home: https://github.com/jenkinsci/envinject-plugin Commit: 3b93effd58691c992c5bc794c4655d46d7423539 https://github.com/jenkinsci/envinject-plugin/commit/3b93effd58691c992c5bc794c4655d46d7423539 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: 2024-08-02 (Fri, 02 Aug 2024) Changed paths: M pom.xml Log Message: --- build: bump org.jenkins-ci.plugins:plugin from 4.74 to 4.86 Bumps [org.jenkins-ci.plugins:plugin](https://github.com/jenkinsci/plugin-pom) from 4.74 to 4.86. - [Release notes](https://github.com/jenkinsci/plugin-pom/releases) - [Changelog](https://github.com/jenkinsci/plugin-pom/blob/master/CHANGELOG.md) - [Commits](https://github.com/jenkinsci/plugin-pom/compare/plugin-4.74...plugin-4.86) --- updated-dependencies: - dependency-name: org.jenkins-ci.plugins:plugin dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] To unsubscribe from these emails, change your notification settings at https://github.com/jenkinsci/envinject-plugin/settings/notifications -- You received this message because you are subscribed to the Google Groups "Jenkins Commits" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-commits+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-commits/jenkinsci/envinject-plugin/push/refs/heads/dependabot/maven/org.jenkins-ci.plugins-plugin-4.86/00-3b93ef%40github.com.
[jenkinsci/envinject-plugin] 811b89: build: bump org.jenkins-ci.plugins:ivy from 2.2 to...
Branch: refs/heads/dependabot/maven/org.jenkins-ci.plugins-ivy-2.6 Home: https://github.com/jenkinsci/envinject-plugin Commit: 811b89cc5d9a3c88178b7fd5ba2fe567a4cb2391 https://github.com/jenkinsci/envinject-plugin/commit/811b89cc5d9a3c88178b7fd5ba2fe567a4cb2391 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: 2024-08-02 (Fri, 02 Aug 2024) Changed paths: M pom.xml Log Message: --- build: bump org.jenkins-ci.plugins:ivy from 2.2 to 2.6 Bumps [org.jenkins-ci.plugins:ivy](https://github.com/jenkinsci/ivy-plugin) from 2.2 to 2.6. - [Release notes](https://github.com/jenkinsci/ivy-plugin/releases) - [Changelog](https://github.com/jenkinsci/ivy-plugin/blob/master/CHANGELOG.md) - [Commits](https://github.com/jenkinsci/ivy-plugin/compare/ivy-2.2...ivy-2.6) --- updated-dependencies: - dependency-name: org.jenkins-ci.plugins:ivy dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] To unsubscribe from these emails, change your notification settings at https://github.com/jenkinsci/envinject-plugin/settings/notifications -- You received this message because you are subscribed to the Google Groups "Jenkins Commits" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-commits+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-commits/jenkinsci/envinject-plugin/push/refs/heads/dependabot/maven/org.jenkins-ci.plugins-ivy-2.6/00-811b89%40github.com.
[jenkinsci/envinject-plugin] 673096: build: bump crowdin/github-action from 1.14.0 to 2...
Branch: refs/heads/dependabot/github_actions/crowdin/github-action-2.1.1 Home: https://github.com/jenkinsci/envinject-plugin Commit: 6730960ac5d40529fd6efe564d71117e5d473a2e https://github.com/jenkinsci/envinject-plugin/commit/6730960ac5d40529fd6efe564d71117e5d473a2e Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: 2024-08-02 (Fri, 02 Aug 2024) Changed paths: M .github/workflows/crowdin.yml Log Message: --- build: bump crowdin/github-action from 1.14.0 to 2.1.1 Bumps [crowdin/github-action](https://github.com/crowdin/github-action) from 1.14.0 to 2.1.1. - [Release notes](https://github.com/crowdin/github-action/releases) - [Commits](https://github.com/crowdin/github-action/compare/v1.14.0...v2.1.1) --- updated-dependencies: - dependency-name: crowdin/github-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] To unsubscribe from these emails, change your notification settings at https://github.com/jenkinsci/envinject-plugin/settings/notifications -- You received this message because you are subscribed to the Google Groups "Jenkins Commits" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-commits+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-commits/jenkinsci/envinject-plugin/push/refs/heads/dependabot/github_actions/crowdin/github-action-2.1.1/00-673096%40github.com.
[jenkinsci/envinject-plugin] 31e14c: build: bump crowdin/github-action from 1.12.0 to 1...
Branch: refs/heads/master Home: https://github.com/jenkinsci/envinject-plugin Commit: 31e14c6dfcf2e24e7b1a4ae976134af5d29ef65a https://github.com/jenkinsci/envinject-plugin/commit/31e14c6dfcf2e24e7b1a4ae976134af5d29ef65a Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: 2024-08-02 (Fri, 02 Aug 2024) Changed paths: M .github/workflows/crowdin.yml Log Message: --- build: bump crowdin/github-action from 1.12.0 to 1.14.0 (#286) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> To unsubscribe from these emails, change your notification settings at https://github.com/jenkinsci/envinject-plugin/settings/notifications -- You received this message because you are subscribed to the Google Groups "Jenkins Commits" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-commits+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-commits/jenkinsci/envinject-plugin/push/refs/heads/master/efdc44-31e14c%40github.com.
[jenkinsci/envinject-plugin]
Branch: refs/heads/dependabot/github_actions/crowdin/github-action-1.14.0 Home: https://github.com/jenkinsci/envinject-plugin To unsubscribe from these emails, change your notification settings at https://github.com/jenkinsci/envinject-plugin/settings/notifications -- You received this message because you are subscribed to the Google Groups "Jenkins Commits" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-commits+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-commits/jenkinsci/envinject-plugin/push/refs/heads/dependabot/github_actions/crowdin/github-action-1.14.0/0b1755-00%40github.com.
[jenkinsci/envinject-plugin] efdc44: build: bump actions/checkout from 3 to 4 (#283)
Branch: refs/heads/master Home: https://github.com/jenkinsci/envinject-plugin Commit: efdc447fbb62b092524a81b2fccd8dbd7e088fdd https://github.com/jenkinsci/envinject-plugin/commit/efdc447fbb62b092524a81b2fccd8dbd7e088fdd Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: 2024-08-02 (Fri, 02 Aug 2024) Changed paths: M .github/workflows/crowdin.yml Log Message: --- build: bump actions/checkout from 3 to 4 (#283) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> To unsubscribe from these emails, change your notification settings at https://github.com/jenkinsci/envinject-plugin/settings/notifications -- You received this message because you are subscribed to the Google Groups "Jenkins Commits" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-commits+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-commits/jenkinsci/envinject-plugin/push/refs/heads/master/35fd26-efdc44%40github.com.
[Lldb-commits] [lldb] [lldb][ClangExpressionParser] Log and assert on failure to create TargetInfo (PR #101697)
@@ -465,18 +465,24 @@ ClangExpressionParser::ClangExpressionParser( // A value of 0 means no limit for both LLDB and Clang. m_compiler->getDiagnostics().setErrorLimit(target_sp->GetExprErrorLimit()); - auto target_info = TargetInfo::CreateTargetInfo( - m_compiler->getDiagnostics(), m_compiler->getInvocation().TargetOpts); - if (log) { -LLDB_LOGF(log, "Target datalayout string: '%s'", - target_info->getDataLayoutString()); -LLDB_LOGF(log, "Target ABI: '%s'", target_info->getABI().str().c_str()); -LLDB_LOGF(log, "Target vector alignment: %d", - target_info->getMaxVectorAlign()); - } - m_compiler->setTarget(target_info); + if (auto *target_info = TargetInfo::CreateTargetInfo( + m_compiler->getDiagnostics(), + m_compiler->getInvocation().TargetOpts)) { +if (log) { + LLDB_LOGF(log, "Target datalayout string: '%s'", +target_info->getDataLayoutString()); + LLDB_LOGF(log, "Target ABI: '%s'", target_info->getABI().str().c_str()); + LLDB_LOGF(log, "Target vector alignment: %d", +target_info->getMaxVectorAlign()); +} +m_compiler->setTarget(target_info); + } else { +if (log) + LLDB_LOGF(log, "Failed to create TargetInfo for '%s'", +m_compiler->getTargetOpts().Triple.c_str()); - assert(m_compiler->hasTarget()); +lldbassert(false && "Failed to create TargetInfo."); adrian-prantl wrote: Based on that there used to be an assert here, should this return? Same comment as in the previous review — ideally this would return an llvm::Error here if it weren't a constructor. https://github.com/llvm/llvm-project/pull/101697 _______ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
[Lldb-commits] [lldb] [lldb][ClangExpressionParser] Log and assert on failure to create TargetInfo (PR #101697)
https://github.com/adrian-prantl approved this pull request. https://github.com/llvm/llvm-project/pull/101697 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
[clang] [NFC] Format TokenKey enum (PR #101700)
https://github.com/abhina-sree updated https://github.com/llvm/llvm-project/pull/101700 >From 647b7c492ae814d4bada1435f3c41b700f093b64 Mon Sep 17 00:00:00 2001 From: Abhina Sreeskantharajan Date: Fri, 2 Aug 2024 11:56:22 -0400 Subject: [PATCH] [NFC] format TokenKey enum --- clang/lib/Basic/IdentifierTable.cpp | 86 ++--- 1 file changed, 43 insertions(+), 43 deletions(-) diff --git a/clang/lib/Basic/IdentifierTable.cpp b/clang/lib/Basic/IdentifierTable.cpp index 4f7ccaf4021d6..9cf081e9e26c1 100644 --- a/clang/lib/Basic/IdentifierTable.cpp +++ b/clang/lib/Basic/IdentifierTable.cpp @@ -81,49 +81,49 @@ IdentifierTable::IdentifierTable(const LangOptions , // Constants for TokenKinds.def namespace { - enum TokenKey : unsigned { -KEYC99= 0x1, -KEYCXX= 0x2, -KEYCXX11 = 0x4, -KEYGNU= 0x8, -KEYMS = 0x10, -BOOLSUPPORT = 0x20, -KEYALTIVEC= 0x40, -KEYNOCXX = 0x80, -KEYBORLAND= 0x100, -KEYOPENCLC= 0x200, -KEYC23= 0x400, -KEYNOMS18 = 0x800, -KEYNOOPENCL = 0x1000, -WCHARSUPPORT = 0x2000, -HALFSUPPORT = 0x4000, -CHAR8SUPPORT = 0x8000, -KEYOBJC = 0x1, -KEYZVECTOR= 0x2, -KEYCOROUTINES = 0x4, -KEYMODULES= 0x8, -KEYCXX20 = 0x10, -KEYOPENCLCXX = 0x20, -KEYMSCOMPAT = 0x40, -KEYSYCL = 0x80, -KEYCUDA = 0x100, -KEYHLSL = 0x200, -KEYFIXEDPOINT = 0x400, -KEYMAX= KEYFIXEDPOINT, // The maximum key -KEYALLCXX = KEYCXX | KEYCXX11 | KEYCXX20, -KEYALL = (KEYMAX | (KEYMAX-1)) & ~KEYNOMS18 & - ~KEYNOOPENCL // KEYNOMS18 and KEYNOOPENCL are used to exclude. - }; - - /// How a keyword is treated in the selected standard. This enum is ordered - /// intentionally so that the value that 'wins' is the most 'permissive'. - enum KeywordStatus { -KS_Unknown, // Not yet calculated. Used when figuring out the status. -KS_Disabled,// Disabled -KS_Future, // Is a keyword in future standard -KS_Extension, // Is an extension -KS_Enabled, // Enabled - }; +enum TokenKey : unsigned { + KEYC99 = 0x1, + KEYCXX = 0x2, + KEYCXX11 = 0x4, + KEYGNU = 0x8, + KEYMS = 0x10, + BOOLSUPPORT = 0x20, + KEYALTIVEC = 0x40, + KEYNOCXX = 0x80, + KEYBORLAND = 0x100, + KEYOPENCLC = 0x200, + KEYC23 = 0x400, + KEYNOMS18 = 0x800, + KEYNOOPENCL = 0x1000, + WCHARSUPPORT = 0x2000, + HALFSUPPORT = 0x4000, + CHAR8SUPPORT = 0x8000, + KEYOBJC = 0x1, + KEYZVECTOR = 0x2, + KEYCOROUTINES = 0x4, + KEYMODULES = 0x8, + KEYCXX20 = 0x10, + KEYOPENCLCXX = 0x20, + KEYMSCOMPAT = 0x40, + KEYSYCL = 0x80, + KEYCUDA = 0x100, + KEYHLSL = 0x200, + KEYFIXEDPOINT = 0x400, + KEYMAX = KEYFIXEDPOINT, // The maximum key + KEYALLCXX = KEYCXX | KEYCXX11 | KEYCXX20, + KEYALL = (KEYMAX | (KEYMAX - 1)) & ~KEYNOMS18 & + ~KEYNOOPENCL // KEYNOMS18 and KEYNOOPENCL are used to exclude. +}; + +/// How a keyword is treated in the selected standard. This enum is ordered +/// intentionally so that the value that 'wins' is the most 'permissive'. +enum KeywordStatus { + KS_Unknown, // Not yet calculated. Used when figuring out the status. + KS_Disabled, // Disabled + KS_Future,// Is a keyword in future standard + KS_Extension, // Is an extension + KS_Enabled, // Enabled +}; } // namespace _______ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [flang] [Flang][Driver] Deprecate Ofast (PR #101701)
llvmbot wrote: @llvm/pr-subscribers-clang @llvm/pr-subscribers-clang-driver Author: Kiran Chandramohan (kiranchandramohan) Changes This is subject to agreement by the Flang community (https://discourse.llvm.org/t/rfc-deprecate-ofast-in-flang/80243). --- Full diff: https://github.com/llvm/llvm-project/pull/101701.diff 4 Files Affected: - (modified) clang/include/clang/Basic/DiagnosticDriverKinds.td (+4) - (modified) clang/include/clang/Driver/Options.td (+4-1) - (modified) clang/lib/Driver/ToolChains/Flang.cpp (+1) - (modified) flang/test/Driver/fast-math.f90 (+5) ``diff diff --git a/clang/include/clang/Basic/DiagnosticDriverKinds.td b/clang/include/clang/Basic/DiagnosticDriverKinds.td index 3d8240f8357b4..e04e74de07435 100644 --- a/clang/include/clang/Basic/DiagnosticDriverKinds.td +++ b/clang/include/clang/Basic/DiagnosticDriverKinds.td @@ -448,6 +448,10 @@ def warn_drv_deprecated_arg_ofast : Warning< "argument '-Ofast' is deprecated; use '-O3 -ffast-math' for the same behavior," " or '-O3' to enable only conforming optimizations">, InGroup; +def warn_drv_deprecated_arg_ofast_for_flang : Warning< + "argument '-Ofast' is deprecated; use '-O3 -ffast-math -fstack-arrays' for the same behavior," + " or '-O3 -fstack-arrays' to enable only conforming optimizations">, + InGroup; def warn_drv_deprecated_custom : Warning< "argument '%0' is deprecated, %1">, InGroup; def warn_drv_assuming_mfloat_abi_is : Warning< diff --git a/clang/include/clang/Driver/Options.td b/clang/include/clang/Driver/Options.td index f690467bb82cd..def5a6db5e6ce 100644 --- a/clang/include/clang/Driver/Options.td +++ b/clang/include/clang/Driver/Options.td @@ -933,7 +933,10 @@ def O_flag : Flag<["-"], "O">, Visibility<[ClangOption, CC1Option, FC1Option]>, def Ofast : Joined<["-"], "Ofast">, Group, Visibility<[ClangOption, CC1Option, FlangOption]>, HelpText<"Deprecated; use '-O3 -ffast-math' for the same behavior," - " or '-O3' to enable only conforming optimizations">; + " or '-O3' to enable only conforming optimizations">, + HelpTextForVariants<[FlangOption], +"Deprecated; use '-O3 -ffast-math -fstack-arrays' for the same behavior," +" or '-O3 -fstack-arrays' to enable only conforming optimizations">; def P : Flag<["-"], "P">, Visibility<[ClangOption, CC1Option, FlangOption, FC1Option]>, Group, diff --git a/clang/lib/Driver/ToolChains/Flang.cpp b/clang/lib/Driver/ToolChains/Flang.cpp index 492d5a3021d9b..c5ec3c26aed9a 100644 --- a/clang/lib/Driver/ToolChains/Flang.cpp +++ b/clang/lib/Driver/ToolChains/Flang.cpp @@ -867,6 +867,7 @@ void Flang::ConstructJob(Compilation , const JobAction , D.Diag(diag::warn_O4_is_O3); } else if (A->getOption().matches(options::OPT_Ofast)) { CmdArgs.push_back("-O3"); + D.Diag(diag::warn_drv_deprecated_arg_ofast_for_flang); } else { A->render(Args, CmdArgs); } diff --git a/flang/test/Driver/fast-math.f90 b/flang/test/Driver/fast-math.f90 index 47175488b98bc..e677432bc04fa 100644 --- a/flang/test/Driver/fast-math.f90 +++ b/flang/test/Driver/fast-math.f90 @@ -1,6 +1,11 @@ ! Test for correct forwarding of fast-math flags from the compiler driver to the ! frontend driver +! Check warning message for Ofast deprecation +! RUN: %flang -Ofast -### %s -o %t 2>&1 | FileCheck %s +! CHECK: warning: argument '-Ofast' is deprecated; use '-O3 -ffast-math -fstack-arrays' for the same behavior, or '-O3 +! -fstack-arrays' to enable only conforming optimizations [-Wdeprecated-ofast] + ! -Ofast => -ffast-math -O3 -fstack-arrays ! RUN: %flang -Ofast -fsyntax-only -### %s -o %t 2>&1 \ ! RUN: | FileCheck --check-prefix=CHECK-OFAST %s `` https://github.com/llvm/llvm-project/pull/101701 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [flang] [Flang][Driver] Deprecate Ofast (PR #101701)
https://github.com/kiranchandramohan created https://github.com/llvm/llvm-project/pull/101701 This is subject to agreement by the Flang community (https://discourse.llvm.org/t/rfc-deprecate-ofast-in-flang/80243). >From 60bd3cf870a078433cfa104bc872ad3083ff1e1c Mon Sep 17 00:00:00 2001 From: Kiran Chandramohan Date: Fri, 19 Jul 2024 12:46:08 + Subject: [PATCH] [Flang][Driver] Deprecate Ofast --- clang/include/clang/Basic/DiagnosticDriverKinds.td | 4 clang/include/clang/Driver/Options.td | 5 - clang/lib/Driver/ToolChains/Flang.cpp | 1 + flang/test/Driver/fast-math.f90| 5 + 4 files changed, 14 insertions(+), 1 deletion(-) diff --git a/clang/include/clang/Basic/DiagnosticDriverKinds.td b/clang/include/clang/Basic/DiagnosticDriverKinds.td index 3d8240f8357b4..e04e74de07435 100644 --- a/clang/include/clang/Basic/DiagnosticDriverKinds.td +++ b/clang/include/clang/Basic/DiagnosticDriverKinds.td @@ -448,6 +448,10 @@ def warn_drv_deprecated_arg_ofast : Warning< "argument '-Ofast' is deprecated; use '-O3 -ffast-math' for the same behavior," " or '-O3' to enable only conforming optimizations">, InGroup; +def warn_drv_deprecated_arg_ofast_for_flang : Warning< + "argument '-Ofast' is deprecated; use '-O3 -ffast-math -fstack-arrays' for the same behavior," + " or '-O3 -fstack-arrays' to enable only conforming optimizations">, + InGroup; def warn_drv_deprecated_custom : Warning< "argument '%0' is deprecated, %1">, InGroup; def warn_drv_assuming_mfloat_abi_is : Warning< diff --git a/clang/include/clang/Driver/Options.td b/clang/include/clang/Driver/Options.td index f690467bb82cd..def5a6db5e6ce 100644 --- a/clang/include/clang/Driver/Options.td +++ b/clang/include/clang/Driver/Options.td @@ -933,7 +933,10 @@ def O_flag : Flag<["-"], "O">, Visibility<[ClangOption, CC1Option, FC1Option]>, def Ofast : Joined<["-"], "Ofast">, Group, Visibility<[ClangOption, CC1Option, FlangOption]>, HelpText<"Deprecated; use '-O3 -ffast-math' for the same behavior," - " or '-O3' to enable only conforming optimizations">; + " or '-O3' to enable only conforming optimizations">, + HelpTextForVariants<[FlangOption], +"Deprecated; use '-O3 -ffast-math -fstack-arrays' for the same behavior," +" or '-O3 -fstack-arrays' to enable only conforming optimizations">; def P : Flag<["-"], "P">, Visibility<[ClangOption, CC1Option, FlangOption, FC1Option]>, Group, diff --git a/clang/lib/Driver/ToolChains/Flang.cpp b/clang/lib/Driver/ToolChains/Flang.cpp index 492d5a3021d9b..c5ec3c26aed9a 100644 --- a/clang/lib/Driver/ToolChains/Flang.cpp +++ b/clang/lib/Driver/ToolChains/Flang.cpp @@ -867,6 +867,7 @@ void Flang::ConstructJob(Compilation , const JobAction , D.Diag(diag::warn_O4_is_O3); } else if (A->getOption().matches(options::OPT_Ofast)) { CmdArgs.push_back("-O3"); + D.Diag(diag::warn_drv_deprecated_arg_ofast_for_flang); } else { A->render(Args, CmdArgs); } diff --git a/flang/test/Driver/fast-math.f90 b/flang/test/Driver/fast-math.f90 index 47175488b98bc..e677432bc04fa 100644 --- a/flang/test/Driver/fast-math.f90 +++ b/flang/test/Driver/fast-math.f90 @@ -1,6 +1,11 @@ ! Test for correct forwarding of fast-math flags from the compiler driver to the ! frontend driver +! Check warning message for Ofast deprecation +! RUN: %flang -Ofast -### %s -o %t 2>&1 | FileCheck %s +! CHECK: warning: argument '-Ofast' is deprecated; use '-O3 -ffast-math -fstack-arrays' for the same behavior, or '-O3 +! -fstack-arrays' to enable only conforming optimizations [-Wdeprecated-ofast] + ! -Ofast => -ffast-math -O3 -fstack-arrays ! RUN: %flang -Ofast -fsyntax-only -### %s -o %t 2>&1 \ ! RUN: | FileCheck --check-prefix=CHECK-OFAST %s ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [NFC] Format TokenKey enum (PR #101700)
github-actions[bot] wrote: :warning: C/C++ code formatter, clang-format found issues in your code. :warning: You can test this locally with the following command: ``bash git-clang-format --diff 8bfa089e5bfb9f26e05b9cefa9065ca7f97406ce be425ea61ed9b45839e5dff517797cd1c1e42c5a --extensions cpp -- clang/lib/Basic/IdentifierTable.cpp `` View the diff from clang-format here. ``diff diff --git a/clang/lib/Basic/IdentifierTable.cpp b/clang/lib/Basic/IdentifierTable.cpp index 81e7e6d3fc..9cf081e9e2 100644 --- a/clang/lib/Basic/IdentifierTable.cpp +++ b/clang/lib/Basic/IdentifierTable.cpp @@ -82,47 +82,47 @@ IdentifierTable::IdentifierTable(const LangOptions , namespace { enum TokenKey : unsigned { - KEYC99= 0x1, - KEYCXX= 0x2, - KEYCXX11 = 0x4, - KEYGNU= 0x8, - KEYMS = 0x10, - BOOLSUPPORT = 0x20, - KEYALTIVEC= 0x40, - KEYNOCXX = 0x80, - KEYBORLAND= 0x100, - KEYOPENCLC= 0x200, - KEYC23= 0x400, - KEYNOMS18 = 0x800, - KEYNOOPENCL = 0x1000, - WCHARSUPPORT = 0x2000, - HALFSUPPORT = 0x4000, - CHAR8SUPPORT = 0x8000, - KEYOBJC = 0x1, - KEYZVECTOR= 0x2, + KEYC99 = 0x1, + KEYCXX = 0x2, + KEYCXX11 = 0x4, + KEYGNU = 0x8, + KEYMS = 0x10, + BOOLSUPPORT = 0x20, + KEYALTIVEC = 0x40, + KEYNOCXX = 0x80, + KEYBORLAND = 0x100, + KEYOPENCLC = 0x200, + KEYC23 = 0x400, + KEYNOMS18 = 0x800, + KEYNOOPENCL = 0x1000, + WCHARSUPPORT = 0x2000, + HALFSUPPORT = 0x4000, + CHAR8SUPPORT = 0x8000, + KEYOBJC = 0x1, + KEYZVECTOR = 0x2, KEYCOROUTINES = 0x4, - KEYMODULES= 0x8, - KEYCXX20 = 0x10, - KEYOPENCLCXX = 0x20, - KEYMSCOMPAT = 0x40, - KEYSYCL = 0x80, - KEYCUDA = 0x100, - KEYHLSL = 0x200, + KEYMODULES = 0x8, + KEYCXX20 = 0x10, + KEYOPENCLCXX = 0x20, + KEYMSCOMPAT = 0x40, + KEYSYCL = 0x80, + KEYCUDA = 0x100, + KEYHLSL = 0x200, KEYFIXEDPOINT = 0x400, - KEYMAX= KEYFIXEDPOINT, // The maximum key + KEYMAX = KEYFIXEDPOINT, // The maximum key KEYALLCXX = KEYCXX | KEYCXX11 | KEYCXX20, - KEYALL = (KEYMAX | (KEYMAX-1)) & ~KEYNOMS18 & + KEYALL = (KEYMAX | (KEYMAX - 1)) & ~KEYNOMS18 & ~KEYNOOPENCL // KEYNOMS18 and KEYNOOPENCL are used to exclude. }; /// How a keyword is treated in the selected standard. This enum is ordered /// intentionally so that the value that 'wins' is the most 'permissive'. enum KeywordStatus { - KS_Unknown, // Not yet calculated. Used when figuring out the status. - KS_Disabled,// Disabled - KS_Future, // Is a keyword in future standard - KS_Extension, // Is an extension - KS_Enabled, // Enabled + KS_Unknown, // Not yet calculated. Used when figuring out the status. + KS_Disabled, // Disabled + KS_Future,// Is a keyword in future standard + KS_Extension, // Is an extension + KS_Enabled, // Enabled }; } // namespace `` https://github.com/llvm/llvm-project/pull/101700 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [Driver] Restrict Ofast deprecation help message to Clang (PR #101682)
https://github.com/AaronBallman approved this pull request. Thank you! Changes LGTM; please give @MaskRay a day before landing though, in case he's got concerns. Once this lands, we should cherry-pick to 19.x https://github.com/llvm/llvm-project/pull/101682 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [Driver] Restrict Ofast deprecation help message to Clang (PR #101682)
https://github.com/AaronBallman edited https://github.com/llvm/llvm-project/pull/101682 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [Driver] Restrict Ofast deprecation help message to Clang (PR #101682)
@@ -932,8 +932,9 @@ def O_flag : Flag<["-"], "O">, Visibility<[ClangOption, CC1Option, FC1Option]>, Alias, AliasArgs<["1"]>; def Ofast : Joined<["-"], "Ofast">, Group, Visibility<[ClangOption, CC1Option, FlangOption]>, - HelpText<"Deprecated; use '-O3 -ffast-math' for the same behavior," - " or '-O3' to enable only conforming optimizations">; + HelpTextForVariants<[ClangOption,CC1Option], AaronBallman wrote: ```suggestion HelpTextForVariants<[ClangOption, CC1Option], ``` https://github.com/llvm/llvm-project/pull/101682 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [NFC] Format TokenKey enum (PR #101700)
https://github.com/abhina-sree edited https://github.com/llvm/llvm-project/pull/101700 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [NFC] Format TokenKey enum (PR #101700)
llvmbot wrote: @llvm/pr-subscribers-clang Author: Abhina Sree (abhina-sree) Changes This is to fix the suggested formatting fix seen here https://github.com/llvm/llvm-project/pull/96063 --- Full diff: https://github.com/llvm/llvm-project/pull/101700.diff 1 Files Affected: - (modified) clang/lib/Basic/IdentifierTable.cpp (+43-43) ``diff diff --git a/clang/lib/Basic/IdentifierTable.cpp b/clang/lib/Basic/IdentifierTable.cpp index 4f7ccaf4021d6..81e7e6d3fcfda 100644 --- a/clang/lib/Basic/IdentifierTable.cpp +++ b/clang/lib/Basic/IdentifierTable.cpp @@ -81,49 +81,49 @@ IdentifierTable::IdentifierTable(const LangOptions , // Constants for TokenKinds.def namespace { - enum TokenKey : unsigned { -KEYC99= 0x1, -KEYCXX= 0x2, -KEYCXX11 = 0x4, -KEYGNU= 0x8, -KEYMS = 0x10, -BOOLSUPPORT = 0x20, -KEYALTIVEC= 0x40, -KEYNOCXX = 0x80, -KEYBORLAND= 0x100, -KEYOPENCLC= 0x200, -KEYC23= 0x400, -KEYNOMS18 = 0x800, -KEYNOOPENCL = 0x1000, -WCHARSUPPORT = 0x2000, -HALFSUPPORT = 0x4000, -CHAR8SUPPORT = 0x8000, -KEYOBJC = 0x1, -KEYZVECTOR= 0x2, -KEYCOROUTINES = 0x4, -KEYMODULES= 0x8, -KEYCXX20 = 0x10, -KEYOPENCLCXX = 0x20, -KEYMSCOMPAT = 0x40, -KEYSYCL = 0x80, -KEYCUDA = 0x100, -KEYHLSL = 0x200, -KEYFIXEDPOINT = 0x400, -KEYMAX= KEYFIXEDPOINT, // The maximum key -KEYALLCXX = KEYCXX | KEYCXX11 | KEYCXX20, -KEYALL = (KEYMAX | (KEYMAX-1)) & ~KEYNOMS18 & - ~KEYNOOPENCL // KEYNOMS18 and KEYNOOPENCL are used to exclude. - }; - - /// How a keyword is treated in the selected standard. This enum is ordered - /// intentionally so that the value that 'wins' is the most 'permissive'. - enum KeywordStatus { -KS_Unknown, // Not yet calculated. Used when figuring out the status. -KS_Disabled,// Disabled -KS_Future, // Is a keyword in future standard -KS_Extension, // Is an extension -KS_Enabled, // Enabled - }; +enum TokenKey : unsigned { + KEYC99= 0x1, + KEYCXX= 0x2, + KEYCXX11 = 0x4, + KEYGNU= 0x8, + KEYMS = 0x10, + BOOLSUPPORT = 0x20, + KEYALTIVEC= 0x40, + KEYNOCXX = 0x80, + KEYBORLAND= 0x100, + KEYOPENCLC= 0x200, + KEYC23= 0x400, + KEYNOMS18 = 0x800, + KEYNOOPENCL = 0x1000, + WCHARSUPPORT = 0x2000, + HALFSUPPORT = 0x4000, + CHAR8SUPPORT = 0x8000, + KEYOBJC = 0x1, + KEYZVECTOR= 0x2, + KEYCOROUTINES = 0x4, + KEYMODULES= 0x8, + KEYCXX20 = 0x10, + KEYOPENCLCXX = 0x20, + KEYMSCOMPAT = 0x40, + KEYSYCL = 0x80, + KEYCUDA = 0x100, + KEYHLSL = 0x200, + KEYFIXEDPOINT = 0x400, + KEYMAX= KEYFIXEDPOINT, // The maximum key + KEYALLCXX = KEYCXX | KEYCXX11 | KEYCXX20, + KEYALL = (KEYMAX | (KEYMAX-1)) & ~KEYNOMS18 & + ~KEYNOOPENCL // KEYNOMS18 and KEYNOOPENCL are used to exclude. +}; + +/// How a keyword is treated in the selected standard. This enum is ordered +/// intentionally so that the value that 'wins' is the most 'permissive'. +enum KeywordStatus { + KS_Unknown, // Not yet calculated. Used when figuring out the status. + KS_Disabled,// Disabled + KS_Future, // Is a keyword in future standard + KS_Extension, // Is an extension + KS_Enabled, // Enabled +}; } // namespace `` https://github.com/llvm/llvm-project/pull/101700 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [NFC] Format TokenKey enum (PR #101700)
https://github.com/abhina-sree edited https://github.com/llvm/llvm-project/pull/101700 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [NFC] Format TokenKey enum (PR #101700)
https://github.com/abhina-sree created https://github.com/llvm/llvm-project/pull/101700 This is to fix the suggested formatting error seen here https://github.com/llvm/llvm-project/pull/96063 >From be425ea61ed9b45839e5dff517797cd1c1e42c5a Mon Sep 17 00:00:00 2001 From: Abhina Sreeskantharajan Date: Fri, 2 Aug 2024 11:56:22 -0400 Subject: [PATCH] [NFC] format TokenKey enum --- clang/lib/Basic/IdentifierTable.cpp | 86 ++--- 1 file changed, 43 insertions(+), 43 deletions(-) diff --git a/clang/lib/Basic/IdentifierTable.cpp b/clang/lib/Basic/IdentifierTable.cpp index 4f7ccaf4021d6..81e7e6d3fcfda 100644 --- a/clang/lib/Basic/IdentifierTable.cpp +++ b/clang/lib/Basic/IdentifierTable.cpp @@ -81,49 +81,49 @@ IdentifierTable::IdentifierTable(const LangOptions , // Constants for TokenKinds.def namespace { - enum TokenKey : unsigned { -KEYC99= 0x1, -KEYCXX= 0x2, -KEYCXX11 = 0x4, -KEYGNU= 0x8, -KEYMS = 0x10, -BOOLSUPPORT = 0x20, -KEYALTIVEC= 0x40, -KEYNOCXX = 0x80, -KEYBORLAND= 0x100, -KEYOPENCLC= 0x200, -KEYC23= 0x400, -KEYNOMS18 = 0x800, -KEYNOOPENCL = 0x1000, -WCHARSUPPORT = 0x2000, -HALFSUPPORT = 0x4000, -CHAR8SUPPORT = 0x8000, -KEYOBJC = 0x1, -KEYZVECTOR= 0x2, -KEYCOROUTINES = 0x4, -KEYMODULES= 0x8, -KEYCXX20 = 0x10, -KEYOPENCLCXX = 0x20, -KEYMSCOMPAT = 0x40, -KEYSYCL = 0x80, -KEYCUDA = 0x100, -KEYHLSL = 0x200, -KEYFIXEDPOINT = 0x400, -KEYMAX= KEYFIXEDPOINT, // The maximum key -KEYALLCXX = KEYCXX | KEYCXX11 | KEYCXX20, -KEYALL = (KEYMAX | (KEYMAX-1)) & ~KEYNOMS18 & - ~KEYNOOPENCL // KEYNOMS18 and KEYNOOPENCL are used to exclude. - }; - - /// How a keyword is treated in the selected standard. This enum is ordered - /// intentionally so that the value that 'wins' is the most 'permissive'. - enum KeywordStatus { -KS_Unknown, // Not yet calculated. Used when figuring out the status. -KS_Disabled,// Disabled -KS_Future, // Is a keyword in future standard -KS_Extension, // Is an extension -KS_Enabled, // Enabled - }; +enum TokenKey : unsigned { + KEYC99= 0x1, + KEYCXX= 0x2, + KEYCXX11 = 0x4, + KEYGNU= 0x8, + KEYMS = 0x10, + BOOLSUPPORT = 0x20, + KEYALTIVEC= 0x40, + KEYNOCXX = 0x80, + KEYBORLAND= 0x100, + KEYOPENCLC= 0x200, + KEYC23= 0x400, + KEYNOMS18 = 0x800, + KEYNOOPENCL = 0x1000, + WCHARSUPPORT = 0x2000, + HALFSUPPORT = 0x4000, + CHAR8SUPPORT = 0x8000, + KEYOBJC = 0x1, + KEYZVECTOR= 0x2, + KEYCOROUTINES = 0x4, + KEYMODULES= 0x8, + KEYCXX20 = 0x10, + KEYOPENCLCXX = 0x20, + KEYMSCOMPAT = 0x40, + KEYSYCL = 0x80, + KEYCUDA = 0x100, + KEYHLSL = 0x200, + KEYFIXEDPOINT = 0x400, + KEYMAX= KEYFIXEDPOINT, // The maximum key + KEYALLCXX = KEYCXX | KEYCXX11 | KEYCXX20, + KEYALL = (KEYMAX | (KEYMAX-1)) & ~KEYNOMS18 & + ~KEYNOOPENCL // KEYNOMS18 and KEYNOOPENCL are used to exclude. +}; + +/// How a keyword is treated in the selected standard. This enum is ordered +/// intentionally so that the value that 'wins' is the most 'permissive'. +enum KeywordStatus { + KS_Unknown, // Not yet calculated. Used when figuring out the status. + KS_Disabled,// Disabled + KS_Future, // Is a keyword in future standard + KS_Extension, // Is an extension + KS_Enabled, // Enabled +}; } // namespace _______ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[Lldb-commits] [lldb] [lldb][ClangExpressionParser][NFC] Factor LangOptions logic out of ClangExpressionParser constructor (PR #101669)
https://github.com/Michael137 edited https://github.com/llvm/llvm-project/pull/101669 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
[llvm-branch-commits] [llvm] AMDGPU: Stop handling legacy amdgpu-unsafe-fp-atomics attribute (PR #101699)
%.*]] = cmpxchg ptr addrspace(1) [[PTR]], i32 [[TMP3]], i32 [[TMP2]] syncscope("wavefront") monotonic monotonic, align 4 @@ -1289,12 +1289,12 @@ define void @test_atomicrmw_fadd_f32_global_no_use_unsafe_structfp(ptr addrspace ; CI: atomicrmw.end: ; CI-NEXT:ret void ; -; GFX9-LABEL: @test_atomicrmw_fadd_f32_global_no_use_unsafe_structfp( +; GFX9-LABEL: @test_atomicrmw_fadd_f32_global_no_use_unsafe_strictfp( ; GFX9-NEXT:[[TMP1:%.*]] = load float, ptr addrspace(1) [[PTR:%.*]], align 4 ; GFX9-NEXT:br label [[ATOMICRMW_START:%.*]] ; GFX9: atomicrmw.start: ; GFX9-NEXT:[[LOADED:%.*]] = phi float [ [[TMP1]], [[TMP0:%.*]] ], [ [[TMP5:%.*]], [[ATOMICRMW_START]] ] -; GFX9-NEXT:[[NEW:%.*]] = call float @llvm.experimental.constrained.fadd.f32(float [[LOADED]], float [[VALUE:%.*]], metadata !"round.dynamic", metadata !"fpexcept.strict") #[[ATTR10:[0-9]+]] +; GFX9-NEXT:[[NEW:%.*]] = call float @llvm.experimental.constrained.fadd.f32(float [[LOADED]], float [[VALUE:%.*]], metadata !"round.dynamic", metadata !"fpexcept.strict") #[[ATTR8:[0-9]+]] ; GFX9-NEXT:[[TMP2:%.*]] = bitcast float [[NEW]] to i32 ; GFX9-NEXT:[[TMP3:%.*]] = bitcast float [[LOADED]] to i32 ; GFX9-NEXT:[[TMP4:%.*]] = cmpxchg ptr addrspace(1) [[PTR]], i32 [[TMP3]], i32 [[TMP2]] syncscope("wavefront") monotonic monotonic, align 4 @@ -1305,23 +1305,23 @@ define void @test_atomicrmw_fadd_f32_global_no_use_unsafe_structfp(ptr addrspace ; GFX9: atomicrmw.end: ; GFX9-NEXT:ret void ; -; GFX908-LABEL: @test_atomicrmw_fadd_f32_global_no_use_unsafe_structfp( -; GFX908-NEXT:[[RES:%.*]] = atomicrmw fadd ptr addrspace(1) [[PTR:%.*]], float [[VALUE:%.*]] syncscope("wavefront") monotonic, align 4 +; GFX908-LABEL: @test_atomicrmw_fadd_f32_global_no_use_unsafe_strictfp( +; GFX908-NEXT:[[RES:%.*]] = atomicrmw fadd ptr addrspace(1) [[PTR:%.*]], float [[VALUE:%.*]] syn... [truncated] `` https://github.com/llvm/llvm-project/pull/101699 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [llvm] AMDGPU: Stop handling legacy amdgpu-unsafe-fp-atomics attribute (PR #101699)
https://github.com/arsenm ready_for_review https://github.com/llvm/llvm-project/pull/101699 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[Lldb-commits] [lldb] [lldb][ClangExpressionParser][NFC] Factor LangOptions logic out of ClangExpressionParser constructor (PR #101669)
@@ -615,6 +484,147 @@ ClangExpressionParser::ClangExpressionParser( // 'fopen'). Those libc functions are already correctly handled by LLDB, and // additionally enabling them as expandable builtins is breaking Clang. lang_opts.NoBuiltin = true; +} + +static void SetupImportStdModuleLangOpts(CompilerInstance ) { + LangOptions _opts = compiler.getLangOpts(); + lang_opts.Modules = true; + // We want to implicitly build modules. + lang_opts.ImplicitModules = true; + // To automatically import all submodules when we import 'std'. + lang_opts.ModulesLocalVisibility = false; + + // We use the @import statements, so we need this: + // FIXME: We could use the modules-ts, but that currently doesn't work. + lang_opts.ObjC = true; + + // Options we need to parse libc++ code successfully. + // FIXME: We should ask the driver for the appropriate default flags. + lang_opts.GNUMode = true; + lang_opts.GNUKeywords = true; + lang_opts.CPlusPlus11 = true; + lang_opts.BuiltinHeadersInSystemModules = true; + + // The Darwin libc expects this macro to be set. + lang_opts.GNUCVersion = 40201; +} + +//===--===// +// Implementation of ClangExpressionParser +//===--===// + +ClangExpressionParser::ClangExpressionParser( +ExecutionContextScope *exe_scope, Expression , +bool generate_debug_info, std::vector include_directories, +std::string filename) +: ExpressionParser(exe_scope, expr, generate_debug_info), m_compiler(), + m_pp_callbacks(nullptr), + m_include_directories(std::move(include_directories)), + m_filename(std::move(filename)) { + Log *log = GetLog(LLDBLog::Expressions); + + // We can't compile expressions without a target. So if the exe_scope is + // null or doesn't have a target, then we just need to get out of here. I'll + // lldbassert and not make any of the compiler objects since + // I can't return errors directly from the constructor. Further calls will + // check if the compiler was made and + // bag out if it wasn't. + + if (!exe_scope) { +lldbassert(exe_scope && + "Can't make an expression parser with a null scope."); +return; + } + + lldb::TargetSP target_sp; + target_sp = exe_scope->CalculateTarget(); + if (!target_sp) { +lldbassert(target_sp.get() && + "Can't make an expression parser with a null target."); +return; + } + + // 1. Create a new compiler instance. + m_compiler = std::make_unique(); Michael137 wrote: Yea this is how it always was. Didn't want to go too crazy with the refactor. We actually don't want to create the manually `CompilerInstance` in the future anyway. So there's a good chance this goes away soon https://github.com/llvm/llvm-project/pull/101669 ___________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
[Lldb-commits] [lldb] Reland "[lldb] Reland 2402b3213c2f with `/H` to debug the windows build issue (PR #101672)
https://github.com/medismailben closed https://github.com/llvm/llvm-project/pull/101672 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
[Lldb-commits] [lldb] 9d07f43 - Reland "[lldb] Reland 2402b3213c2f with `/H` to debug the windows build issue (#101672)
riptedThreadPythonInterface.h" + +// Included in this position to prevent redefinition of pid_t on Windows. +#include "lldb/Target/Process.h" +//clang-format off + #include using namespace lldb; @@ -29,6 +34,8 @@ using namespace lldb_private; using namespace lldb_private::python; using Locker = ScriptInterpreterPythonImpl::Locker; +LLDB_PLUGIN_DEFINE_ADV(ScriptedProcessPythonInterface, ScriptInterpreterPythonScriptedProcessPythonInterface) + ScriptedProcessPythonInterface::ScriptedProcessPythonInterface( ScriptInterpreterPythonImpl ) : ScriptedProcessInterface(), ScriptedPythonInterface(interpreter) {} @@ -208,4 +215,24 @@ StructuredData::DictionarySP ScriptedProcessPythonInterface::GetMetadata() { return dict; } +void ScriptedProcessPythonInterface::Initialize() { + const std::vector ci_usages = { + "process attach -C [-k key -v value ...]", + "process launch -C [-k key -v value ...]"}; + const std::vector api_usages = { + "SBAttachInfo.SetScriptedProcessClassName", + "SBAttachInfo.SetScriptedProcessDictionary", + "SBTarget.Attach", + "SBLaunchInfo.SetScriptedProcessClassName", + "SBLaunchInfo.SetScriptedProcessDictionary", + "SBTarget.Launch"}; + PluginManager::RegisterPlugin( + GetPluginNameStatic(), llvm::StringRef("Mock process state"), + CreateInstance, eScriptLanguagePython, {ci_usages, api_usages}); +} + +void ScriptedProcessPythonInterface::Terminate() { + PluginManager::UnregisterPlugin(CreateInstance); +} + #endif diff --git a/lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface.h b/lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface/ScriptedProcessPythonInterface.h similarity index 88% rename from lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface.h rename to lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface/ScriptedProcessPythonInterface.h index c75caa9340f25..bb27734739f43 100644 --- a/lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface.h +++ b/lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface/ScriptedProcessPythonInterface.h @@ -10,16 +10,18 @@ #define LLDB_PLUGINS_SCRIPTINTERPRETER_PYTHON_INTERFACES_SCRIPTEDPROCESSPYTHONINTERFACE_H #include "lldb/Host/Config.h" +#include "lldb/Interpreter/Interfaces/ScriptedProcessInterface.h" #if LLDB_ENABLE_PYTHON -#include "ScriptedPythonInterface.h" -#include "lldb/Interpreter/Interfaces/ScriptedProcessInterface.h" +#include "../ScriptedPythonInterface.h" + #include namespace lldb_private { class ScriptedProcessPythonInterface : public ScriptedProcessInterface, - public ScriptedPythonInterface { + public ScriptedPythonInterface, + public PluginInterface { public: ScriptedProcessPythonInterface(ScriptInterpreterPythonImpl ); @@ -67,6 +69,16 @@ class ScriptedProcessPythonInterface : public ScriptedProcessInterface, StructuredData::DictionarySP GetMetadata() override; + static void Initialize(); + + static void Terminate(); + + static llvm::StringRef GetPluginNameStatic() { +return "ScriptedProcessPythonInterface"; + } + + llvm::StringRef GetPluginName() override { return GetPluginNameStatic(); } + private: lldb::ScriptedThreadInterfaceSP CreateScriptedThreadInterface() override; }; diff --git a/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp b/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp index d34fdf14122f2..a78c76b5f94ff 100644 --- a/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp +++ b/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp @@ -16,7 +16,7 @@ #include "Interfaces/OperatingSystemPythonInterface/OperatingSystemPythonInterface.h" #include "Interfaces/ScriptedPlatformPythonInterface/ScriptedPlatformPythonInterface.h" -#include "Interfaces/ScriptedProcessPythonInterface.h" +#include "Interfaces/ScriptedProcessPythonInterface/ScriptedProcessPythonInterface.h" #include "Interfaces/ScriptedThreadPlanPythonInterface/ScriptedThreadPlanPythonInterface.h" #include "PythonDataObjects.h" #include "PythonReadline.h" ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
[llvm-branch-commits] [llvm] AMDGPU: Stop handling legacy amdgpu-unsafe-fp-atomics attribute (PR #101699)
arsenm wrote: > [!WARNING] > This pull request is not mergeable via GitHub because a downstack PR is > open. Once all requirements are satisfied, merge this PR as a stack href="https://app.graphite.dev/github/pr/llvm/llvm-project/101699?utm_source=stack-comment-downstack-mergeability-warning; > >on Graphite. > https://graphite.dev/docs/merge-pull-requests;>Learn more * **#101699** https://app.graphite.dev/github/pr/llvm/llvm-project/101699?utm_source=stack-comment-icon; target="_blank">https://static.graphite.dev/graphite-32x32-black.png; alt="Graphite" width="10px" height="10px"/> * **#101698** https://app.graphite.dev/github/pr/llvm/llvm-project/101698?utm_source=stack-comment-icon; target="_blank">https://static.graphite.dev/graphite-32x32-black.png; alt="Graphite" width="10px" height="10px"/> * **#97051** https://app.graphite.dev/github/pr/llvm/llvm-project/97051?utm_source=stack-comment-icon; target="_blank">https://static.graphite.dev/graphite-32x32-black.png; alt="Graphite" width="10px" height="10px"/> * **#97050** https://app.graphite.dev/github/pr/llvm/llvm-project/97050?utm_source=stack-comment-icon; target="_blank">https://static.graphite.dev/graphite-32x32-black.png; alt="Graphite" width="10px" height="10px"/> * **#96876** https://app.graphite.dev/github/pr/llvm/llvm-project/96876?utm_source=stack-comment-icon; target="_blank">https://static.graphite.dev/graphite-32x32-black.png; alt="Graphite" width="10px" height="10px"/> * **#96875** https://app.graphite.dev/github/pr/llvm/llvm-project/96875?utm_source=stack-comment-icon; target="_blank">https://static.graphite.dev/graphite-32x32-black.png; alt="Graphite" width="10px" height="10px"/> * **#96874** https://app.graphite.dev/github/pr/llvm/llvm-project/96874?utm_source=stack-comment-icon; target="_blank">https://static.graphite.dev/graphite-32x32-black.png; alt="Graphite" width="10px" height="10px"/> * **#96873** https://app.graphite.dev/github/pr/llvm/llvm-project/96873?utm_source=stack-comment-icon; target="_blank">https://static.graphite.dev/graphite-32x32-black.png; alt="Graphite" width="10px" height="10px"/> * **#96872** https://app.graphite.dev/github/pr/llvm/llvm-project/96872?utm_source=stack-comment-icon; target="_blank">https://static.graphite.dev/graphite-32x32-black.png; alt="Graphite" width="10px" height="10px"/> * **#96760** https://app.graphite.dev/github/pr/llvm/llvm-project/96760?utm_source=stack-comment-icon; target="_blank">https://static.graphite.dev/graphite-32x32-black.png; alt="Graphite" width="10px" height="10px"/> * **#96759** https://app.graphite.dev/github/pr/llvm/llvm-project/96759?utm_source=stack-comment-icon; target="_blank">https://static.graphite.dev/graphite-32x32-black.png; alt="Graphite" width="10px" height="10px"/> * **#96444** https://app.graphite.dev/github/pr/llvm/llvm-project/96444?utm_source=stack-comment-icon; target="_blank">https://static.graphite.dev/graphite-32x32-black.png; alt="Graphite" width="10px" height="10px"/> * **#96443** https://app.graphite.dev/github/pr/llvm/llvm-project/96443?utm_source=stack-comment-icon; target="_blank">https://static.graphite.dev/graphite-32x32-black.png; alt="Graphite" width="10px" height="10px"/> * **#96442** https://app.graphite.dev/github/pr/llvm/llvm-project/96442?utm_source=stack-comment-icon; target="_blank">https://static.graphite.dev/graphite-32x32-black.png; alt="Graphite" width="10px" height="10px"/> * **#95930** https://app.graphite.dev/github/pr/llvm/llvm-project/95930?utm_source=stack-comment-icon; target="_blank">https://static.graphite.dev/graphite-32x32-black.png; alt="Graphite" width="10px" height="10px"/> * **#95929** https://app.graphite.dev/github/pr/llvm/llvm-project/95929?utm_source=stack-comment-icon; target="_blank">https://static.graphite.dev/graphite-32x32-black.png; alt="Graphite" width="10px" height="10px"/> * `main` This stack of pull requests is managed by Graphite. https://stacking.dev/?utm_source=stack-comment;>Learn more about stacking. Join @arsenm and the rest of your teammates on https://graphite.dev?utm-source=stack-comment;>https://static.graphite.dev/graphite-32x32-black.png; alt="Graphite" width="11px" height="11px"/> Graphite https://github.com/llvm/llvm-project/pull/101699 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [llvm] IR/AMDGPU: Autoupgrade amdgpu-unsafe-fp-atomics attribute (PR #101698)
pu.no.remote.memory.access [[META0]], !amdgpu.ignore.denormal.mode [[META0]] +; CHECK-NEXT:[[RMW_FSUB_VECTOR:%.*]] = atomicrmw fsub ptr addrspace(1) [[PTR]], <2 x half> [[VVAL]] syncscope("one-as") seq_cst, align 4, !amdgpu.no.fine.grained.host.memory [[META0]], !amdgpu.no.remote.memory.access [[META0]], !amdgpu.ignore.denormal.mode [[META0]] +; CHECK-NEXT:[[RMW_FMIN_VECTOR:%.*]] = atomicrmw fmin ptr addrspace(1) [[PTR]], <2 x half> [[VVAL]] syncscope("one-as") seq_cst, align 4, !amdgpu.no.fine.grained.host.memory [[META0]], !amdgpu.no.remote.memory.access [[META0]], !amdgpu.ignore.denormal.mode [[META0]] +; CHECK-NEXT:[[RMW_FMAX_VECTOR:%.*]] = atomicrmw fmax ptr addrspace(1) [[PTR]], <2 x half> [[VVAL]] syncscope("one-as") seq_cst, align 4, !amdgpu.no.fine.grained.host.memory [[META0]], !amdgpu.no.remote.memory.access [[META0]], !amdgpu.ignore.denormal.mode [[META0]] +; CHECK-NEXT:[[RMW_XCHG:%.*]] = atomicrmw xchg ptr addrspace(1) [[PTR]], float [[VAL]] syncscope("one-as") seq_cst, align 4 +; CHECK-NEXT:ret void +; + %rmw.fadd = atomicrmw fadd ptr addrspace(1) %ptr, float %val syncscope("one-as") seq_cst + %rmw.fsub = atomicrmw fsub ptr addrspace(1) %ptr, float %val syncscope("one-as") seq_cst + %rmw.fmin = atomicrmw fmin ptr addrspace(1) %ptr, float %val syncscope("one-as") seq_cst + %rmw.fmax = atomicrmw fmax ptr addrspace(1) %ptr, float %val syncscope("one-as") seq_cst + %rmw.xor = atomicrmw xor ptr addrspace(1) %ptr, i32 %ival syncscope("one-as") seq_cst + %rmw.fadd.vector = atomicrmw fadd ptr addrspace(1) %ptr, <2 x half> %vval syncscope("one-as") seq_cst + %rmw.fsub.vector = atomicrmw fsub ptr addrspace(1) %ptr, <2 x half> %vval syncscope("one-as") seq_cst + %rmw.fmin.vector = atomicrmw fmin ptr addrspace(1) %ptr, <2 x half> %vval syncscope("one-as") seq_cst + %rmw.fmax.vector = atomicrmw fmax ptr addrspace(1) %ptr, <2 x half> %vval syncscope("one-as") seq_cst + + ; xchg doesn't need any metadata + %rmw.xchg = atomicrmw xchg ptr addrspace(1) %ptr, float %val syncscope("one-as") seq_cst + ret void +} + +; Should just delete the effectless attribute if it exists +define void @unsafe_fp_atomics_false(ptr addrspace(1) %ptr, float %val, i32 %ival, <2 x half> %vval) "amdgpu-unsafe-fp-atomics"="false" { +; CHECK-LABEL: define void @unsafe_fp_atomics_false( +; CHECK-SAME: ptr addrspace(1) [[PTR:%.*]], float [[VAL:%.*]], i32 [[IVAL:%.*]], <2 x half> [[VVAL:%.*]]) { +; CHECK-NEXT:[[RMW_FADD:%.*]] = atomicrmw fadd ptr addrspace(1) [[PTR]], float [[VAL]] syncscope("one-as") seq_cst, align 4 +; CHECK-NEXT:[[RMW_FSUB:%.*]] = atomicrmw fsub ptr addrspace(1) [[PTR]], float [[VAL]] syncscope("one-as") seq_cst, align 4 +; CHECK-NEXT:[[RMW_FMIN:%.*]] = atomicrmw fmin ptr addrspace(1) [[PTR]], float [[VAL]] syncscope("one-as") seq_cst, align 4 +; CHECK-NEXT:[[RMW_FMAX:%.*]] = atomicrmw fmax ptr addrspace(1) [[PTR]], float [[VAL]] syncscope("one-as") seq_cst, align 4 +; CHECK-NEXT:[[RMW_XOR:%.*]] = atomicrmw xor ptr addrspace(1) [[PTR]], i32 [[IVAL]] syncscope("one-as") seq_cst, align 4 +; CHECK-NEXT:[[RMW_FADD_VECTOR:%.*]] = atomicrmw fadd ptr addrspace(1) [[PTR]], <2 x half> [[VVAL]] syncscope("one-as") seq_cst, align 4 +; CHECK-NEXT:[[RMW_FSUB_VECTOR:%.*]] = atomicrmw fsub ptr addrspace(1) [[PTR]], <2 x half> [[VVAL]] syncscope("one-as") seq_cst, align 4 +; CHECK-NEXT:[[RMW_FMIN_VECTOR:%.*]] = atomicrmw fmin ptr addrspace(1) [[PTR]], <2 x half> [[VVAL]] syncscope("one-as") seq_cst, align 4 +; CHECK-NEXT:[[RMW_FMAX_VECTOR:%.*]] = atomicrmw fmax ptr addrspace(1) [[PTR]], <2 x half> [[VVAL]] syncscope("one-as") seq_cst, align 4 +; CHECK-NEXT:[[RMW_XCHG:%.*]] = atomicrmw xchg ptr addrspace(1) [[PTR]], float [[VAL]] syncscope("one-as") seq_cst, align 4 +; CHECK-NEXT:ret void +; + %rmw.fadd = atomicrmw fadd ptr addrspace(1) %ptr, float %val syncscope("one-as") seq_cst + %rmw.fsub = atomicrmw fsub ptr addrspace(1) %ptr, float %val syncscope("one-as") seq_cst + %rmw.fmin = atomicrmw fmin ptr addrspace(1) %ptr, float %val syncscope("one-as") seq_cst + %rmw.fmax = atomicrmw fmax ptr addrspace(1) %ptr, float %val syncscope("one-as") seq_cst + %rmw.xor = atomicrmw xor ptr addrspace(1) %ptr, i32 %ival syncscope("one-as") seq_cst + %rmw.fadd.vector = atomicrmw fadd ptr addrspace(1) %ptr, <2 x half> %vval syncscope("one-as") seq_cst + %rmw.fsub.vector = atomicrmw fsub ptr addrspace(1) %ptr, <2 x half> %vval syncscope("one-as") seq_cst + %rmw.fmin.vector = atomicrmw fmin ptr addrspace(1) %ptr, <2
[llvm-branch-commits] [llvm] IR/AMDGPU: Autoupgrade amdgpu-unsafe-fp-atomics attribute (PR #101698)
arsenm wrote: > [!WARNING] > This pull request is not mergeable via GitHub because a downstack PR is > open. Once all requirements are satisfied, merge this PR as a stack href="https://app.graphite.dev/github/pr/llvm/llvm-project/101698?utm_source=stack-comment-downstack-mergeability-warning; > >on Graphite. > https://graphite.dev/docs/merge-pull-requests;>Learn more * **#101699** https://app.graphite.dev/github/pr/llvm/llvm-project/101699?utm_source=stack-comment-icon; target="_blank">https://static.graphite.dev/graphite-32x32-black.png; alt="Graphite" width="10px" height="10px"/> * **#101698** https://app.graphite.dev/github/pr/llvm/llvm-project/101698?utm_source=stack-comment-icon; target="_blank">https://static.graphite.dev/graphite-32x32-black.png; alt="Graphite" width="10px" height="10px"/> * **#97051** https://app.graphite.dev/github/pr/llvm/llvm-project/97051?utm_source=stack-comment-icon; target="_blank">https://static.graphite.dev/graphite-32x32-black.png; alt="Graphite" width="10px" height="10px"/> * **#97050** https://app.graphite.dev/github/pr/llvm/llvm-project/97050?utm_source=stack-comment-icon; target="_blank">https://static.graphite.dev/graphite-32x32-black.png; alt="Graphite" width="10px" height="10px"/> * **#96876** https://app.graphite.dev/github/pr/llvm/llvm-project/96876?utm_source=stack-comment-icon; target="_blank">https://static.graphite.dev/graphite-32x32-black.png; alt="Graphite" width="10px" height="10px"/> * **#96875** https://app.graphite.dev/github/pr/llvm/llvm-project/96875?utm_source=stack-comment-icon; target="_blank">https://static.graphite.dev/graphite-32x32-black.png; alt="Graphite" width="10px" height="10px"/> * **#96874** https://app.graphite.dev/github/pr/llvm/llvm-project/96874?utm_source=stack-comment-icon; target="_blank">https://static.graphite.dev/graphite-32x32-black.png; alt="Graphite" width="10px" height="10px"/> * **#96873** https://app.graphite.dev/github/pr/llvm/llvm-project/96873?utm_source=stack-comment-icon; target="_blank">https://static.graphite.dev/graphite-32x32-black.png; alt="Graphite" width="10px" height="10px"/> * **#96872** https://app.graphite.dev/github/pr/llvm/llvm-project/96872?utm_source=stack-comment-icon; target="_blank">https://static.graphite.dev/graphite-32x32-black.png; alt="Graphite" width="10px" height="10px"/> * **#96760** https://app.graphite.dev/github/pr/llvm/llvm-project/96760?utm_source=stack-comment-icon; target="_blank">https://static.graphite.dev/graphite-32x32-black.png; alt="Graphite" width="10px" height="10px"/> * **#96759** https://app.graphite.dev/github/pr/llvm/llvm-project/96759?utm_source=stack-comment-icon; target="_blank">https://static.graphite.dev/graphite-32x32-black.png; alt="Graphite" width="10px" height="10px"/> * **#96444** https://app.graphite.dev/github/pr/llvm/llvm-project/96444?utm_source=stack-comment-icon; target="_blank">https://static.graphite.dev/graphite-32x32-black.png; alt="Graphite" width="10px" height="10px"/> * **#96443** https://app.graphite.dev/github/pr/llvm/llvm-project/96443?utm_source=stack-comment-icon; target="_blank">https://static.graphite.dev/graphite-32x32-black.png; alt="Graphite" width="10px" height="10px"/> * **#96442** https://app.graphite.dev/github/pr/llvm/llvm-project/96442?utm_source=stack-comment-icon; target="_blank">https://static.graphite.dev/graphite-32x32-black.png; alt="Graphite" width="10px" height="10px"/> * **#95930** https://app.graphite.dev/github/pr/llvm/llvm-project/95930?utm_source=stack-comment-icon; target="_blank">https://static.graphite.dev/graphite-32x32-black.png; alt="Graphite" width="10px" height="10px"/> * **#95929** https://app.graphite.dev/github/pr/llvm/llvm-project/95929?utm_source=stack-comment-icon; target="_blank">https://static.graphite.dev/graphite-32x32-black.png; alt="Graphite" width="10px" height="10px"/> * `main` This stack of pull requests is managed by Graphite. https://stacking.dev/?utm_source=stack-comment;>Learn more about stacking. Join @arsenm and the rest of your teammates on https://graphite.dev?utm-source=stack-comment;>https://static.graphite.dev/graphite-32x32-black.png; alt="Graphite" width="11px" height="11px"/> Graphite https://github.com/llvm/llvm-project/pull/101698 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [llvm] IR/AMDGPU: Autoupgrade amdgpu-unsafe-fp-atomics attribute (PR #101698)
https://github.com/arsenm ready_for_review https://github.com/llvm/llvm-project/pull/101698 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [llvm] AMDGPU: Stop handling legacy amdgpu-unsafe-fp-atomics attribute (PR #101699)
lign 4 +; GFX940-NEXT:[[RES:%.*]] = atomicrmw fadd ptr addrspace(1) [[PTR:%.*]], <2 x bfloat> [[VALUE:%.*]] syncscope("agent") seq_cst, align 4, !amdgpu.no.fine.grained.memory [[META0]] ; GFX940-NEXT:ret void ; ; GFX11-LABEL: @test_atomicrmw_fadd_v2bf16_global_agent_noret__unsafe( @@ -4461,16 +4461,15 @@ define void @test_atomicrmw_fadd_v2bf16_global_agent_noret__unsafe(ptr addrspace ; GFX11: atomicrmw.end: ; GFX11-NEXT:ret void ; - %res = atomicrmw fadd ptr addrspace(1) %ptr, <2 x bfloat> %value syncscope("agent") seq_cst + %res = atomicrmw fadd ptr addrspace(1) %ptr, <2 x bfloat> %value syncscope("agent") seq_cst, !amdgpu.no.fine.grained.memory !0 ret void } -attributes #0 = { "denormal-fp-math-f32"="preserve-sign,preserve-sign" "amdgpu-unsafe-fp-atomics"="true" } -attributes #1 = { strictfp "denormal-fp-math-f32"="preserve-sign,preserve-sign" "amdgpu-unsafe-fp-atomics"="true" } +attributes #0 = { "denormal-fp-math-f32"="preserve-sign,preserve-sign" } +attributes #1 = { strictfp "denormal-fp-math-f32"="preserve-sign,preserve-sign" } attributes #2 = { strictfp } attributes #3 = { "denormal-fp-math-f32"="preserve-sign,preserve-sign" } attributes #4 = { "denormal-fp-math-f32"="dynamic,dynamic" } attributes #5 = { "denormal-fp-math"="dynamic,dynamic" } -attributes #6 = { "amdgpu-unsafe-fp-atomics"="true" } !0 = !{} diff --git a/llvm/test/Transforms/Inline/AMDGPU/inline-amdgpu-unsafe-fp-atomics.ll b/llvm/test/Transforms/Inline/AMDGPU/inline-amdgpu-unsafe-fp-atomics.ll deleted file mode 100644 index b867f942a84c4..0 --- a/llvm/test/Transforms/Inline/AMDGPU/inline-amdgpu-unsafe-fp-atomics.ll +++ /dev/null @@ -1,99 +0,0 @@ -; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --function-signature --check-globals -; RUN: opt -mtriple=amdgcn-amd-amdhsa -S -passes=inline < %s | FileCheck %s -; RUN: opt -mtriple=amdgcn-amd-amdhsa -S -passes='cgscc(inline)' < %s | FileCheck %s - -define i32 @func_default() #0 { -; CHECK-LABEL: define {{[^@]+}}@func_default -; CHECK-SAME: () #[[ATTR0:[0-9]+]] { -; CHECK-NEXT:ret i32 0 -; - ret i32 0 -} - -define i32 @func_unsafe_fp_atomic_enabled() #1 { -; CHECK-LABEL: define {{[^@]+}}@func_unsafe_fp_atomic_enabled -; CHECK-SAME: () #[[ATTR1:[0-9]+]] { -; CHECK-NEXT:ret i32 0 -; - ret i32 0 -} - -define i32 @func_unsafe_fp_atomic_disabled() #2 { -; CHECK-LABEL: define {{[^@]+}}@func_unsafe_fp_atomic_disabled -; CHECK-SAME: () #[[ATTR2:[0-9]+]] { -; CHECK-NEXT:ret i32 0 -; - ret i32 0 -} - -define i32 @default_call_default() #0 { -; CHECK-LABEL: define {{[^@]+}}@default_call_default -; CHECK-SAME: () #[[ATTR0]] { -; CHECK-NEXT:ret i32 0 -; - %call = call i32 @func_default() - ret i32 %call -} - -define i32 @unsafe_fp_atomic_enabled_call_default() #1 { -; CHECK-LABEL: define {{[^@]+}}@unsafe_fp_atomic_enabled_call_default -; CHECK-SAME: () #[[ATTR1]] { -; CHECK-NEXT:ret i32 0 -; - %call = call i32 @func_default() - ret i32 %call -} - -define i32 @unsafe_fp_atomic_enabled_call_unsafe_fp_atomic_enabled() #1 { -; CHECK-LABEL: define {{[^@]+}}@unsafe_fp_atomic_enabled_call_unsafe_fp_atomic_enabled -; CHECK-SAME: () #[[ATTR1]] { -; CHECK-NEXT:ret i32 0 -; - %call = call i32 @func_unsafe_fp_atomic_enabled() - ret i32 %call -} - -define i32 @unsafe_fp_atomic_enabled_call_unsafe_fp_atomic_disabled() #1 { -; CHECK-LABEL: define {{[^@]+}}@unsafe_fp_atomic_enabled_call_unsafe_fp_atomic_disabled -; CHECK-SAME: () #[[ATTR1]] { -; CHECK-NEXT:ret i32 0 -; - %call = call i32 @func_unsafe_fp_atomic_disabled() - ret i32 %call -} - -define i32 @unsafe_fp_atomic_disabled_call_default() #2 { -; CHECK-LABEL: define {{[^@]+}}@unsafe_fp_atomic_disabled_call_default -; CHECK-SAME: () #[[ATTR2]] { -; CHECK-NEXT:ret i32 0 -; - %call = call i32 @func_default() - ret i32 %call -} - -define i32 @unsafe_fp_atomic_disabled_call_unsafe_fp_atomic_enabled() #2 { -; CHECK-LABEL: define {{[^@]+}}@unsafe_fp_atomic_disabled_call_unsafe_fp_atomic_enabled -; CHECK-SAME: () #[[ATTR2]] { -; CHECK-NEXT:ret i32 0 -; - %call = call i32 @func_unsafe_fp_atomic_enabled() - ret i32 %call -} - -define i32 @unsafe_fp_atomic_disabled_call_unsafe_fp_atomic_disabled() #2 { -; CHECK-LABEL: define {{[^@]+}}@unsafe_fp_atomic_disabled_call_unsafe_fp_atomic_disabled -; CHECK-SAME: () #[[ATTR2]] { -; CHECK-NEXT:ret i32 0 -; - %call = call i32 @func_unsafe_fp_atomic_disabled() - ret i32 %call -} - -attributes #0 = { nounwind } -attributes #1 = { nounwind "amdgpu-unsafe-fp-atomics"="true" } -attributes #2 = { nounwind "amdgpu-unsafe-fp-atomics"="false" } -;. -; CHECK: attributes #[[ATTR0]] = { nounwind } -; CHECK: attributes #[[ATTR1]] = { nounwind "amdgpu-unsafe-fp-atomics"="true" } -; CHECK: attributes #[[ATTR2]] = { nounwind "amdgpu-unsafe-fp-atomics"="false" } -;. ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [llvm] IR/AMDGPU: Autoupgrade amdgpu-unsafe-fp-atomics attribute (PR #101698)
q_cst + %rmw.fadd.vector = atomicrmw fadd ptr addrspace(1) %ptr, <2 x half> %vval syncscope("one-as") seq_cst + %rmw.fsub.vector = atomicrmw fsub ptr addrspace(1) %ptr, <2 x half> %vval syncscope("one-as") seq_cst + %rmw.fmin.vector = atomicrmw fmin ptr addrspace(1) %ptr, <2 x half> %vval syncscope("one-as") seq_cst + %rmw.fmax.vector = atomicrmw fmax ptr addrspace(1) %ptr, <2 x half> %vval syncscope("one-as") seq_cst + + ; xchg doesn't need any metadata + %rmw.xchg = atomicrmw xchg ptr addrspace(1) %ptr, float %val syncscope("one-as") seq_cst + ret void +} + +;. +; CHECK: attributes #[[ATTR0:[0-9]+]] = { "amdgpu-unsafe-fp-atomics"="true" } +; CHECK: attributes #[[ATTR1:[0-9]+]] = { "amdgpu-unsafe-fp-atomics"="false" } +;. +; CHECK: [[META0]] = !{} +;. ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[Lldb-commits] [lldb] [lldb][ClangExpressionParser][NFC] Factor LangOptions logic out of ClangExpressionParser constructor (PR #101669)
/ExpressionParser/Clang/ClangExpressionParser.cpp index f962309875c65..ee6bc6ca43217 100644 --- a/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp +++ b/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp @@ -619,7 +619,8 @@ ClangExpressionParser::ClangExpressionParser( // 4. Set language options. SetupLangOpts(*m_compiler, *exe_scope, expr); - if (isa(_expr)) { + if (auto *clang_expr = dyn_cast(_expr); + clang_expr && clang_expr->DidImportCxxModules()) { LLDB_LOG(log, "Adding lang options for importing C++ modules"); SetupImportStdModuleLangOpts(*m_compiler); SetupModuleHeaderPaths(m_compiler.get(), m_include_directories, target_sp); >From 594f80c3f8e6c97c9e656e5ca17a98833381d415 Mon Sep 17 00:00:00 2001 From: Michael Buch Date: Fri, 2 Aug 2024 16:54:30 +0100 Subject: [PATCH 4/4] fixup! reluctantly, west-const --- .../Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp| 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp b/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp index ee6bc6ca43217..aed065edab90f 100644 --- a/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp +++ b/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp @@ -354,7 +354,7 @@ static void SetupDefaultClangDiagnostics(CompilerInstance ) { static void SetupLangOpts(CompilerInstance , ExecutionContextScope _scope, - Expression const ) { + const Expression ) { Log *log = GetLog(LLDBLog::Expressions); // If the expression is being evaluated in the context of an existing stack ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
[jenkinsci/mail-watcher-plugin] f6dc49: Bump org.jenkins-ci.plugins:plugin from 4.83 to 4.85
Branch: refs/heads/master Home: https://github.com/jenkinsci/mail-watcher-plugin Commit: f6dc49e83c483075e200064405106ee60d6bebcb https://github.com/jenkinsci/mail-watcher-plugin/commit/f6dc49e83c483075e200064405106ee60d6bebcb Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: 2024-07-08 (Mon, 08 Jul 2024) Changed paths: M pom.xml Log Message: --- Bump org.jenkins-ci.plugins:plugin from 4.83 to 4.85 Bumps [org.jenkins-ci.plugins:plugin](https://github.com/jenkinsci/plugin-pom) from 4.83 to 4.85. - [Release notes](https://github.com/jenkinsci/plugin-pom/releases) - [Changelog](https://github.com/jenkinsci/plugin-pom/blob/master/CHANGELOG.md) - [Commits](https://github.com/jenkinsci/plugin-pom/compare/plugin-4.83...plugin-4.85) --- updated-dependencies: - dependency-name: org.jenkins-ci.plugins:plugin dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Commit: 88c256be4220fdbd2b00aa0690c6fd4b6dc09b3e https://github.com/jenkinsci/mail-watcher-plugin/commit/88c256be4220fdbd2b00aa0690c6fd4b6dc09b3e Author: Stefan Spieker Date: 2024-08-02 (Fri, 02 Aug 2024) Changed paths: M pom.xml Log Message: --- Merge pull request #108 from jenkinsci/dependabot/maven/org.jenkins-ci.plugins-plugin-4.85 Bump org.jenkins-ci.plugins:plugin from 4.83 to 4.85 Compare: https://github.com/jenkinsci/mail-watcher-plugin/compare/7207adcbee4d...88c256be4220 To unsubscribe from these emails, change your notification settings at https://github.com/jenkinsci/mail-watcher-plugin/settings/notifications -- You received this message because you are subscribed to the Google Groups "Jenkins Commits" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-commits+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-commits/jenkinsci/mail-watcher-plugin/push/refs/heads/master/7207ad-88c256%40github.com.
[Lldb-commits] [lldb] [lldb][ClangExpressionParser] Log and assert on failure to create TargetInfo (PR #101697)
llvmbot wrote: @llvm/pr-subscribers-lldb Author: Michael Buch (Michael137) Changes `CreateTargetInfo` can return a `nullptr` in a couple cases. So we should log that and let the user know something is wrong (hence the `lldbassert`). I didn't actually run into this. Just stumbled upon it from reading the code. --- Full diff: https://github.com/llvm/llvm-project/pull/101697.diff 1 Files Affected: - (modified) lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp (+17-11) ``diff diff --git a/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp b/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp index 303e88feea20b..9d9403ebb9051 100644 --- a/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp +++ b/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp @@ -465,18 +465,24 @@ ClangExpressionParser::ClangExpressionParser( // A value of 0 means no limit for both LLDB and Clang. m_compiler->getDiagnostics().setErrorLimit(target_sp->GetExprErrorLimit()); - auto target_info = TargetInfo::CreateTargetInfo( - m_compiler->getDiagnostics(), m_compiler->getInvocation().TargetOpts); - if (log) { -LLDB_LOGF(log, "Target datalayout string: '%s'", - target_info->getDataLayoutString()); -LLDB_LOGF(log, "Target ABI: '%s'", target_info->getABI().str().c_str()); -LLDB_LOGF(log, "Target vector alignment: %d", - target_info->getMaxVectorAlign()); - } - m_compiler->setTarget(target_info); + if (auto *target_info = TargetInfo::CreateTargetInfo( + m_compiler->getDiagnostics(), + m_compiler->getInvocation().TargetOpts)) { +if (log) { + LLDB_LOGF(log, "Target datalayout string: '%s'", +target_info->getDataLayoutString()); + LLDB_LOGF(log, "Target ABI: '%s'", target_info->getABI().str().c_str()); + LLDB_LOGF(log, "Target vector alignment: %d", +target_info->getMaxVectorAlign()); +} +m_compiler->setTarget(target_info); + } else { +if (log) + LLDB_LOGF(log, "Failed to create TargetInfo for '%s'", +m_compiler->getTargetOpts().Triple.c_str()); - assert(m_compiler->hasTarget()); +lldbassert(false && "Failed to create TargetInfo."); + } // 4. Set language options. lldb::LanguageType language = expr.Language().AsLanguageType(); `````` https://github.com/llvm/llvm-project/pull/101697 _______ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
[Lldb-commits] [lldb] [lldb][ClangExpressionParser] Log and assert on failure to create TargetInfo (PR #101697)
https://github.com/Michael137 edited https://github.com/llvm/llvm-project/pull/101697 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
[Lldb-commits] [lldb] [lldb][ClangExpressionParser] Log and assert on failure to create TargetInfo (PR #101697)
https://github.com/Michael137 created https://github.com/llvm/llvm-project/pull/101697 `CreateTargetInfo` can return a `nullptr` in a couple cases. So we should log that and let the user know something is wrong (hence the `lldbassert`). >From 6dd59090c0098c18d38629fa1030122b0edffa88 Mon Sep 17 00:00:00 2001 From: Michael Buch Date: Fri, 2 Aug 2024 16:18:57 +0100 Subject: [PATCH] [lldb][ClangExpressionParser] Log and assert on failure to create TargetInfo --- .../Clang/ClangExpressionParser.cpp | 28 +++ 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp b/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp index 303e88feea20b..9d9403ebb9051 100644 --- a/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp +++ b/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp @@ -465,18 +465,24 @@ ClangExpressionParser::ClangExpressionParser( // A value of 0 means no limit for both LLDB and Clang. m_compiler->getDiagnostics().setErrorLimit(target_sp->GetExprErrorLimit()); - auto target_info = TargetInfo::CreateTargetInfo( - m_compiler->getDiagnostics(), m_compiler->getInvocation().TargetOpts); - if (log) { -LLDB_LOGF(log, "Target datalayout string: '%s'", - target_info->getDataLayoutString()); -LLDB_LOGF(log, "Target ABI: '%s'", target_info->getABI().str().c_str()); -LLDB_LOGF(log, "Target vector alignment: %d", - target_info->getMaxVectorAlign()); - } - m_compiler->setTarget(target_info); + if (auto *target_info = TargetInfo::CreateTargetInfo( + m_compiler->getDiagnostics(), + m_compiler->getInvocation().TargetOpts)) { +if (log) { + LLDB_LOGF(log, "Target datalayout string: '%s'", +target_info->getDataLayoutString()); + LLDB_LOGF(log, "Target ABI: '%s'", target_info->getABI().str().c_str()); + LLDB_LOGF(log, "Target vector alignment: %d", +target_info->getMaxVectorAlign()); +} +m_compiler->setTarget(target_info); + } else { +if (log) + LLDB_LOGF(log, "Failed to create TargetInfo for '%s'", +m_compiler->getTargetOpts().Triple.c_str()); - assert(m_compiler->hasTarget()); +lldbassert(false && "Failed to create TargetInfo."); + } // 4. Set language options. lldb::LanguageType language = expr.Language().AsLanguageType(); ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
[llvm-branch-commits] [llvm] AMDGPU: Remove flat/global atomic fadd v2bf16 intrinsics (PR #97050)
1, vcc -; GFX940-NEXT:flat_atomic_pk_add_bf16 v0, v[0:1], v2 sc0 -; GFX940-NEXT:s_waitcnt vmcnt(0) lgkmcnt(0) -; GFX940-NEXT:s_setpc_b64 s[30:31] -; -; GFX12-LABEL: flat_atomic_fadd_v2bf16_intrinsic_ret__negoffset: -; GFX12: ; %bb.0: -; GFX12-NEXT:s_wait_loadcnt_dscnt 0x0 -; GFX12-NEXT:s_wait_expcnt 0x0 -; GFX12-NEXT:s_wait_samplecnt 0x0 -; GFX12-NEXT:s_wait_bvhcnt 0x0 -; GFX12-NEXT:s_wait_kmcnt 0x0 -; GFX12-NEXT:flat_atomic_pk_add_bf16 v0, v[0:1], v2 offset:-1024 th:TH_ATOMIC_RETURN -; GFX12-NEXT:s_wait_loadcnt_dscnt 0x0 -; GFX12-NEXT:s_setpc_b64 s[30:31] - %gep = getelementptr <2 x i16>, ptr %ptr, i64 -256 - %result = call <2 x i16> @llvm.amdgcn.flat.atomic.fadd.v2bf16.p0.v2bf16(ptr %gep, <2 x i16> %data) - ret <2 x i16> %result -} - -define void @flat_atomic_fadd_v2bf16_intrinsic_noret__posoffset(ptr %ptr, <2 x i16> %data) { -; GFX940-LABEL: flat_atomic_fadd_v2bf16_intrinsic_noret__posoffset: -; GFX940: ; %bb.0: -; GFX940-NEXT:s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) -; GFX940-NEXT:flat_atomic_pk_add_bf16 v[0:1], v2 offset:4092 -; GFX940-NEXT:s_waitcnt vmcnt(0) lgkmcnt(0) -; GFX940-NEXT:s_setpc_b64 s[30:31] -; -; GFX12-LABEL: flat_atomic_fadd_v2bf16_intrinsic_noret__posoffset: -; GFX12: ; %bb.0: -; GFX12-NEXT:s_wait_loadcnt_dscnt 0x0 -; GFX12-NEXT:s_wait_expcnt 0x0 -; GFX12-NEXT:s_wait_samplecnt 0x0 -; GFX12-NEXT:s_wait_bvhcnt 0x0 -; GFX12-NEXT:s_wait_kmcnt 0x0 -; GFX12-NEXT:flat_atomic_pk_add_bf16 v[0:1], v2 offset:4092 -; GFX12-NEXT:s_wait_dscnt 0x0 -; GFX12-NEXT:s_setpc_b64 s[30:31] - %gep = getelementptr <2 x i16>, ptr %ptr, i64 1023 - %unused = call <2 x i16> @llvm.amdgcn.flat.atomic.fadd.v2bf16.p0.v2bf16(ptr %gep, <2 x i16> %data) - ret void -} - -define void @flat_atomic_fadd_v2bf16_intrinsic_noret__negoffset(ptr %ptr, <2 x i16> %data) { -; GFX940-LABEL: flat_atomic_fadd_v2bf16_intrinsic_noret__negoffset: -; GFX940: ; %bb.0: -; GFX940-NEXT:s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) -; GFX940-NEXT:v_add_co_u32_e32 v0, vcc, 0xfc00, v0 -; GFX940-NEXT:s_nop 1 -; GFX940-NEXT:v_addc_co_u32_e32 v1, vcc, -1, v1, vcc -; GFX940-NEXT:flat_atomic_pk_add_bf16 v[0:1], v2 -; GFX940-NEXT:s_waitcnt vmcnt(0) lgkmcnt(0) -; GFX940-NEXT:s_setpc_b64 s[30:31] -; -; GFX12-LABEL: flat_atomic_fadd_v2bf16_intrinsic_noret__negoffset: -; GFX12: ; %bb.0: -; GFX12-NEXT:s_wait_loadcnt_dscnt 0x0 -; GFX12-NEXT:s_wait_expcnt 0x0 -; GFX12-NEXT:s_wait_samplecnt 0x0 -; GFX12-NEXT:s_wait_bvhcnt 0x0 -; GFX12-NEXT:s_wait_kmcnt 0x0 -; GFX12-NEXT:flat_atomic_pk_add_bf16 v[0:1], v2 offset:-1024 -; GFX12-NEXT:s_wait_dscnt 0x0 -; GFX12-NEXT:s_setpc_b64 s[30:31] - %gep = getelementptr <2 x i16>, ptr %ptr, i64 -256 - %unused = call <2 x i16> @llvm.amdgcn.flat.atomic.fadd.v2bf16.p0.v2bf16(ptr %gep, <2 x i16> %data) - ret void -} - attributes #0 = { "denormal-fp-math-f32"="ieee,ieee" } !0 = !{} ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [clang] clang/AMDGPU: Emit atomicrmw for flat/global atomic min/max f64 builtins (PR #96876)
t_global_add_f64(__global double *addr, double x){ } // CHECK-LABEL: test_flat_min_flat_f64 -// CHECK: call double @llvm.amdgcn.flat.atomic.fmin.f64.p0.f64(ptr %{{.*}}, double %{{.*}}) +// CHECK: = atomicrmw fmin ptr {{.+}}, double %{{.+}} syncscope("agent") monotonic, align 8, !amdgpu.no.fine.grained.memory !{{[0-9]+$}} + // GFX90A-LABEL: test_flat_min_flat_f64$local // GFX90A: flat_atomic_min_f64 void test_flat_min_flat_f64(__generic double *addr, double x){ @@ -74,7 +77,8 @@ void test_flat_min_flat_f64(__generic double *addr, double x){ } // CHECK-LABEL: test_flat_global_min_f64 -// CHECK: call double @llvm.amdgcn.flat.atomic.fmin.f64.p1.f64(ptr addrspace(1) %{{.*}}, double %{{.*}}) +// CHECK: = atomicrmw fmin ptr addrspace(1) {{.+}}, double %{{.+}} syncscope("agent") monotonic, align 8, !amdgpu.no.fine.grained.memory !{{[0-9]+$}} + // GFX90A: test_flat_global_min_f64$local // GFX90A: global_atomic_min_f64 void test_flat_global_min_f64(__global double *addr, double x){ @@ -83,7 +87,8 @@ void test_flat_global_min_f64(__global double *addr, double x){ } // CHECK-LABEL: test_flat_max_flat_f64 -// CHECK: call double @llvm.amdgcn.flat.atomic.fmax.f64.p0.f64(ptr %{{.*}}, double %{{.*}}) +// CHECK: = atomicrmw fmax ptr {{.+}}, double %{{.+}} syncscope("agent") monotonic, align 8, !amdgpu.no.fine.grained.memory !{{[0-9]+$}} + // GFX90A-LABEL: test_flat_max_flat_f64$local // GFX90A: flat_atomic_max_f64 void test_flat_max_flat_f64(__generic double *addr, double x){ @@ -92,7 +97,8 @@ void test_flat_max_flat_f64(__generic double *addr, double x){ } // CHECK-LABEL: test_flat_global_max_f64 -// CHECK: call double @llvm.amdgcn.flat.atomic.fmax.f64.p1.f64(ptr addrspace(1) %{{.*}}, double %{{.*}}) +// CHECK: = atomicrmw fmax ptr addrspace(1) {{.+}}, double %{{.+}} syncscope("agent") monotonic, align 8, !amdgpu.no.fine.grained.memory !{{[0-9]+$}} + // GFX90A-LABEL: test_flat_global_max_f64$local // GFX90A: global_atomic_max_f64 void test_flat_global_max_f64(__global double *addr, double x){ _______ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [clang] clang/AMDGPU: Emit atomicrmw for global/flat fadd v2bf16 builtins (PR #96875)
(__local double *addr, double x){ } // CHECK-LABEL: test_flat_global_add_f64 -// CHECK: = atomicrmw fadd ptr addrspace(1) {{.+}}, double %{{.+}} syncscope("agent") seq_cst, align 8, !amdgpu.no.fine.grained.memory !{{[0-9]+$}} +// CHECK: = atomicrmw fadd ptr addrspace(1) {{.+}}, double %{{.+}} syncscope("agent") monotonic, align 8, !amdgpu.no.fine.grained.memory !{{[0-9]+$}} // GFX90A-LABEL: test_flat_global_add_f64$local // GFX90A: global_atomic_add_f64 diff --git a/clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx940.cl b/clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx940.cl index bd9b8c7268e06..832d7df00db14 100644 --- a/clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx940.cl +++ b/clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx940.cl @@ -10,7 +10,7 @@ typedef half __attribute__((ext_vector_type(2))) half2; typedef short __attribute__((ext_vector_type(2))) short2; // CHECK-LABEL: test_flat_add_f32 -// CHECK: [[RMW:%.+]] = atomicrmw fadd ptr %{{.+}}, float %{{.+}} syncscope("agent") seq_cst, align 4, !amdgpu.no.fine.grained.memory !{{[0-9]+}}, !amdgpu.ignore.denormal.mode !{{[0-9]+$}} +// CHECK: [[RMW:%.+]] = atomicrmw fadd ptr %{{.+}}, float %{{.+}} syncscope("agent") monotonic, align 4, !amdgpu.no.fine.grained.memory !{{[0-9]+}}, !amdgpu.ignore.denormal.mode !{{[0-9]+$}} // GFX940-LABEL: test_flat_add_f32 // GFX940: flat_atomic_add_f32 @@ -19,7 +19,7 @@ half2 test_flat_add_f32(__generic float *addr, float x) { } // CHECK-LABEL: test_flat_add_2f16 -// CHECK: [[RMW:%.+]] = atomicrmw fadd ptr %{{.+}}, <2 x half> %{{.+}} syncscope("agent") seq_cst, align 4, !amdgpu.no.fine.grained.memory !{{[0-9]+$}} +// CHECK: [[RMW:%.+]] = atomicrmw fadd ptr %{{.+}}, <2 x half> %{{.+}} syncscope("agent") monotonic, align 4, !amdgpu.no.fine.grained.memory !{{[0-9]+$}} // GFX940-LABEL: test_flat_add_2f16 // GFX940: flat_atomic_pk_add_f16 @@ -28,7 +28,10 @@ half2 test_flat_add_2f16(__generic half2 *addr, half2 x) { } // CHECK-LABEL: test_flat_add_2bf16 -// CHECK: call <2 x i16> @llvm.amdgcn.flat.atomic.fadd.v2bf16.p0(ptr %{{.*}}, <2 x i16> %{{.*}}) +// CHECK: [[BC0:%.+]] = bitcast <2 x i16> {{.+}} to <2 x bfloat> +// CHECK: [[RMW:%.+]] = atomicrmw fadd ptr %{{.+}}, <2 x bfloat> [[BC0]] syncscope("agent") monotonic, align 4, !amdgpu.no.fine.grained.memory !{{[0-9]+$}} +// CHECK-NEXT: bitcast <2 x bfloat> [[RMW]] to <2 x i16> + // GFX940-LABEL: test_flat_add_2bf16 // GFX940: flat_atomic_pk_add_bf16 short2 test_flat_add_2bf16(__generic short2 *addr, short2 x) { @@ -36,7 +39,10 @@ short2 test_flat_add_2bf16(__generic short2 *addr, short2 x) { } // CHECK-LABEL: test_global_add_2bf16 -// CHECK: call <2 x i16> @llvm.amdgcn.global.atomic.fadd.v2bf16.p1(ptr addrspace(1) %{{.*}}, <2 x i16> %{{.*}}) +// CHECK: [[BC0:%.+]] = bitcast <2 x i16> {{.+}} to <2 x bfloat> +// CHECK: [[RMW:%.+]] = atomicrmw fadd ptr addrspace(1) %{{.+}}, <2 x bfloat> [[BC0]] syncscope("agent") monotonic, align 4, !amdgpu.no.fine.grained.memory !{{[0-9]+$}} +// CHECK-NEXT: bitcast <2 x bfloat> [[RMW]] to <2 x i16> + // GFX940-LABEL: test_global_add_2bf16 // GFX940: global_atomic_pk_add_bf16 short2 test_global_add_2bf16(__global short2 *addr, short2 x) { ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [clang] clang/AMDGPU: Emit atomicrmw from flat_atomic_{f32|f64} builtins (PR #96874)
@ -10,7 +10,8 @@ typedef half __attribute__((ext_vector_type(2))) half2; typedef short __attribute__((ext_vector_type(2))) short2; // CHECK-LABEL: test_flat_add_f32 -// CHECK: call float @llvm.amdgcn.flat.atomic.fadd.f32.p0.f32(ptr %{{.*}}, float %{{.*}}) +// CHECK: [[RMW:%.+]] = atomicrmw fadd ptr %{{.+}}, float %{{.+}} syncscope("agent") seq_cst, align 4, !amdgpu.no.fine.grained.memory !{{[0-9]+}}, !amdgpu.ignore.denormal.mode !{{[0-9]+$}} + // GFX940-LABEL: test_flat_add_f32 // GFX940: flat_atomic_add_f32 half2 test_flat_add_f32(__generic float *addr, float x) { _______ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [clang] clang/AMDGPU: Emit atomicrmw from {global|flat}_atomic_fadd_v2f16 builtins (PR #96873)
global_add_half2 // GFX12: global_atomic_pk_add_f16 v2, v[0:1], v2, off th:TH_ATOMIC_RETURN void test_global_add_half2(__global half2 *addr, half2 x) { @@ -73,7 +75,8 @@ void test_global_add_half2(__global half2 *addr, half2 x) { } // CHECK-LABEL: test_global_add_half2_noret -// CHECK: call <2 x half> @llvm.amdgcn.global.atomic.fadd.v2f16.p1.v2f16(ptr addrspace(1) %{{.*}}, <2 x half> %{{.*}}) +// CHECK: [[RMW:%.+]] = atomicrmw fadd ptr addrspace(1) %{{.+}}, <2 x half> %{{.+}} syncscope("agent") seq_cst, align 4, !amdgpu.no.fine.grained.memory !{{[0-9]+$}} + // GFX12-LABEL: test_global_add_half2_noret // GFX12: global_atomic_pk_add_f16 v[0:1], v2, off void test_global_add_half2_noret(__global half2 *addr, half2 x) { diff --git a/clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx90a.cl b/clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx90a.cl index c525c250c937c..cd10777dbe079 100644 --- a/clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx90a.cl +++ b/clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx90a.cl @@ -18,7 +18,7 @@ void test_global_add_f64(__global double *addr, double x) { } // CHECK-LABEL: test_global_add_half2 -// CHECK: call <2 x half> @llvm.amdgcn.global.atomic.fadd.v2f16.p1.v2f16(ptr addrspace(1) %{{.*}}, <2 x half> %{{.*}}) +// CHECK: = atomicrmw fadd ptr addrspace(1) %{{.+}}, <2 x half> %{{.+}} syncscope("agent") seq_cst, align 4, !amdgpu.no.fine.grained.memory !{{[0-9]+$}} // GFX90A-LABEL: test_global_add_half2 // GFX90A: global_atomic_pk_add_f16 v2, v[0:1], v2, off glc void test_global_add_half2(__global half2 *addr, half2 x) { diff --git a/clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx940.cl b/clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx940.cl index 5481138b9fee4..589dcd406630d 100644 --- a/clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx940.cl +++ b/clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx940.cl @@ -18,7 +18,8 @@ half2 test_flat_add_f32(__generic float *addr, float x) { } // CHECK-LABEL: test_flat_add_2f16 -// CHECK: call <2 x half> @llvm.amdgcn.flat.atomic.fadd.v2f16.p0.v2f16(ptr %{{.*}}, <2 x half> %{{.*}}) +// CHECK: [[RMW:%.+]] = atomicrmw fadd ptr %{{.+}}, <2 x half> %{{.+}} syncscope("agent") seq_cst, align 4, !amdgpu.no.fine.grained.memory !{{[0-9]+$}} + // GFX940-LABEL: test_flat_add_2f16 // GFX940: flat_atomic_pk_add_f16 half2 test_flat_add_2f16(__generic half2 *addr, half2 x) { ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[clang] clang/AMDGPU: Emit atomicrmw for __builtin_amdgcn_global_atomic_fadd_{f32|f64} (PR #96872)
crmw fadd ptr addrspace(3) %{{.+}}, <2 x half> %{{.+}} seq_cst, align 4 +// CHECK: = atomicrmw fadd ptr addrspace(3) %{{.+}}, <2 x half> %{{.+}} monotonic, align 4 // GFX940-LABEL: test_local_add_2f16 // GFX940: ds_pk_add_rtn_f16 half2 test_local_add_2f16(__local half2 *addr, half2 x) { @@ -62,7 +62,7 @@ half2 test_local_add_2f16(__local half2 *addr, half2 x) { } // CHECK-LABEL: test_local_add_2f16_noret -// CHECK: = atomicrmw fadd ptr addrspace(3) %{{.+}}, <2 x half> %{{.+}} seq_cst, align 4 +// CHECK: = atomicrmw fadd ptr addrspace(3) %{{.+}}, <2 x half> %{{.+}} monotonic, align 4 // GFX940-LABEL: test_local_add_2f16_noret // GFX940: ds_pk_add_f16 void test_local_add_2f16_noret(__local half2 *addr, half2 x) { @@ -70,7 +70,7 @@ void test_local_add_2f16_noret(__local half2 *addr, half2 x) { } // CHECK-LABEL: @test_global_add_f32 -// CHECK: = atomicrmw fadd ptr addrspace(1) %{{.+}}, float %{{.+}} syncscope("agent") seq_cst, align 4, !amdgpu.no.fine.grained.memory !{{[0-9]+}}, !amdgpu.ignore.denormal.mode !{{[0-9]+$}} +// CHECK: = atomicrmw fadd ptr addrspace(1) %{{.+}}, float %{{.+}} syncscope("agent") monotonic, align 4, !amdgpu.no.fine.grained.memory !{{[0-9]+}}, !amdgpu.ignore.denormal.mode !{{[0-9]+$}} void test_global_add_f32(float *rtn, global float *addr, float x) { *rtn = __builtin_amdgcn_global_atomic_fadd_f32(addr, x); } ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [Modules] Fix using `va_list` with modules and a precompiled header. (PR #100837)
g-buildbot/worker/clang-armv8-quick/stage1/bin/clang -cc1 -internal-isystem /home/tcwg-buildbot/worker/clang-armv8-quick/stage1/lib/clang/20/include -nostdsysteminc -triple x86_64-apple-darwin-fmodules -fno-implicit-modules -fbuiltin-headers-in-system-modules-emit-obj -fmodule-name=test-x c /home/tcwg-buildbot/worker/clang-armv8-quick/stage1/tools/clang/test/Modules/Output/builtin-vararg.c.tmp/test.c -o /home/tcwg-buildbot/worker/clang-armv8-quick/stage1/tools/clang/test/Modules/Output/builtin-vararg.c.tmp/test.o -Werror=incompatible-pointer-types -fmodule-file=/home/tcwg-buildbot/worker/clang-armv8-quick/stage1/tools/clang/test/Modules/Output/builtin-vararg.c.tmp/DeclareVarargs.pcm -include-pch /home/tcwg-buildbot/worker/clang-armv8-quick/stage1/tools/clang/test/Modules/Output/builtin-vararg.c.tmp/prefix.pch.gch -I /home/tcwg-buildbot/worker/clang-armv8-quick/stage1/tools/clang/test/Modules/Output/builtin-vararg.c.tmp/include + /home/tcwg-buildbot/worker/clang-armv8-quick/stage1/bin/clang -cc1 -internal-isystem /home/tcwg-buildbot/worker/clang-armv8-quick/stage1/lib/clang/20/include -nostdsysteminc -triple x86_64-apple-darwin -fmodules -fno-implicit-modules -fbuiltin-headers-in-system-modules -emit-obj -fmodule-name=test -x c /home/tcwg-buildbot/worker/clang-armv8-quick/stage1/tools/clang/test/Modules/Output/builtin-vararg.c.tmp/test.c -o /home/tcwg-buildbot/worker/clang-armv8-quick/stage1/tools/clang/test/Modules/Output/builtin-vararg.c.tmp/test.o -Werror=incompatible-pointer-types -fmodule-file=/home/tcwg-buildbot/worker/clang-armv8-quick/stage1/tools/clang/test/Modules/Output/builtin-vararg.c.tmp/DeclareVarargs.pcm -include-pch /home/tcwg-buildbot/worker/clang-armv8-quick/stage1/tools/clang/test/Modules/Output/builtin-vararg.c.tmp/prefix.pch.gch -I /home/tcwg-buildbot/worker/clang-armv8-quick/stage1/tools/clang/test/Modules/Output/builtin-vararg.c.tmp/include error: unable to create target: 'No available targets are compatible with triple "x86_64-apple-darwin"' 1 error generated. -- ``` https://github.com/llvm/llvm-project/pull/100837 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[llvm-branch-commits] [clang] Backport "[analyzer] Fix crash on using `bitcast(, )` as array subscript" (PR #101684)
https://github.com/Xazax-hun approved this pull request. LGTM, it makes sense to me to backport this crash fix. https://github.com/llvm/llvm-project/pull/101684 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[clang] [llvm] [SystemZ][z/OS] __ptr32 support for z/OS (PR #101696)
github-actions[bot] wrote: :warning: C/C++ code formatter, clang-format found issues in your code. :warning: You can test this locally with the following command: ``bash git-clang-format --diff 8bfa089e5bfb9f26e05b9cefa9065ca7f97406ce 0246fe8e7f8d93ad3e37ff770a18bd1928552b5f --extensions c,h,cpp -- clang/test/CodeGen/SystemZ/zos-mixed-ptr-sizes-definitions.c clang/test/CodeGen/SystemZ/zos-mixed-ptr-sizes-malloc.c clang/test/CodeGen/SystemZ/zos-mixed-ptr-sizes-sizeof.c clang/test/CodeGen/SystemZ/zos-mixed-ptr-sizes.c clang/test/CodeGenCXX/zos-mangle-ptr-size-address-space.cpp clang/test/Sema/ZOSExtensions.cpp clang/test/Sema/attr-print-zos.c clang/lib/AST/ItaniumMangle.cpp clang/lib/Basic/IdentifierTable.cpp clang/lib/Basic/Targets/SystemZ.h clang/lib/Frontend/CompilerInvocation.cpp clang/lib/Sema/SemaType.cpp clang/test/CodeGen/target-data.c llvm/lib/Target/SystemZ/SystemZTargetMachine.cpp `` View the diff from clang-format here. ``diff diff --git a/clang/lib/Basic/IdentifierTable.cpp b/clang/lib/Basic/IdentifierTable.cpp index 1ef07d4183..ada6845fb8 100644 --- a/clang/lib/Basic/IdentifierTable.cpp +++ b/clang/lib/Basic/IdentifierTable.cpp @@ -81,51 +81,51 @@ IdentifierTable::IdentifierTable(const LangOptions , // Constants for TokenKinds.def namespace { - enum TokenKey : unsigned { -KEYC99= 0x1, -KEYCXX= 0x2, -KEYCXX11 = 0x4, -KEYGNU= 0x8, -KEYMS = 0x10, -BOOLSUPPORT = 0x20, -KEYALTIVEC= 0x40, -KEYNOCXX = 0x80, -KEYBORLAND= 0x100, -KEYOPENCLC= 0x200, -KEYC23= 0x400, -KEYNOMS18 = 0x800, -KEYNOOPENCL = 0x1000, -WCHARSUPPORT = 0x2000, -HALFSUPPORT = 0x4000, -CHAR8SUPPORT = 0x8000, -KEYOBJC = 0x1, -KEYZVECTOR= 0x2, -KEYCOROUTINES = 0x4, -KEYMODULES= 0x8, -KEYCXX20 = 0x10, -KEYOPENCLCXX = 0x20, -KEYMSCOMPAT = 0x40, -KEYSYCL = 0x80, -KEYCUDA = 0x100, -KEYZOS= 0x200, -KEYNOZOS = 0x400, -KEYHLSL = 0x800, -KEYFIXEDPOINT = 0x1000, -KEYMAX= KEYFIXEDPOINT, // The maximum key -KEYALLCXX = KEYCXX | KEYCXX11 | KEYCXX20, -KEYALL = (KEYMAX | (KEYMAX-1)) & ~KEYNOMS18 & ~KEYNOOPENCL & - ~KEYNOZOS // KEYNOMS18, KEYNOOPENCL, KEYNOZOS are excluded. - }; - - /// How a keyword is treated in the selected standard. This enum is ordered - /// intentionally so that the value that 'wins' is the most 'permissive'. - enum KeywordStatus { -KS_Unknown, // Not yet calculated. Used when figuring out the status. -KS_Disabled,// Disabled -KS_Future, // Is a keyword in future standard -KS_Extension, // Is an extension -KS_Enabled, // Enabled - }; +enum TokenKey : unsigned { + KEYC99 = 0x1, + KEYCXX = 0x2, + KEYCXX11 = 0x4, + KEYGNU = 0x8, + KEYMS = 0x10, + BOOLSUPPORT = 0x20, + KEYALTIVEC = 0x40, + KEYNOCXX = 0x80, + KEYBORLAND = 0x100, + KEYOPENCLC = 0x200, + KEYC23 = 0x400, + KEYNOMS18 = 0x800, + KEYNOOPENCL = 0x1000, + WCHARSUPPORT = 0x2000, + HALFSUPPORT = 0x4000, + CHAR8SUPPORT = 0x8000, + KEYOBJC = 0x1, + KEYZVECTOR = 0x2, + KEYCOROUTINES = 0x4, + KEYMODULES = 0x8, + KEYCXX20 = 0x10, + KEYOPENCLCXX = 0x20, + KEYMSCOMPAT = 0x40, + KEYSYCL = 0x80, + KEYCUDA = 0x100, + KEYZOS = 0x200, + KEYNOZOS = 0x400, + KEYHLSL = 0x800, + KEYFIXEDPOINT = 0x1000, + KEYMAX = KEYFIXEDPOINT, // The maximum key + KEYALLCXX = KEYCXX | KEYCXX11 | KEYCXX20, + KEYALL = (KEYMAX | (KEYMAX - 1)) & ~KEYNOMS18 & ~KEYNOOPENCL & + ~KEYNOZOS // KEYNOMS18, KEYNOOPENCL, KEYNOZOS are excluded. +}; + +/// How a keyword is treated in the selected standard. This enum is ordered +/// intentionally so that the value that 'wins' is the most 'permissive'. +enum KeywordStatus { + KS_Unknown, // Not yet calculated. Used when figuring out the status. + KS_Disabled, // Disabled + KS_Future,// Is a keyword in future standard + KS_Extension, // Is an extension + KS_Enabled, // Enabled +}; } // namespace `` https://github.com/llvm/llvm-project/pull/101696 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [Modules] Fix using `va_list` with modules and a precompiled header. (PR #100837)
st/Modules/Output/builtin-vararg.c.tmp/include RUN: at line 17: /home/tcwg-buildbot/worker/clang-aarch64-quick/stage1/bin/clang -cc1 -internal-isystem /home/tcwg-buildbot/worker/clang-aarch64-quick/stage1/lib/clang/20/include -nostdsysteminc -triple x86_64-apple-darwin-fmodules -fno-implicit-modules -fbuiltin-headers-in-system-modules-emit-obj -fmodule-name=test-x c /home/tcwg-buildbot/worker/clang-aarch64-quick/stage1/tools/clang/test/Modules/Output/builtin-vararg.c.tmp/test.c -o /home/tcwg-buildbot/worker/clang-aarch64-quick/stage1/tools/clang/test/Modules/Output/builtin-vararg.c.tmp/test.o -Werror=incompatible-pointer-types -fmodule-file=/home/tcwg-buildbot/worker/clang-aarch64-quick/stage1/tools/clang/test/Modules/Output/builtin-vararg.c.tmp/DeclareVarargs.pcm -include-pch /home/tcwg-buildbot/worker/clang-aarch64-quick/stage1/tools/clang/test/Modules/Output/builtin-vararg.c.tmp/prefix.pch.gch -I /home/tcwg-buildbot/worker/clang-aarch64-quick/stage1/tools/clang/test/Modules/Output/builtin-vararg.c.tmp/include + /home/tcwg-buildbot/worker/clang-aarch64-quick/stage1/bin/clang -cc1 -internal-isystem /home/tcwg-buildbot/worker/clang-aarch64-quick/stage1/lib/clang/20/include -nostdsysteminc -triple x86_64-apple-darwin -fmodules -fno-implicit-modules -fbuiltin-headers-in-system-modules -emit-obj -fmodule-name=test -x c /home/tcwg-buildbot/worker/clang-aarch64-quick/stage1/tools/clang/test/Modules/Output/builtin-vararg.c.tmp/test.c -o /home/tcwg-buildbot/worker/clang-aarch64-quick/stage1/tools/clang/test/Modules/Output/builtin-vararg.c.tmp/test.o -Werror=incompatible-pointer-types -fmodule-file=/home/tcwg-buildbot/worker/clang-aarch64-quick/stage1/tools/clang/test/Modules/Output/builtin-vararg.c.tmp/DeclareVarargs.pcm -include-pch /home/tcwg-buildbot/worker/clang-aarch64-quick/stage1/tools/clang/test/Modules/Output/builtin-vararg.c.tmp/prefix.pch.gch -I /home/tcwg-buildbot/worker/clang-aarch64-quick/stage1/tools/clang/test/Modules/Output/builtin-vararg.c.tmp/include error: unable to create target: 'No available targets are compatible with triple "x86_64-apple-darwin"' 1 error generated. -- ``` https://github.com/llvm/llvm-project/pull/100837 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[Lldb-commits] [lldb] Reland "[lldb] Reland 2402b3213c2f with `/H` to debug the windows build issue (PR #101672)
medismailben wrote: Sounds good, I'll merge it and add the test. If the bot fails for whatever reason, I'll revert it. Thanks! https://github.com/llvm/llvm-project/pull/101672 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
[llvm-branch-commits] [llvm] AMDGPU: Remove flat/global atomic fadd v2bf16 intrinsics (PR #97050)
1, vcc -; GFX940-NEXT:flat_atomic_pk_add_bf16 v0, v[0:1], v2 sc0 -; GFX940-NEXT:s_waitcnt vmcnt(0) lgkmcnt(0) -; GFX940-NEXT:s_setpc_b64 s[30:31] -; -; GFX12-LABEL: flat_atomic_fadd_v2bf16_intrinsic_ret__negoffset: -; GFX12: ; %bb.0: -; GFX12-NEXT:s_wait_loadcnt_dscnt 0x0 -; GFX12-NEXT:s_wait_expcnt 0x0 -; GFX12-NEXT:s_wait_samplecnt 0x0 -; GFX12-NEXT:s_wait_bvhcnt 0x0 -; GFX12-NEXT:s_wait_kmcnt 0x0 -; GFX12-NEXT:flat_atomic_pk_add_bf16 v0, v[0:1], v2 offset:-1024 th:TH_ATOMIC_RETURN -; GFX12-NEXT:s_wait_loadcnt_dscnt 0x0 -; GFX12-NEXT:s_setpc_b64 s[30:31] - %gep = getelementptr <2 x i16>, ptr %ptr, i64 -256 - %result = call <2 x i16> @llvm.amdgcn.flat.atomic.fadd.v2bf16.p0.v2bf16(ptr %gep, <2 x i16> %data) - ret <2 x i16> %result -} - -define void @flat_atomic_fadd_v2bf16_intrinsic_noret__posoffset(ptr %ptr, <2 x i16> %data) { -; GFX940-LABEL: flat_atomic_fadd_v2bf16_intrinsic_noret__posoffset: -; GFX940: ; %bb.0: -; GFX940-NEXT:s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) -; GFX940-NEXT:flat_atomic_pk_add_bf16 v[0:1], v2 offset:4092 -; GFX940-NEXT:s_waitcnt vmcnt(0) lgkmcnt(0) -; GFX940-NEXT:s_setpc_b64 s[30:31] -; -; GFX12-LABEL: flat_atomic_fadd_v2bf16_intrinsic_noret__posoffset: -; GFX12: ; %bb.0: -; GFX12-NEXT:s_wait_loadcnt_dscnt 0x0 -; GFX12-NEXT:s_wait_expcnt 0x0 -; GFX12-NEXT:s_wait_samplecnt 0x0 -; GFX12-NEXT:s_wait_bvhcnt 0x0 -; GFX12-NEXT:s_wait_kmcnt 0x0 -; GFX12-NEXT:flat_atomic_pk_add_bf16 v[0:1], v2 offset:4092 -; GFX12-NEXT:s_wait_dscnt 0x0 -; GFX12-NEXT:s_setpc_b64 s[30:31] - %gep = getelementptr <2 x i16>, ptr %ptr, i64 1023 - %unused = call <2 x i16> @llvm.amdgcn.flat.atomic.fadd.v2bf16.p0.v2bf16(ptr %gep, <2 x i16> %data) - ret void -} - -define void @flat_atomic_fadd_v2bf16_intrinsic_noret__negoffset(ptr %ptr, <2 x i16> %data) { -; GFX940-LABEL: flat_atomic_fadd_v2bf16_intrinsic_noret__negoffset: -; GFX940: ; %bb.0: -; GFX940-NEXT:s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) -; GFX940-NEXT:v_add_co_u32_e32 v0, vcc, 0xfc00, v0 -; GFX940-NEXT:s_nop 1 -; GFX940-NEXT:v_addc_co_u32_e32 v1, vcc, -1, v1, vcc -; GFX940-NEXT:flat_atomic_pk_add_bf16 v[0:1], v2 -; GFX940-NEXT:s_waitcnt vmcnt(0) lgkmcnt(0) -; GFX940-NEXT:s_setpc_b64 s[30:31] -; -; GFX12-LABEL: flat_atomic_fadd_v2bf16_intrinsic_noret__negoffset: -; GFX12: ; %bb.0: -; GFX12-NEXT:s_wait_loadcnt_dscnt 0x0 -; GFX12-NEXT:s_wait_expcnt 0x0 -; GFX12-NEXT:s_wait_samplecnt 0x0 -; GFX12-NEXT:s_wait_bvhcnt 0x0 -; GFX12-NEXT:s_wait_kmcnt 0x0 -; GFX12-NEXT:flat_atomic_pk_add_bf16 v[0:1], v2 offset:-1024 -; GFX12-NEXT:s_wait_dscnt 0x0 -; GFX12-NEXT:s_setpc_b64 s[30:31] - %gep = getelementptr <2 x i16>, ptr %ptr, i64 -256 - %unused = call <2 x i16> @llvm.amdgcn.flat.atomic.fadd.v2bf16.p0.v2bf16(ptr %gep, <2 x i16> %data) - ret void -} - attributes #0 = { "denormal-fp-math-f32"="ieee,ieee" } !0 = !{} ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[clang] [compiler-rt] [llvm] Reland "[X86][AVX10.2] Support AVX10.2 option and VMPSADBW/VADDP[D,H,S] new instructions (#101452)" (PR #101616)
@@ -223,6 +227,10 @@ InstructionContext RecognizableInstr::insnContext() const { insnContext = EVEX_KB_U(IC_EVEX_XD); else if (OpPrefix == X86Local::PS) insnContext = EVEX_KB_U(IC_EVEX); +else { + errs() << "Instruction does not use a prefix: " << Name << "\n"; + llvm_unreachable("Invalid prefix"); phoebewang wrote: There are only 2 out of 4141 `grep -rwn llvm_unreachable llvm/lib/ | wc` use `+` to show more detail. I think `llvm_unreachable` is mainly used to show the position to developer, so no need detailed information. https://github.com/llvm/llvm-project/pull/101616 ___________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[llvm-branch-commits] [clang] clang/AMDGPU: Emit atomicrmw for flat/global atomic min/max f64 builtins (PR #96876)
t_global_add_f64(__global double *addr, double x){ } // CHECK-LABEL: test_flat_min_flat_f64 -// CHECK: call double @llvm.amdgcn.flat.atomic.fmin.f64.p0.f64(ptr %{{.*}}, double %{{.*}}) +// CHECK: = atomicrmw fmin ptr {{.+}}, double %{{.+}} syncscope("agent") monotonic, align 8, !amdgpu.no.fine.grained.memory !{{[0-9]+$}} + // GFX90A-LABEL: test_flat_min_flat_f64$local // GFX90A: flat_atomic_min_f64 void test_flat_min_flat_f64(__generic double *addr, double x){ @@ -74,7 +77,8 @@ void test_flat_min_flat_f64(__generic double *addr, double x){ } // CHECK-LABEL: test_flat_global_min_f64 -// CHECK: call double @llvm.amdgcn.flat.atomic.fmin.f64.p1.f64(ptr addrspace(1) %{{.*}}, double %{{.*}}) +// CHECK: = atomicrmw fmin ptr addrspace(1) {{.+}}, double %{{.+}} syncscope("agent") monotonic, align 8, !amdgpu.no.fine.grained.memory !{{[0-9]+$}} + // GFX90A: test_flat_global_min_f64$local // GFX90A: global_atomic_min_f64 void test_flat_global_min_f64(__global double *addr, double x){ @@ -83,7 +87,8 @@ void test_flat_global_min_f64(__global double *addr, double x){ } // CHECK-LABEL: test_flat_max_flat_f64 -// CHECK: call double @llvm.amdgcn.flat.atomic.fmax.f64.p0.f64(ptr %{{.*}}, double %{{.*}}) +// CHECK: = atomicrmw fmax ptr {{.+}}, double %{{.+}} syncscope("agent") monotonic, align 8, !amdgpu.no.fine.grained.memory !{{[0-9]+$}} + // GFX90A-LABEL: test_flat_max_flat_f64$local // GFX90A: flat_atomic_max_f64 void test_flat_max_flat_f64(__generic double *addr, double x){ @@ -92,7 +97,8 @@ void test_flat_max_flat_f64(__generic double *addr, double x){ } // CHECK-LABEL: test_flat_global_max_f64 -// CHECK: call double @llvm.amdgcn.flat.atomic.fmax.f64.p1.f64(ptr addrspace(1) %{{.*}}, double %{{.*}}) +// CHECK: = atomicrmw fmax ptr addrspace(1) {{.+}}, double %{{.+}} syncscope("agent") monotonic, align 8, !amdgpu.no.fine.grained.memory !{{[0-9]+$}} + // GFX90A-LABEL: test_flat_global_max_f64$local // GFX90A: global_atomic_max_f64 void test_flat_global_max_f64(__global double *addr, double x){ _______ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[clang] [Modules] Fix using `va_list` with modules and a precompiled header. (PR #100837)
17: /Users/buildbot/buildbot-root/aarch64-darwin/build/bin/clang -cc1 -internal-isystem /Users/buildbot/buildbot-root/aarch64-darwin/build/lib/clang/20/include -nostdsysteminc -triple x86_64-apple-darwin-fmodules -fno-implicit-modules -fbuiltin-headers-in-system-modules-emit-obj -fmodule-name=test-x c /Users/buildbot/buildbot-root/aarch64-darwin/build/tools/clang/test/Modules/Output/builtin-vararg.c.tmp/test.c -o /Users/buildbot/buildbot-root/aarch64-darwin/build/tools/clang/test/Modules/Output/builtin-vararg.c.tmp/test.o -Werror=incompatible-pointer-types -fmodule-file=/Users/buildbot/buildbot-root/aarch64-darwin/build/tools/clang/test/Modules/Output/builtin-vararg.c.tmp/DeclareVarargs.pcm -include-pch /Users/buildbot/buildbot-root/aarch64-darwin/build/tools/clang/test/Modules/Output/builtin-vararg.c.tmp/prefix.pch.gch -I /Users/buildbot/buildbot-root/aarch64-darwin/build/tools/clang/test/Modules/Output/builtin-vararg.c.tmp/include + /Users/buildbot/buildbot-root/aarch64-darwin/build/bin/clang -cc1 -internal-isystem /Users/buildbot/buildbot-root/aarch64-darwin/build/lib/clang/20/include -nostdsysteminc -triple x86_64-apple-darwin -fmodules -fno-implicit-modules -fbuiltin-headers-in-system-modules -emit-obj -fmodule-name=test -x c /Users/buildbot/buildbot-root/aarch64-darwin/build/tools/clang/test/Modules/Output/builtin-vararg.c.tmp/test.c -o /Users/buildbot/buildbot-root/aarch64-darwin/build/tools/clang/test/Modules/Output/builtin-vararg.c.tmp/test.o -Werror=incompatible-pointer-types -fmodule-file=/Users/buildbot/buildbot-root/aarch64-darwin/build/tools/clang/test/Modules/Output/builtin-vararg.c.tmp/DeclareVarargs.pcm -include-pch /Users/buildbot/buildbot-root/aarch64-darwin/build/tools/clang/test/Modules/Output/builtin-vararg.c.tmp/prefix.pch.gch -I /Users/buildbot/buildbot-root/aarch64-darwin/build/tools/clang/test/Modules/Output/builtin-vararg.c.tmp/include error: unable to create target: 'No available targets are compatible with triple "x86_64-apple-darwin"' 1 error generated. -- ``` https://github.com/llvm/llvm-project/pull/100837 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[Lldb-commits] [lldb] Reland "[lldb] Reland 2402b3213c2f with `/H` to debug the windows build issue (PR #101672)
DavidSpickett wrote: I'm not going to merge this myself as I'm finishing for the week, but you can if you want to get that test added sooner. https://github.com/llvm/llvm-project/pull/101672 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
[llvm-branch-commits] [clang] clang/AMDGPU: Emit atomicrmw for global/flat fadd v2bf16 builtins (PR #96875)
(__local double *addr, double x){ } // CHECK-LABEL: test_flat_global_add_f64 -// CHECK: = atomicrmw fadd ptr addrspace(1) {{.+}}, double %{{.+}} syncscope("agent") seq_cst, align 8, !amdgpu.no.fine.grained.memory !{{[0-9]+$}} +// CHECK: = atomicrmw fadd ptr addrspace(1) {{.+}}, double %{{.+}} syncscope("agent") monotonic, align 8, !amdgpu.no.fine.grained.memory !{{[0-9]+$}} // GFX90A-LABEL: test_flat_global_add_f64$local // GFX90A: global_atomic_add_f64 diff --git a/clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx940.cl b/clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx940.cl index bd9b8c7268e06..832d7df00db14 100644 --- a/clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx940.cl +++ b/clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx940.cl @@ -10,7 +10,7 @@ typedef half __attribute__((ext_vector_type(2))) half2; typedef short __attribute__((ext_vector_type(2))) short2; // CHECK-LABEL: test_flat_add_f32 -// CHECK: [[RMW:%.+]] = atomicrmw fadd ptr %{{.+}}, float %{{.+}} syncscope("agent") seq_cst, align 4, !amdgpu.no.fine.grained.memory !{{[0-9]+}}, !amdgpu.ignore.denormal.mode !{{[0-9]+$}} +// CHECK: [[RMW:%.+]] = atomicrmw fadd ptr %{{.+}}, float %{{.+}} syncscope("agent") monotonic, align 4, !amdgpu.no.fine.grained.memory !{{[0-9]+}}, !amdgpu.ignore.denormal.mode !{{[0-9]+$}} // GFX940-LABEL: test_flat_add_f32 // GFX940: flat_atomic_add_f32 @@ -19,7 +19,7 @@ half2 test_flat_add_f32(__generic float *addr, float x) { } // CHECK-LABEL: test_flat_add_2f16 -// CHECK: [[RMW:%.+]] = atomicrmw fadd ptr %{{.+}}, <2 x half> %{{.+}} syncscope("agent") seq_cst, align 4, !amdgpu.no.fine.grained.memory !{{[0-9]+$}} +// CHECK: [[RMW:%.+]] = atomicrmw fadd ptr %{{.+}}, <2 x half> %{{.+}} syncscope("agent") monotonic, align 4, !amdgpu.no.fine.grained.memory !{{[0-9]+$}} // GFX940-LABEL: test_flat_add_2f16 // GFX940: flat_atomic_pk_add_f16 @@ -28,7 +28,10 @@ half2 test_flat_add_2f16(__generic half2 *addr, half2 x) { } // CHECK-LABEL: test_flat_add_2bf16 -// CHECK: call <2 x i16> @llvm.amdgcn.flat.atomic.fadd.v2bf16.p0(ptr %{{.*}}, <2 x i16> %{{.*}}) +// CHECK: [[BC0:%.+]] = bitcast <2 x i16> {{.+}} to <2 x bfloat> +// CHECK: [[RMW:%.+]] = atomicrmw fadd ptr %{{.+}}, <2 x bfloat> [[BC0]] syncscope("agent") monotonic, align 4, !amdgpu.no.fine.grained.memory !{{[0-9]+$}} +// CHECK-NEXT: bitcast <2 x bfloat> [[RMW]] to <2 x i16> + // GFX940-LABEL: test_flat_add_2bf16 // GFX940: flat_atomic_pk_add_bf16 short2 test_flat_add_2bf16(__generic short2 *addr, short2 x) { @@ -36,7 +39,10 @@ short2 test_flat_add_2bf16(__generic short2 *addr, short2 x) { } // CHECK-LABEL: test_global_add_2bf16 -// CHECK: call <2 x i16> @llvm.amdgcn.global.atomic.fadd.v2bf16.p1(ptr addrspace(1) %{{.*}}, <2 x i16> %{{.*}}) +// CHECK: [[BC0:%.+]] = bitcast <2 x i16> {{.+}} to <2 x bfloat> +// CHECK: [[RMW:%.+]] = atomicrmw fadd ptr addrspace(1) %{{.+}}, <2 x bfloat> [[BC0]] syncscope("agent") monotonic, align 4, !amdgpu.no.fine.grained.memory !{{[0-9]+$}} +// CHECK-NEXT: bitcast <2 x bfloat> [[RMW]] to <2 x i16> + // GFX940-LABEL: test_global_add_2bf16 // GFX940: global_atomic_pk_add_bf16 short2 test_global_add_2bf16(__global short2 *addr, short2 x) { ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[clang] [llvm] [SystemZ][z/OS] __ptr32 support for z/OS (PR #101696)
s to pointer arguments}} + +struct D n1; +union E o1; + +int incorrect_func() { + int __ptr32 = 1; // expected-error {{expected unqualified-id}} + return __ptr32; // expected-error {{expected expression}} +} + +typedef int __ptr32; // expected-warning {{typedef requires a name}} +int incorrect_func2() { + return 1; +} + +typedef int __ptr32 *v; // expected-error {{'__ptr32' attribute only applies to pointer arguments}} +int incorrect_func3() { + v v1; + return 0; +} + +int *__ptr32 a_ptr; //expected-note {{previous definition is here}} +int *a_ptr; // expected-error {{redefinition of 'a_ptr' with a different type: 'int *' vs 'int * __ptr32'}} + +// *** +// FUNCTION OVERLOADING BETWEEN PTR32 AND REGULAR POINTERS +// *** +void func(int * __ptr32 p32) {} // expected-note {{previous definition is here}} +void func(int *p64) {} // expected-error {{redefinition of 'func'}} + +// Overloads between ptr32 and other non-pointer types are permissible +void func1(int *__ptr32 p32) {} +void func1(int p64) {} + +// ** +// MISC +// ** +void func2() { + char * __ptr32 v = ((char * __ptr32 *)1028)[0]; + char *v1 = ((char ** __ptr32 *)1028)[0][1]; +} + diff --git a/clang/test/Sema/attr-print-zos.c b/clang/test/Sema/attr-print-zos.c new file mode 100644 index 00..f19926c131a4f3 --- /dev/null +++ b/clang/test/Sema/attr-print-zos.c @@ -0,0 +1,31 @@ +// RUN: %clang_cc1 %s -triple s390x-ibm-zos -ast-print -fzos-extensions | FileCheck %s + +// CHECK: int * __ptr32 p32; +int * __ptr32 p32; + +// CHECK: char * __ptr32 c32; +char * __ptr32 c32; + +// CHECK: void * __ptr32 v32; +void * __ptr32 v32; + +// CHECK: int * __ptr32 *q; +int * __ptr32 *q; + +// CHECK: void *func(int * __ptr32 p); +void *func(int * __ptr32 p); + +// CHECK: int * __ptr32 func1(int * __ptr32 p); +int * __ptr32 func1(int * __ptr32 p); + +// CHECK: int *func2(void * __ptr32 p); +int *func2(void * __ptr32 p); + +// CHECK: int *const __ptr32 r; +int * __ptr32 const r; + +// CHECK: int ** __ptr32 *v; +int * *__ptr32* v; + +// CHECK: int *** __ptr32 *z; +int ** * __ptr32 * z; diff --git a/llvm/lib/Target/SystemZ/SystemZTargetMachine.cpp b/llvm/lib/Target/SystemZ/SystemZTargetMachine.cpp index 6f76839724ee9f..53ed46f14f14dc 100644 --- a/llvm/lib/Target/SystemZ/SystemZTargetMachine.cpp +++ b/llvm/lib/Target/SystemZ/SystemZTargetMachine.cpp @@ -59,6 +59,14 @@ static std::string computeDataLayout(const Triple ) { // Data mangling. Ret += DataLayout::getManglingComponent(TT); + // Special features for z/OS. + if (TT.isOSzOS()) { +if (TT.isArch64Bit()) { + // Custom address space for ptr32. + Ret += "-p1:32:32"; +} + } + // Make sure that global data has at least 16 bits of alignment by // default, so that we can refer to it using LARL. We don't have any // special requirements for stack variables though. ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [SystemZ][z/OS] __ptr32 support for z/OS (PR #101696)
i) { + // X64-LABEL: define void @ptr32_to_ptr(ptr noundef %f, ptr addrspace(1) noundef %i) + // X64: %{{.+}} = addrspacecast ptr addrspace(1) %i to ptr + f->p64= i; + use_foo(f); +} + +void ptr_to_ptr32(struct Foo *f, int *i) { + // X64-LABEL: define void @ptr_to_ptr32(ptr noundef %f, ptr noundef %i) + // X64: %{{.+}} = addrspacecast ptr %i to ptr addrspace(1) + f->p32 = i; + use_foo(f); +} + +void ptr32_to_ptr32(struct Foo *f, int * __ptr32 i) { + // X64-LABEL: define void @ptr32_to_ptr32(ptr noundef %f, ptr addrspace(1) noundef %i) + // X64-NOT: addrspacecast + f->p32 = i; + use_foo(f); +} + +void ptr_to_ptr32_explicit_cast(struct Foo *f, int *i) { + // X64-LABEL: define void @ptr_to_ptr32_explicit_cast(ptr noundef %f, ptr noundef %i) + // X64: %{{.+}} = addrspacecast ptr %i to ptr addrspace(1) + f->p32 = (int * __ptr32)i; + use_foo(f); +} + +void test_indexing(struct Foo *f) { + // X64-LABEL: define void @test_indexing(ptr noundef %f) + // X64: addrspacecast ptr addrspace(1) {{%[0-9]}} to ptr + f->cp64 = ((char * __ptr32 *)1028)[1]; + use_foo(f); +} + +void test_indexing_2(struct Foo *f) { + // X64-LABEL: define void @test_indexing_2(ptr noundef %f) + // X64: getelementptr inbounds i8, ptr addrspace(1) {{%[0-9]}}, i32 16 + // X64: getelementptr inbounds i8, ptr {{%[0-9]}}, i64 24 + f->cp64 = ((char *** __ptr32 *)1028)[1][2][3]; + use_foo(f); +} + +unsigned long* test_misc() { + // X64-LABEL: define ptr @test_misc() + // X64: %arrayidx = getelementptr inbounds i8, ptr addrspace(1) %0, i32 88 + // X64-NEXT: %1 = load ptr, ptr addrspace(1) %arrayidx + // X64-NEXT: %arrayidx1 = getelementptr inbounds i8, ptr %1, i64 8 + // X64-NEXT: %2 = load ptr, ptr %arrayidx1 + // X64-NEXT: %arrayidx2 = getelementptr inbounds i8, ptr %2, i64 904 + // X64-NEXT: %3 = load ptr, ptr %arrayidx2 + // X64-NEXT: %arrayidx3 = getelementptr inbounds i8, ptr %3, i6... [truncated] `` https://github.com/llvm/llvm-project/pull/101696 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [RISCV] Implement Clang Builtins for XCValu Extension in CV32E40P (PR #100684)
https://github.com/jrtc27 edited https://github.com/llvm/llvm-project/pull/100684 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [RISCV] Implement Clang Builtins for XCValu Extension in CV32E40P (PR #100684)
@@ -59,16 +59,26 @@ let TargetPrefix = "riscv" in { [IntrNoMem, IntrWillReturn, IntrSpeculatable, ImmArg>, ImmArg>]>; + def int_riscv_cv_alu_slet : ScalarCoreVAluGprGprIntrinsic; jrtc27 wrote: *Especially* if they're being renamed. https://github.com/llvm/llvm-project/pull/100684 _______ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[Lldb-commits] [lldb] [lldb][ClangExpressionParser][NFC] Factor LangOptions logic out of ClangExpressionParser constructor (PR #101669)
@@ -615,6 +484,147 @@ ClangExpressionParser::ClangExpressionParser( // 'fopen'). Those libc functions are already correctly handled by LLDB, and // additionally enabling them as expandable builtins is breaking Clang. lang_opts.NoBuiltin = true; +} + +static void SetupImportStdModuleLangOpts(CompilerInstance ) { + LangOptions _opts = compiler.getLangOpts(); + lang_opts.Modules = true; + // We want to implicitly build modules. + lang_opts.ImplicitModules = true; + // To automatically import all submodules when we import 'std'. + lang_opts.ModulesLocalVisibility = false; + + // We use the @import statements, so we need this: + // FIXME: We could use the modules-ts, but that currently doesn't work. + lang_opts.ObjC = true; + + // Options we need to parse libc++ code successfully. + // FIXME: We should ask the driver for the appropriate default flags. + lang_opts.GNUMode = true; + lang_opts.GNUKeywords = true; + lang_opts.CPlusPlus11 = true; + lang_opts.BuiltinHeadersInSystemModules = true; + + // The Darwin libc expects this macro to be set. + lang_opts.GNUCVersion = 40201; +} + +//===--===// +// Implementation of ClangExpressionParser +//===--===// + +ClangExpressionParser::ClangExpressionParser( +ExecutionContextScope *exe_scope, Expression , +bool generate_debug_info, std::vector include_directories, +std::string filename) +: ExpressionParser(exe_scope, expr, generate_debug_info), m_compiler(), + m_pp_callbacks(nullptr), + m_include_directories(std::move(include_directories)), + m_filename(std::move(filename)) { + Log *log = GetLog(LLDBLog::Expressions); + + // We can't compile expressions without a target. So if the exe_scope is + // null or doesn't have a target, then we just need to get out of here. I'll + // lldbassert and not make any of the compiler objects since + // I can't return errors directly from the constructor. Further calls will + // check if the compiler was made and + // bag out if it wasn't. + + if (!exe_scope) { +lldbassert(exe_scope && + "Can't make an expression parser with a null scope."); +return; + } + + lldb::TargetSP target_sp; + target_sp = exe_scope->CalculateTarget(); + if (!target_sp) { +lldbassert(target_sp.get() && + "Can't make an expression parser with a null target."); +return; + } + + // 1. Create a new compiler instance. + m_compiler = std::make_unique(); adrian-prantl wrote: It seems unnecessary for this to be unique_ptr, but I assume this is the `IsValid` flag for the object? It would be cleaner if we had a createClangExpressionParser static function that returned an Expected. Not a big deal though. https://github.com/llvm/llvm-project/pull/101669 ___________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
[clang] [llvm] [RISCV] Implement Clang Builtins for XCValu Extension in CV32E40P (PR #100684)
@@ -59,16 +59,26 @@ let TargetPrefix = "riscv" in { [IntrNoMem, IntrWillReturn, IntrSpeculatable, ImmArg>, ImmArg>]>; + def int_riscv_cv_alu_slet : ScalarCoreVAluGprGprIntrinsic; jrtc27 wrote: Is it too late to remove the builtin? I can't imagine there's much software out there actually using these that would be a pain to change. https://github.com/llvm/llvm-project/pull/100684 _______ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [RISCV][NFC] Remove unneeded defining name of `vundefined` (PR #101643)
https://github.com/4vtomat closed https://github.com/llvm/llvm-project/pull/101643 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [RISCV][NFC] Remove unneeded defining name of `vundefined` (PR #101643)
4vtomat wrote: > I don't think this will be better. We may keep these names so that these code > can be self-explanatory. Yeah, it's reasonable to me. https://github.com/llvm/llvm-project/pull/101643 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [Modules][Diagnostic] Mention which AST file's options differ from the current TU options. (PR #101413)
https://github.com/jansvoboda11 approved this pull request. Makes sense, thank you! https://github.com/llvm/llvm-project/pull/101413 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[Lldb-commits] [lldb] [lldb][ClangExpressionParser][NFC] Factor LangOptions logic out of ClangExpressionParser constructor (PR #101669)
https://github.com/adrian-prantl approved this pull request. https://github.com/llvm/llvm-project/pull/101669 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
[clang] [Modules] Fix using `va_list` with modules and a precompiled header. (PR #100837)
https://github.com/vsapsai closed https://github.com/llvm/llvm-project/pull/100837 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] d02757c - [Modules] Fix using `va_list` with modules and a precompiled header. (#100837)
ecause the function is added to PreloadedDeclIDs, the deserialization happens in `ASTReader::InitializeSema`. +static int __attribute__((__overloadable__)) implementation_of_builtin(int x) { + return x; +} + +#endif // DECLARE_VARARGS_H + +//--- include/module.modulemap +module DeclareVarargs { + header "declare-varargs.h" + export * +} + +//--- resource_dir/stdarg.h +#ifndef STDARG_H +#define STDARG_H + +typedef __builtin_va_list va_list; +#define va_start(ap, param) __builtin_va_start(ap, param) +#define va_end(ap) __builtin_va_end(ap) + +#endif // STDARG_H + +//--- resource_dir/module.modulemap +module _Builtin_stdarg { + header "stdarg.h" + export * +} + +//--- prefix.pch +#include + +//--- test.c +#include + +void test(const char *format, ...) { + va_list argParams; + va_start(argParams, format); + vprintf(format, argParams); + va_end(argParams); +} _______ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [Modules] Fix using `va_list` with modules and a precompiled header. (PR #100837)
vsapsai wrote: > LGTM. Thanks for the review! https://github.com/llvm/llvm-project/pull/100837 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [RISCV][clang] Remove unused base type in `vfncvt` (PR #101646)
4vtomat wrote: > Make sense to me. > (Do we have a way to test these generated builtins?) I think we don't since the intrinsics are generated on demand during runtime. https://github.com/llvm/llvm-project/pull/101646 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [Clang] Adjust `exit()` builtin impl (PR #101689)
https://github.com/chestnykh edited https://github.com/llvm/llvm-project/pull/101689 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [Clang] Adjust `exit()` builtin impl (PR #101689)
https://github.com/chestnykh updated https://github.com/llvm/llvm-project/pull/101689 >From ee010a25b0df1371647285af8faaffe694a02d28 Mon Sep 17 00:00:00 2001 From: Dmitry Chestnykh Date: Fri, 2 Aug 2024 18:28:38 +0300 Subject: [PATCH] [Clang] Adjust `exit()` builtin impl - `_Exit` is an alias to `_exit` and `_exit` is declared in unistd.h header, so don't mix `_Exit` and `exit`. Only `exit` decl placed in stdlib.h. - Add `__builtin_` variants for exit functions like GCC does --- clang/include/clang/Basic/Builtins.td | 6 -- clang/test/CodeGen/attributes.c | 21 + 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/clang/include/clang/Basic/Builtins.td b/clang/include/clang/Basic/Builtins.td index ccddeb9396284..bd0632c573412 100644 --- a/clang/include/clang/Basic/Builtins.td +++ b/clang/include/clang/Basic/Builtins.td @@ -2660,9 +2660,10 @@ def Calloc : LibBuiltin<"stdlib.h"> { } def Exit : LibBuiltin<"stdlib.h"> { - let Spellings = ["exit", "_Exit"]; + let Spellings = ["exit"]; let Attributes = [NoReturn]; let Prototype = "void(int)"; + let AddBuiltinPrefixedAlias = 1; } def Malloc : LibBuiltin<"stdlib.h"> { @@ -3266,9 +3267,10 @@ def StrnCaseCmp : GNULibBuiltin<"strings.h"> { } def GNU_Exit : GNULibBuiltin<"unistd.h"> { - let Spellings = ["_exit"]; + let Spellings = ["_exit", "_Exit"]; let Attributes = [NoReturn]; let Prototype = "void(int)"; + let AddBuiltinPrefixedAlias = 1; } def VFork : LibBuiltin<"unistd.h"> { diff --git a/clang/test/CodeGen/attributes.c b/clang/test/CodeGen/attributes.c index 5afef72b747af..9fa43edbcf7c6 100644 --- a/clang/test/CodeGen/attributes.c +++ b/clang/test/CodeGen/attributes.c @@ -113,6 +113,27 @@ void t24(f_t f1) { (*p)(); } +// CHECK:define{{.*}} void @t25() [[NUW]] { +// CHECK: call void @exit(i32 noundef 1) +// CHECK-NEXT: unreachable +void t25(void) { + __builtin_exit(1); +} + +// CHECK:define{{.*}} void @t26() [[NUW]] { +// CHECK: call void @_exit(i32 noundef 2) +// CHECK-NEXT: unreachable +void t26(void) { + __builtin__exit(2); +} + +// CHECK:define{{.*}} void @t27() [[NUW]] { +// CHECK: call void @_Exit(i32 noundef 3) +// CHECK-NEXT: unreachable +void t27(void) { + __builtin__Exit(3); +} + // CHECK: attributes [[NUW]] = { noinline nounwind{{.*}} } // CHECK: attributes [[NR]] = { noinline noreturn nounwind{{.*}} } // CHECK: attributes [[COLDDEF]] = { cold {{.*}}} ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [Clang] Adjust `exit()` builtin impl (PR #101689)
llvmbot wrote: @llvm/pr-subscribers-clang Author: Dmitry Chestnykh (chestnykh) Changes - `_Exit` is an alias to `_exit` and `_exit` is declared in unistd.h header, so don't mix `_Exit` and `exit`. Only `exit` decl placed in stdlib.h. - Add `__builtin_` variants for exit functions like GC does --- Full diff: https://github.com/llvm/llvm-project/pull/101689.diff 2 Files Affected: - (modified) clang/include/clang/Basic/Builtins.td (+4-2) - (modified) clang/test/CodeGen/attributes.c (+21) ``diff diff --git a/clang/include/clang/Basic/Builtins.td b/clang/include/clang/Basic/Builtins.td index ccddeb9396284..bd0632c573412 100644 --- a/clang/include/clang/Basic/Builtins.td +++ b/clang/include/clang/Basic/Builtins.td @@ -2660,9 +2660,10 @@ def Calloc : LibBuiltin<"stdlib.h"> { } def Exit : LibBuiltin<"stdlib.h"> { - let Spellings = ["exit", "_Exit"]; + let Spellings = ["exit"]; let Attributes = [NoReturn]; let Prototype = "void(int)"; + let AddBuiltinPrefixedAlias = 1; } def Malloc : LibBuiltin<"stdlib.h"> { @@ -3266,9 +3267,10 @@ def StrnCaseCmp : GNULibBuiltin<"strings.h"> { } def GNU_Exit : GNULibBuiltin<"unistd.h"> { - let Spellings = ["_exit"]; + let Spellings = ["_exit", "_Exit"]; let Attributes = [NoReturn]; let Prototype = "void(int)"; + let AddBuiltinPrefixedAlias = 1; } def VFork : LibBuiltin<"unistd.h"> { diff --git a/clang/test/CodeGen/attributes.c b/clang/test/CodeGen/attributes.c index 5afef72b747af..9fa43edbcf7c6 100644 --- a/clang/test/CodeGen/attributes.c +++ b/clang/test/CodeGen/attributes.c @@ -113,6 +113,27 @@ void t24(f_t f1) { (*p)(); } +// CHECK:define{{.*}} void @t25() [[NUW]] { +// CHECK: call void @exit(i32 noundef 1) +// CHECK-NEXT: unreachable +void t25(void) { + __builtin_exit(1); +} + +// CHECK:define{{.*}} void @t26() [[NUW]] { +// CHECK: call void @_exit(i32 noundef 2) +// CHECK-NEXT: unreachable +void t26(void) { + __builtin__exit(2); +} + +// CHECK:define{{.*}} void @t27() [[NUW]] { +// CHECK: call void @_Exit(i32 noundef 3) +// CHECK-NEXT: unreachable +void t27(void) { + __builtin__Exit(3); +} + // CHECK: attributes [[NUW]] = { noinline nounwind{{.*}} } // CHECK: attributes [[NR]] = { noinline noreturn nounwind{{.*}} } // CHECK: attributes [[COLDDEF]] = { cold {{.*}}} `` https://github.com/llvm/llvm-project/pull/101689 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[libcxxabi] [libunwind] [libcxxabi][libunwind] Support for using LLVM libc (PR #101688)
petrhosek wrote: @ldionne I'm starting to think that we should have a generic module in https://github.com/llvm/llvm-project/tree/main/cmake/Modules that would be controlled by `LLVM_USE_LIBC` and define `libc-headers`, `libc-static` and `libc-shared`. That way we could avoid duplicating this logic in every subproject. What do you think? https://github.com/llvm/llvm-project/pull/101688 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [Clang] Adjust `exit()` builtin impl (PR #101689)
https://github.com/chestnykh created https://github.com/llvm/llvm-project/pull/101689 - `_Exit` is an alias to `_exit` and `_exit` is declared in unistd.h header, so don't mix `_Exit` and `exit`. Only `exit` decl placed in stdlib.h. - Add `__builtin_` variants for exit functions like GC does >From b83615c58c85f5723dff26e40f356473fb5d4eda Mon Sep 17 00:00:00 2001 From: Dmitry Chestnykh Date: Fri, 2 Aug 2024 18:28:38 +0300 Subject: [PATCH] [Clang] Adjust `exit()` builtin impl - `_Exit` is an alias to `_exit` and `_exit` is declared in unistd.h header, so don't mix `_Exit` and `exit`. Only `exit` decl placed in stdlib.h. - Add `__builtin_` variants for exit functions like GC does --- clang/include/clang/Basic/Builtins.td | 6 -- clang/test/CodeGen/attributes.c | 21 + 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/clang/include/clang/Basic/Builtins.td b/clang/include/clang/Basic/Builtins.td index ccddeb9396284..bd0632c573412 100644 --- a/clang/include/clang/Basic/Builtins.td +++ b/clang/include/clang/Basic/Builtins.td @@ -2660,9 +2660,10 @@ def Calloc : LibBuiltin<"stdlib.h"> { } def Exit : LibBuiltin<"stdlib.h"> { - let Spellings = ["exit", "_Exit"]; + let Spellings = ["exit"]; let Attributes = [NoReturn]; let Prototype = "void(int)"; + let AddBuiltinPrefixedAlias = 1; } def Malloc : LibBuiltin<"stdlib.h"> { @@ -3266,9 +3267,10 @@ def StrnCaseCmp : GNULibBuiltin<"strings.h"> { } def GNU_Exit : GNULibBuiltin<"unistd.h"> { - let Spellings = ["_exit"]; + let Spellings = ["_exit", "_Exit"]; let Attributes = [NoReturn]; let Prototype = "void(int)"; + let AddBuiltinPrefixedAlias = 1; } def VFork : LibBuiltin<"unistd.h"> { diff --git a/clang/test/CodeGen/attributes.c b/clang/test/CodeGen/attributes.c index 5afef72b747af..9fa43edbcf7c6 100644 --- a/clang/test/CodeGen/attributes.c +++ b/clang/test/CodeGen/attributes.c @@ -113,6 +113,27 @@ void t24(f_t f1) { (*p)(); } +// CHECK:define{{.*}} void @t25() [[NUW]] { +// CHECK: call void @exit(i32 noundef 1) +// CHECK-NEXT: unreachable +void t25(void) { + __builtin_exit(1); +} + +// CHECK:define{{.*}} void @t26() [[NUW]] { +// CHECK: call void @_exit(i32 noundef 2) +// CHECK-NEXT: unreachable +void t26(void) { + __builtin__exit(2); +} + +// CHECK:define{{.*}} void @t27() [[NUW]] { +// CHECK: call void @_Exit(i32 noundef 3) +// CHECK-NEXT: unreachable +void t27(void) { + __builtin__Exit(3); +} + // CHECK: attributes [[NUW]] = { noinline nounwind{{.*}} } // CHECK: attributes [[NR]] = { noinline noreturn nounwind{{.*}} } // CHECK: attributes [[COLDDEF]] = { cold {{.*}}} ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [Modules][Diagnostic] Mention which AST file's options differ from the current TU options. (PR #101413)
@@ -130,7 +130,7 @@ class ASTReaderListener { /// /// \returns true to indicate the options are invalid or false otherwise. virtual bool ReadLanguageOptions(const LangOptions , - bool Complain, + StringRef Filename, bool Complain, vsapsai wrote: Let me think about a better parameter name, I agree that its meaning isn't particularly clear. https://github.com/llvm/llvm-project/pull/101413 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [RISCV] Implement Clang Builtins for XCValu Extension in CV32E40P (PR #100684)
@@ -59,16 +59,26 @@ let TargetPrefix = "riscv" in { [IntrNoMem, IntrWillReturn, IntrSpeculatable, ImmArg>, ImmArg>]>; + def int_riscv_cv_alu_slet : ScalarCoreVAluGprGprIntrinsic; topperc wrote: > Hi @topperc > > > > There are a few things going on here. > > > > 1. The naming of the corresponding instructions in the CORE-V ISA extension > was changed from `slet` to `sle`, and `sletu` to `sleu`. The CORE-V > [standard for > builtins](https://github.com/openhwgroup/core-v-sw/blob/master/specifications/corev-builtin-spec.md) > has not yet been updated to reflect this change. This needs to be fixed > through OpenHW group's standardization processes (@PaoloS02 is leading this > inside OpenHW Group). > > > > 2. These instructions only exist for "less than or equal", there are no > equivalents for other comparison predicates, hence just these two builtins > mapping to the instructions. I was referring to the stand comparisons. We don't have builtins for writing slt, we expect the programmer to write (a< b) and the backend will figure it out. slte can be automatically selected from (a<=b). Why do we need a builtin too? > > > 3. LLVM and GCC for CORE-V are intended to be equivalent, and in GCC, having > the builtin to generate the instruction is more efficient than using inline > assembler. First the dataflow through the instruction is explicit, secondly > the pattern for the functionality is exposed to GCC, potentially allowing the > instruction to be generated automatically in other circumstances. Since gcc already has the builtin, I guess we have to be source compatible. Would it be ok to map the builtin to (zext (icmp sle a,b) in IR and let the middle end and backend treat it like any other compare? > > > > So in summary i) it's there because the CORE-V standard for builtins says it > should be and ii) it's there to match GCC behavior. > > > > Hope this is helpful. https://github.com/llvm/llvm-project/pull/100684 _______ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[libcxxabi] [libunwind] [libcxxabi][libunwind] Support for using LLVM libc (PR #101688)
endif() -target_link_libraries(unwind_static_objects PRIVATE unwind-headers ${LIBUNWIND_LIBRARIES}) target_compile_options(unwind_static_objects PUBLIC "${LIBUNWIND_ADDITIONAL_COMPILE_FLAGS}") -target_link_libraries(unwind_static_objects PUBLIC "${LIBUNWIND_ADDITIONAL_LIBRARIES}") +target_link_libraries(unwind_static_objects + PUBLIC "${LIBUNWIND_ADDITIONAL_LIBRARIES}" + PRIVATE unwind-headers libunwind-libc-headers ${LIBUNWIND_LIBRARIES}) set_target_properties(unwind_static_objects PROPERTIES CXX_EXTENSIONS OFF @@ -210,7 +212,7 @@ endif() if (LIBUNWIND_ENABLE_STATIC) add_library(unwind_static STATIC) - target_link_libraries(unwind_static PUBLIC unwind_static_objects) + target_link_libraries(unwind_static PUBLIC unwind_static_objects libunwind-libc-static) set_target_properties(unwind_static PROPERTIES LINK_FLAGS "${LIBUNWIND_LINK_FLAGS}" `` https://github.com/llvm/llvm-project/pull/101688 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[libcxxabi] [libunwind] [libcxxabi][libunwind] Support for using LLVM libc (PR #101688)
endif() -target_link_libraries(unwind_static_objects PRIVATE unwind-headers ${LIBUNWIND_LIBRARIES}) target_compile_options(unwind_static_objects PUBLIC "${LIBUNWIND_ADDITIONAL_COMPILE_FLAGS}") -target_link_libraries(unwind_static_objects PUBLIC "${LIBUNWIND_ADDITIONAL_LIBRARIES}") +target_link_libraries(unwind_static_objects + PUBLIC "${LIBUNWIND_ADDITIONAL_LIBRARIES}" + PRIVATE unwind-headers libunwind-libc-headers ${LIBUNWIND_LIBRARIES}) set_target_properties(unwind_static_objects PROPERTIES CXX_EXTENSIONS OFF @@ -210,7 +212,7 @@ endif() if (LIBUNWIND_ENABLE_STATIC) add_library(unwind_static STATIC) - target_link_libraries(unwind_static PUBLIC unwind_static_objects) + target_link_libraries(unwind_static PUBLIC unwind_static_objects libunwind-libc-static) set_target_properties(unwind_static PROPERTIES LINK_FLAGS "${LIBUNWIND_LINK_FLAGS}" `` https://github.com/llvm/llvm-project/pull/101688 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang-tools-extra] [clang-doc] fix flaky test in clang-doc (PR #101387)
@@ -312,6 +322,20 @@ struct SymbolInfo : public Info { std::optional DefLoc; // Location where this decl is defined. llvm::SmallVector Loc; // Locations where this decl is declared. + + bool operator<(const SymbolInfo ) const { +// Sort by declaration location since we want the doc to be +// generated in the order of the source code. ilovepi wrote: Documentation often sorts methods by name, so its easy to find things. As an example, here's Rust's `Vec` documentation https://doc.rust-lang.org/std/vec/struct.Vec.html. Methods are sorted in the navigation window and within the body, despite not being that way in source. Doxygen maintains source order, so its fine to do it that way for now, but we may want to consider making that a configurable option, since I think its more user friendly to do it that way (and arguably more modern). https://github.com/llvm/llvm-project/pull/101387 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[libcxxabi] [libunwind] [libcxxabi][libunwind] Support for using LLVM libc (PR #101688)
D_ENABLE_SHARED) add_library(unwind_shared SHARED) - target_link_libraries(unwind_shared PUBLIC unwind_shared_objects) + target_link_libraries(unwind_shared PUBLIC unwind_shared_objects libunwind-libc-shared) set_target_properties(unwind_shared PROPERTIES LINK_FLAGS "${LIBUNWIND_LINK_FLAGS}" @@ -188,9 +189,10 @@ if(CMAKE_C_COMPILER_ID STREQUAL MSVC) else() target_compile_options(unwind_static_objects PRIVATE -fno-rtti) endif() -target_link_libraries(unwind_static_objects PRIVATE unwind-headers ${LIBUNWIND_LIBRARIES}) target_compile_options(unwind_static_objects PUBLIC "${LIBUNWIND_ADDITIONAL_COMPILE_FLAGS}") -target_link_libraries(unwind_static_objects PUBLIC "${LIBUNWIND_ADDITIONAL_LIBRARIES}") +target_link_libraries(unwind_static_objects + PUBLIC "${LIBUNWIND_ADDITIONAL_LIBRARIES}" + PRIVATE unwind-headers libunwind-libc-headers ${LIBUNWIND_LIBRARIES}) set_target_properties(unwind_static_objects PROPERTIES CXX_EXTENSIONS OFF @@ -210,7 +212,7 @@ endif() if (LIBUNWIND_ENABLE_STATIC) add_library(unwind_static STATIC) - target_link_libraries(unwind_static PUBLIC unwind_static_objects) + target_link_libraries(unwind_static PUBLIC unwind_static_objects libunwind-libc-static) set_target_properties(unwind_static PROPERTIES LINK_FLAGS "${LIBUNWIND_LINK_FLAGS}" ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang-tools-extra] Enforce SL.con.3: Add check to replace operator[] with at() [Cont.] (PR #95220)
@@ -0,0 +1,137 @@ +//===--- ProBoundsAvoidUncheckedContainerAccesses.cpp - clang-tidy ===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===--===// + +#include "ProBoundsAvoidUncheckedContainerAccesses.h" +#include "../utils/Matchers.h" +#include "../utils/OptionsUtils.h" +#include "clang/ASTMatchers/ASTMatchFinder.h" +#include "llvm/ADT/StringRef.h" +#include + +using namespace clang::ast_matchers; + +namespace clang::tidy::cppcoreguidelines { + +static constexpr std::array SubscriptDefaultExclusions = { +llvm::StringRef("::std::map"), llvm::StringRef("::std::unordered_map"), +llvm::StringRef("::std::flat_map")}; + +ProBoundsAvoidUncheckedContainerAccesses:: +ProBoundsAvoidUncheckedContainerAccesses(StringRef Name, + ClangTidyContext *Context) +: ClangTidyCheck(Name, Context) { + + SubscriptExcludedClasses = clang::tidy::utils::options::parseStringList( + Options.get("ExcludeClasses", "")); + SubscriptExcludedClasses.insert(SubscriptExcludedClasses.end(), + SubscriptDefaultExclusions.begin(), + SubscriptDefaultExclusions.end()); +} + +void ProBoundsAvoidUncheckedContainerAccesses::storeOptions( +ClangTidyOptions::OptionMap ) { + + if (SubscriptExcludedClasses.size() == SubscriptDefaultExclusions.size()) { +Options.store(Opts, "ExcludeClasses", ""); +return; + } + + // Sum up the sizes of the defaults ( + semicolons), so we can remove them + // from the saved options + size_t DefaultsStringLength = std::transform_reduce( + SubscriptDefaultExclusions.begin(), SubscriptDefaultExclusions.end(), + SubscriptDefaultExclusions.size(), std::plus<>(), + [](llvm::StringRef Name) { return Name.size(); }); + + std::string Serialized = clang::tidy::utils::options::serializeStringList( + SubscriptExcludedClasses); + + Options.store(Opts, "ExcludeClasses", +Serialized.substr(0, Serialized.size() - DefaultsStringLength)); +} + +static const CXXMethodDecl * +findAlternative(const CXXMethodDecl *MatchedOperator) { + const CXXRecordDecl *Parent = MatchedOperator->getParent(); + const QualType SubscriptThisObjType = + MatchedOperator->getFunctionObjectParameterReferenceType(); + + for (const CXXMethodDecl *Method : Parent->methods()) { +// Require 'Method' to be as accessible as 'MatchedOperator' or more +if (MatchedOperator->getAccess() < Method->getAccess()) + continue; + +if (MatchedOperator->isConst() != Method->isConst()) + continue; + +const QualType AtThisObjType = +Method->getFunctionObjectParameterReferenceType(); +if (SubscriptThisObjType != AtThisObjType) + continue; + +const bool CorrectName = Method->getNameInfo().getAsString() == "at"; PBHDK wrote: If I use `const bool CorrectName = Method->getName() == "at";` instead, it immediately triggers the assert in `getName()` when running the tests. Was your suggestion to only use `getName()` when we can and fall back to `getNameInfo()->getAsString()` otherwise? https://github.com/llvm/llvm-project/pull/95220 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [Modules][Diagnostic] Mention which AST file's options differ from the current TU options. (PR #101413)
vsapsai wrote: > I'd suggest keeping this PR and the resulting commit free of any formatting > changes and then commit the results from `clang-format` as a separate commit. Will do that. > After #101280 I had the impression that we're trying to be very precise about > reporting whether an AST file is a precompiled header, module file, or other. > Why doesn't this PR implement that? To be clear this change is already a big > improvement as is, but I'd like to understand if further polish and > unification is still planned. I was precise in #101280 because it was easy to do, not because I was trying hard. The main reason I didn't use a similar approach in this PR is because ModuleKind isn't always available. For example, the diagnostic can be reached through a call stack like ``` ASTReader::isAcceptableASTFile ASTReader::readASTFileControlBlock ASTReader::ReadOptionsBlock ASTReader::ParseLanguageOptions ASTReaderListener::ReadLanguageOptions checkLanguageOptions ``` and my understanding is that `isAcceptableASTFile` doesn't know the module kind by design. There are ways to deal with it, of course. I had in mind passing `std::optional` alongside `StringRef Filename` everywhere but don't think the extra complexity is worth the resulting precision. As far as I remember, module kind is decided during a module file creation and we don't support interpreting the same .pcm file as a different kind (cannot use PCH as a preamble, for instance). That's why I think emitting a module kind in a diagnostic isn't particularly valuable. Over time that can change but right now I'm not planning a further polish. https://github.com/llvm/llvm-project/pull/101413 _______ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[llvm-branch-commits] [llvm] release/19.x: [VP] Refactor VectorBuilder to avoid layering violation. NFC (#99276) (PR #101102)
chapuni wrote: @ornata I haven't checked modules build (neither c++20 modules nor clang modules). Suppose Bazel is a good tool to detect broken dependencies. :) https://github.com/llvm/llvm-project/pull/101102 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[clang] [analyzer] Fix crash on using `bitcast(, )` as array subscript (PR #101647)
steakhal wrote: Backporting to clang-19 in https://github.com/llvm/llvm-project/pull/101684 https://github.com/llvm/llvm-project/pull/101647 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits