xref: /llvm-project/llvm/test/Transforms/MetaRenamer/exclude-names.ll (revision 2e0a829da880db00e7e6b49cf50e95792dfb2be8)
10b533c18SDmitry Makogon; RUN: opt -passes=metarenamer -rename-exclude-function-prefixes=my_func -rename-exclude-global-prefixes=my_global -rename-exclude-struct-prefixes=my_struct -rename-exclude-alias-prefixes=my_alias -S %s | FileCheck %s
20b533c18SDmitry Makogon
30b533c18SDmitry Makogon; Check that excluded names don't get renamed while all the other ones do
40b533c18SDmitry Makogon
5*2e0a829dSNikita Popov; CHECK: %my_struct1 = type { ptr, i32 }
6*2e0a829dSNikita Popov; CHECK: %my_struct2 = type { ptr, i32 }
7*2e0a829dSNikita Popov; CHECK-NOT: %other_struct = type { ptr, i32 }
80b533c18SDmitry Makogon; CHECK: @my_global1 = global i32 42
90b533c18SDmitry Makogon; CHECK: @my_global2 = global i32 24
100b533c18SDmitry Makogon; CHECK-NOT: @other_global = global i32 24
11*2e0a829dSNikita Popov; CHECK: @my_alias1 = alias i32, ptr @my_global1
12*2e0a829dSNikita Popov; CHECK: @my_alias2 = alias i32, ptr @my_global2
13*2e0a829dSNikita Popov; CHECK-NOT: @other_alias = alias i32, ptr @other_global
140b533c18SDmitry Makogon; CHECK: declare void @my_func1
150b533c18SDmitry Makogon; CHECK: declare void @my_func2
160b533c18SDmitry Makogon; CHECK-NOT: declare void @other_func
170b533c18SDmitry Makogon
180b533c18SDmitry Makogon; CHECK: call void @my_func1
190b533c18SDmitry Makogon; CHECK: call void @my_func2
200b533c18SDmitry Makogon; CHECK-NOT: call void @other_func
21*2e0a829dSNikita Popov; CHECK: load i32, ptr @my_global1
22*2e0a829dSNikita Popov; CHECK: load i32, ptr @my_global2
23*2e0a829dSNikita Popov; CHECK-NOT: load i32, ptr @other_global
24*2e0a829dSNikita Popov; CHECK: load i32, ptr @my_alias1
25*2e0a829dSNikita Popov; CHECK: load i32, ptr @my_alias2
26*2e0a829dSNikita Popov; CHECK-NOT: load i32, ptr @other_alias
270b533c18SDmitry Makogon; CHECK: alloca %my_struct1
280b533c18SDmitry Makogon; CHECK: alloca %my_struct2
290b533c18SDmitry Makogon; CHECK-NOT: alloca %other_struct
300b533c18SDmitry Makogon
31*2e0a829dSNikita Popov%my_struct1 = type { ptr, i32 }
32*2e0a829dSNikita Popov%my_struct2 = type { ptr, i32 }
33*2e0a829dSNikita Popov%other_struct = type { ptr, i32 }
340b533c18SDmitry Makogon@my_global1 = global i32 42
350b533c18SDmitry Makogon@my_global2 = global i32 24
360b533c18SDmitry Makogon@other_global = global i32 24
37*2e0a829dSNikita Popov@my_alias1 = alias i32, ptr @my_global1
38*2e0a829dSNikita Popov@my_alias2 = alias i32, ptr @my_global2
39*2e0a829dSNikita Popov@other_alias = alias i32, ptr @other_global
400b533c18SDmitry Makogondeclare void @my_func1()
410b533c18SDmitry Makogondeclare void @my_func2()
420b533c18SDmitry Makogondeclare void @other_func()
430b533c18SDmitry Makogon
440b533c18SDmitry Makogondefine void @some_func() {
450b533c18SDmitry Makogon  call void @my_func1()
460b533c18SDmitry Makogon  call void @my_func2()
470b533c18SDmitry Makogon  call void @other_func()
48*2e0a829dSNikita Popov  %a = load i32, ptr @my_global1
49*2e0a829dSNikita Popov  %b = load i32, ptr @my_global2
50*2e0a829dSNikita Popov  %c = load i32, ptr @other_global
51*2e0a829dSNikita Popov  %d = load i32, ptr @my_alias1
52*2e0a829dSNikita Popov  %e = load i32, ptr @my_alias2
53*2e0a829dSNikita Popov  %f = load i32, ptr @other_alias
540b533c18SDmitry Makogon  %g = alloca %my_struct1
550b533c18SDmitry Makogon  %h = alloca %my_struct2
560b533c18SDmitry Makogon  %i = alloca %other_struct
570b533c18SDmitry Makogon  ret void
580b533c18SDmitry Makogon}
59