[PATCH] Remove redundent register mov by improving TwoAddressInstructionPass
Wei Mi
wmi at google.com
Mon Feb 23 19:07:25 PST 2015
Thanks for the review. Will fix according to your comments, and will expand the code to handle the case you mentioned.
To solve the problem generally, I think it is best to implement it in register allocation phase, because it is possible that the choice made in Two Addr Instruction pass may not be the best in register allocation context. gcc removed the regmove pass (it is the correspondence to TwoAddrInst pass) and implemented the heuristic in register allocation, and got better performance. I am collecting testcases for which a better heuristic is necessary. This is a part I like to work on, however, I want to work on it incrementally as you suggest -- solve the common problem in TwoAddrInst pass for the first step.
REPOSITORY
rL LLVM
http://reviews.llvm.org/D7806
EMAIL PREFERENCES
http://reviews.llvm.org/settings/panel/emailpreferences/
More information about the llvm-commits
mailing list