aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVitaly Buka <vitalybuka@google.com>2024-01-05 16:52:19 -0800
committerVitaly Buka <vitalybuka@google.com>2024-01-05 16:52:19 -0800
commitcc9f340c83aa00a574119eaec91a8b68c88542eb (patch)
tree3c0f3c4fe48fd6f01651621166bbf70bec81a235
parent484721a2c62b33385bf8cfec2f00450c2079a2a2 (diff)
parentf74ce000752d565dbd9d6fcc1e2ed7f49ff7e398 (diff)
downloadllvm-users/vitalybuka/spr/main.nfcsanitizer-move-symbolizedstackholder-into-sanitizer_common.zip
llvm-users/vitalybuka/spr/main.nfcsanitizer-move-symbolizedstackholder-into-sanitizer_common.tar.gz
llvm-users/vitalybuka/spr/main.nfcsanitizer-move-symbolizedstackholder-into-sanitizer_common.tar.bz2
Created using spr 1.3.4 [skip ci]
-rw-r--r--llvm/test/tools/lto/discard-value-names.ll37
1 files changed, 37 insertions, 0 deletions
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 0000000..7e2c821
--- /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
+}