> Thanks for pointing this out. I'll go over it when I'm doing the load/ > store instructions in my pass.
Hi Bill, How involved will MachineLICM be? After LLVM's main LICM pass runs, it seems all that's left for MachineLICM to do are just the constant-pool loads, immediates, etc. that aren't exposed in the main LLVM IR, things that don't require alias analysis. And if that's all it's doing, MachineLICM's traversal could be simplified a little. Instead of visiting each loop individually, taking care to avoid revisiting to blocks within inner loops, the pass could just traverse entire outer-most loops, which will implicitly include the blocks of any inner loops. Instructions nested deep in inner loops can then be hoisted all the way out of the outer-most loop in a single step instead of being hoisted out one loop at a time. Dan -- Dan Gohman, Cray Inc. _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits