[llvm-branch-commits] [llvm] [PowerPC][GlobalMerge] Reduce TOC usage by merging internal and private global data (PR #101224)

2024-08-02 Thread Amy Kwan via llvm-branch-commits
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)

2024-08-02 Thread Mital Ashok via cfe-commits

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)

2024-08-02 Thread Mital Ashok via cfe-commits

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)

2024-08-02 Thread Mital Ashok via cfe-commits
;
+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)

2024-08-02 Thread via llvm-branch-commits
) 
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)

2024-08-02 Thread Matt Arsenault via llvm-branch-commits


@@ -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)

2024-08-02 Thread Akash Banerjee via llvm-branch-commits
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)

2024-08-02 Thread via cfe-commits
: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)

2024-08-02 Thread Mital Ashok via cfe-commits
(__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)

2024-08-02 Thread Craig Topper via cfe-commits

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)

2024-08-02 Thread Craig Topper via cfe-commits

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)

2024-08-02 Thread Craig Topper via cfe-commits

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...

2024-08-02 Thread 'dependabot[bot]' via Jenkins Commits
  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)

2024-08-02 Thread Craig Topper via cfe-commits

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]

2024-08-02 Thread 'Basil Crow' via Jenkins Commits
  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...

2024-08-02 Thread 'dependabot[bot]' via Jenkins Commits
  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...

2024-08-02 Thread 'dependabot[bot]' via Jenkins Commits
  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...

2024-08-02 Thread 'dependabot[bot]' via Jenkins Commits
  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...

2024-08-02 Thread 'dependabot[bot]' via Jenkins Commits
  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...

2024-08-02 Thread 'dependabot[bot]' via Jenkins Commits
  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...

2024-08-02 Thread 'dependabot[bot]' via Jenkins Commits
  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...

2024-08-02 Thread 'dependabot[bot]' via Jenkins Commits
  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]

2024-08-02 Thread 'Basil Crow' via Jenkins Commits
  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)

2024-08-02 Thread 'dependabot[bot]' via Jenkins Commits
  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)

2024-08-02 Thread Adrian Prantl via lldb-commits


@@ -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)

2024-08-02 Thread Adrian Prantl via lldb-commits

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)

2024-08-02 Thread Abhina Sree via cfe-commits

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)

2024-08-02 Thread via cfe-commits

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)

2024-08-02 Thread Kiran Chandramohan via cfe-commits

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)

2024-08-02 Thread via cfe-commits

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)

2024-08-02 Thread Aaron Ballman via cfe-commits

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)

2024-08-02 Thread Aaron Ballman via cfe-commits

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)

2024-08-02 Thread Aaron Ballman via cfe-commits


@@ -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)

2024-08-02 Thread Abhina Sree via cfe-commits

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)

2024-08-02 Thread via cfe-commits

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)

2024-08-02 Thread Abhina Sree via cfe-commits

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)

2024-08-02 Thread Abhina Sree via cfe-commits

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)

2024-08-02 Thread Michael Buch via lldb-commits

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)

2024-08-02 Thread via llvm-branch-commits
%.*]] = 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)

2024-08-02 Thread Matt Arsenault via llvm-branch-commits

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)

2024-08-02 Thread Michael Buch via lldb-commits


@@ -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)

2024-08-02 Thread Med Ismail Bennani via lldb-commits

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)

2024-08-02 Thread via lldb-commits
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)

2024-08-02 Thread Matt Arsenault via llvm-branch-commits

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)

2024-08-02 Thread via llvm-branch-commits
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)

2024-08-02 Thread Matt Arsenault via llvm-branch-commits

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)

2024-08-02 Thread Matt Arsenault via llvm-branch-commits

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)

2024-08-02 Thread Matt Arsenault via llvm-branch-commits
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)

2024-08-02 Thread Matt Arsenault via llvm-branch-commits
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)

2024-08-02 Thread Michael Buch via lldb-commits
/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

2024-08-02 Thread 'Stefan Spieker' via Jenkins Commits
  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)

2024-08-02 Thread via lldb-commits

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)

2024-08-02 Thread Michael Buch via lldb-commits

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)

2024-08-02 Thread Michael Buch via lldb-commits

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)

2024-08-02 Thread Matt Arsenault via llvm-branch-commits
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)

2024-08-02 Thread Matt Arsenault via llvm-branch-commits
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)

2024-08-02 Thread Matt Arsenault via llvm-branch-commits
(__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)

2024-08-02 Thread Matt Arsenault via llvm-branch-commits
@ -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)

2024-08-02 Thread Matt Arsenault via llvm-branch-commits
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)

2024-08-02 Thread Matt Arsenault via cfe-commits
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)

2024-08-02 Thread LLVM Continuous Integration via cfe-commits
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)

2024-08-02 Thread Gábor Horváth via llvm-branch-commits

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)

2024-08-02 Thread via cfe-commits

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)

2024-08-02 Thread LLVM Continuous Integration via cfe-commits
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)

2024-08-02 Thread Med Ismail Bennani via lldb-commits

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)

2024-08-02 Thread Matt Arsenault via llvm-branch-commits
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)

2024-08-02 Thread Phoebe Wang via cfe-commits


@@ -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)

2024-08-02 Thread Matt Arsenault via llvm-branch-commits
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)

2024-08-02 Thread LLVM Continuous Integration via cfe-commits
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)

2024-08-02 Thread David Spickett via lldb-commits

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)

2024-08-02 Thread Matt Arsenault via llvm-branch-commits
(__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)

2024-08-02 Thread Abhina Sree via cfe-commits
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)

2024-08-02 Thread via cfe-commits
 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)

2024-08-02 Thread Jessica Clarke via cfe-commits

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)

2024-08-02 Thread Jessica Clarke via cfe-commits


@@ -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)

2024-08-02 Thread Adrian Prantl via lldb-commits


@@ -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)

2024-08-02 Thread Jessica Clarke via cfe-commits


@@ -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)

2024-08-02 Thread Brandon Wu via cfe-commits

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)

2024-08-02 Thread Brandon Wu via cfe-commits

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)

2024-08-02 Thread Jan Svoboda via cfe-commits

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)

2024-08-02 Thread Adrian Prantl via lldb-commits

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)

2024-08-02 Thread Volodymyr Sapsai via cfe-commits

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)

2024-08-02 Thread via cfe-commits
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)

2024-08-02 Thread Volodymyr Sapsai via cfe-commits

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)

2024-08-02 Thread Brandon Wu via cfe-commits

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)

2024-08-02 Thread Dmitry Chestnykh via cfe-commits

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)

2024-08-02 Thread Dmitry Chestnykh via cfe-commits

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)

2024-08-02 Thread via cfe-commits

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)

2024-08-02 Thread Petr Hosek via cfe-commits

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)

2024-08-02 Thread Dmitry Chestnykh via cfe-commits

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)

2024-08-02 Thread Volodymyr Sapsai via cfe-commits


@@ -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)

2024-08-02 Thread Craig Topper via cfe-commits


@@ -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)

2024-08-02 Thread via cfe-commits
 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)

2024-08-02 Thread via cfe-commits
 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)

2024-08-02 Thread Paul Kirth via cfe-commits


@@ -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)

2024-08-02 Thread Petr Hosek via cfe-commits
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)

2024-08-02 Thread Paul Heidekrüger via cfe-commits


@@ -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)

2024-08-02 Thread Volodymyr Sapsai via cfe-commits

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)

2024-08-02 Thread NAKAMURA Takumi via llvm-branch-commits

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)

2024-08-02 Thread Balazs Benics via cfe-commits

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


<    4   5   6   7   8   9   10   11   12   13   >