[llvm] 77724d5 - [LTO] Add test showing lto-discard-value-names option being ignored.

Florian Hahn via llvm-commits llvm-commits at lists.llvm.org
Fri Jan 5 14:34:21 PST 2024


Author: Florian Hahn
Date: 2024-01-05T22:33:37Z
New Revision: 77724d5f46efea1306e036aa0eca8e2ecb64916c

URL: https://github.com/llvm/llvm-project/commit/77724d5f46efea1306e036aa0eca8e2ecb64916c
DIFF: https://github.com/llvm/llvm-project/commit/77724d5f46efea1306e036aa0eca8e2ecb64916c.diff

LOG: [LTO] Add test showing lto-discard-value-names option being ignored.

At the moment, lto-discard-value-names isn't handled properly by libLTO.

Added: 
    llvm/test/tools/lto/discard-value-names.ll

Modified: 
    

Removed: 
    


################################################################################
diff  --git a/llvm/test/tools/lto/discard-value-names.ll b/llvm/test/tools/lto/discard-value-names.ll
new file mode 100644
index 00000000000000..7e2c82119028ab
--- /dev/null
+++ b/llvm/test/tools/lto/discard-value-names.ll
@@ -0,0 +1,37 @@
+; RUN: llvm-as %s -o %t.o
+; RUN: %ld64 -lto_library %llvmshlibdir/libLTO.dylib -dylib -arch x86_64 -macos_version_min 10.10.0 -o %t.dylib %t.o -save-temps  -undefined dynamic_lookup -exported_symbol _bar -lSystem -mllvm -lto-discard-value-names
+; RUN: llvm-dis %t.dylib.lto.opt.bc -o - | FileCheck --check-prefix=DISCARD %s
+
+; RUN: %ld64 -lto_library %llvmshlibdir/libLTO.dylib -dylib -arch x86_64 -macos_version_min 10.10.0 -o %t.dylib %t.o -save-temps  -undefined dynamic_lookup -exported_symbol _bar -lSystem -mllvm -lto-discard-value-names=false
+; RUN: llvm-dis %t.dylib.lto.opt.bc -o - | FileCheck --check-prefix=KEEP %s
+
+; FIXME: -lto-discard-value-names is ignored at the moment.
+; DISCARD: %cmp.i = icmp
+; DISCARD: %add = add i32
+
+; KEEP: %cmp.i = icmp
+; KEEP : %add = add i32
+
+target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
+target triple = "x86_64-apple-macosx10.10.0"
+
+declare void @external()
+
+define internal i32 @foo(i32 %a, i32 %b) {
+entry:
+  %cmp = icmp ult i32 %a, %b
+  br i1 %cmp, label %then, label %else
+
+then:
+  call void @external()
+  ret i32 10
+
+else:
+  ret i32 20
+}
+
+define i32 @bar(i32 %a) {
+  %res = call i32 @foo(i32 %a, i32 10)
+  %add = add i32 %res, %a
+  ret i32 %add
+}


        


More information about the llvm-commits mailing list