Index: lib/Transforms/Utils/NameAnonFunctions.cpp =================================================================== --- lib/Transforms/Utils/NameAnonFunctions.cpp +++ lib/Transforms/Utils/NameAnonFunctions.cpp @@ -67,10 +67,10 @@ bool Changed = false; ModuleHasher ModuleHash(M); int count = 0; - for (auto &F : M) { - if (F.hasName()) + for (auto &GO : M.global_objects()) { + if (GO.hasName()) continue; - F.setName(Twine("anon.") + ModuleHash.get() + "." + Twine(count++)); + GO.setName(Twine("anon.") + ModuleHash.get() + "." + Twine(count++)); Changed = true; } return Changed; Index: test/Transforms/NameAnonFunctions/rename.ll =================================================================== --- test/Transforms/NameAnonFunctions/rename.ll +++ test/Transforms/NameAnonFunctions/rename.ll @@ -11,6 +11,7 @@ ret void } +; CHECK: @anon.acbd18db4cc2f85cedef654fccc4a4d8.3 = global i8 0 ; CHECK: define void @anon.acbd18db4cc2f85cedef654fccc4a4d8.0() ; CHECK: define void @anon.acbd18db4cc2f85cedef654fccc4a4d8.1() ; CHECK: define void @anon.acbd18db4cc2f85cedef654fccc4a4d8.2() @@ -25,3 +26,5 @@ ret void } + +@3 = global i8 0