[llvm] Allow optimization of __size_returning_new variants. (PR #102258)

Yingwei Zheng via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 13 22:29:42 PDT 2024


================
@@ -340,6 +340,94 @@ define void @array_new_align_nothrow_hot_cold() {
   ret void
 }
 
+;; Check that operator __size_returning_new(unsigned long) converted to
+;; __size_returning_new(unsigned long, __hot_cold_t) with a hot or cold attribute.
+; HOTCOLD-LABEL: @size_returning_test()
+define void @size_returning_test() {
+  ;; Attribute cold converted to __hot_cold_t cold value.
+  ; HOTCOLD: @__size_returning_new_hot_cold(i64 10, i8 [[COLD]])
+  %call = call {i8*, i64} @__size_returning_new(i64 10) #3
----------------
dtcxzyw wrote:

```suggestion
  %call = call {ptr, i64} @__size_returning_new(i64 10) #3
```
Please use opaque pointers.


https://github.com/llvm/llvm-project/pull/102258


More information about the llvm-commits mailing list