<div dir="ltr">Hi<div><br></div><div>I write a LLVM function pass to try to analysis all the functions inside one binary. </div><div><br></div><div>However, this pass has been run for 80 CPU hours.</div><div><br></div><div>You can refer to <a href="https://groups.google.com/forum/#!searchin/llvm-dev/slow$20pass%7Csort:date/llvm-dev/BNbqiSbrh70/mQFZkAj-BgAJ">https://groups.google.com/forum/#!searchin/llvm-dev/slow$20pass%7Csort:date/llvm-dev/BNbqiSbrh70/mQFZkAj-BgAJ</a></div><div><br></div><div>I look at the functions it analyzed. Then I found some very strange function name. There are more than one hundred functions whose name is output_xxx. I randomly select some of them and found that the IR are all the same like below:</div><div><br></div><div><div>Source Line:115|Column:11|File:insn-output.c|IR:  call void @llvm.dbg.value(metadata %struct.rtx_def** %operands, metadata !441244, metadata !DIExpression()), !dbg !441246</div><div>Source Line:116|Column:10|File:insn-output.c|IR:  call void @llvm.dbg.value(metadata %struct.rtx_def* %insn, metadata !441245, metadata !DIExpression()), !dbg !441247</div><div>Source Line:118|Column:9|File:insn-output.c|IR:  %call = tail call fastcc i8* @output_fp_compare(%struct.rtx_def* %insn, %struct.rtx_def** %operands, i32 0, i32 0) #5, !dbg !43814</div><div>Source Line:118|Column:2|File:insn-output.c|IR:  ret i8* %call, !dbg !43815</div></div><div><br></div><div>I am not sure this is the reason that make my pass running such a long time. The target bitcode is just less than 50Mb. I don't think it will cost me so much time. Do anyone has any ideas? I</div><div><br></div><div>Regards</div><div>Muhui</div></div>