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

Reply via email to