================
@@ -0,0 +1,36 @@
+; RUN: opt -passes=argpromotion -S < %s | FileCheck %s
+
+declare void @sink(i32)
+
+; CHECK-LABEL: define internal void @optnone_promote(ptr %X)
+; CHECK-NOT: DW_CC_nocall
+define internal void @optnone_promote(ptr %X) optnone noinline !dbg !4 {
+ %v = load i32, ptr %X, align 4
+ call void @sink(i32 %v)
+ ret void
+}
+
+; CHECK-LABEL: define internal void @promote(i32 %X.0.val)
+define internal void @promote(ptr %X) {
+ %v = load i32, ptr %X, align 4
+ call void @sink(i32 %v)
+ ret void
+}
+
+define void @caller(ptr %Y, ptr %Z) {
+ call void @optnone_promote(ptr %Y)
+ call void @promote(ptr %Z)
+ ret void
+}
+
+!llvm.dbg.cu = !{!0}
+!llvm.module.flags = !{!3}
+
+!0 = distinct !DICompileUnit(language: DW_LANG_C99, file: !1, producer:
"clang", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug)
+!1 = !DIFile(filename: "optnone.c", directory: "/")
+!2 = !DISubroutineType(types: !5)
+!3 = !{i32 2, !"Debug Info Version", i32 3}
----------------
jhuber6 wrote:
No, I can clean it up, just copied directly.
https://github.com/llvm/llvm-project/pull/211804
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits