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