[llvm] SimplifyLibCalls: Use default globals address space when building new global strings. (PR #118729)
Alexander Richardson via llvm-commits
llvm-commits at lists.llvm.org
Sun Dec 8 17:56:42 PST 2024
================
@@ -0,0 +1,35 @@
+; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
+; Test that the printf library call simplifier works correctly.
+;
+; RUN: opt < %s -passes=instcombine -S | FileCheck %s
+
+target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:128:128-G200"
+
+ at hello_world = addrspace(200) constant [13 x i8] c"hello world\0A\00"
+ at percent_s = addrspace(200) constant [4 x i8] c"%s\0A\00"
+
+declare i32 @printf(ptr addrspace(200) , ...)
+declare i32 @puts(ptr addrspace(200))
----------------
arichardson wrote:
In the past I've been wondering if the cleanest approach here would be to have a "libcalls" address space in the data layout. This would also apply to the result of malloc and free arg. Might be useful for GPU targets if they don't use zero.
https://github.com/llvm/llvm-project/pull/118729
More information about the llvm-commits
mailing list