hfinkel added a comment. Thanks for starting on this. Can you go ahead and replace the sroa calls with mem2reg calls for `O1` and then see what that does to the performance? That strikes me as a major change, but certainly one that potentially makes sense, so I'd rather we go ahead and test it now before we make decisions about other adjustments.
FWIW, I thought that we might run InstCombine less often (or maybe replace it with InstSimplify, in some places). Did you try that? ================ Comment at: llvm/lib/Transforms/IPO/PassManagerBuilder.cpp:362 + // TODO: Investigate the cost/benefit of tail call elimination on debugging. MPM.add(createTailCallEliminationPass()); // Eliminate tail calls ---------------- By definition, this loses information from the call stack, no? ================ Comment at: llvm/lib/Transforms/IPO/PassManagerBuilder.cpp:432 + // TODO: Investigate if this is too expensive at O1. MPM.add(createAggressiveDCEPass()); // Delete dead instructions ---------------- Yes, I'd fall back to using regular DCE. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D65410/new/ https://reviews.llvm.org/D65410 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits