{"push_id":1900829984,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"561d38262810cc74e16d604bb4a83b22b77730af","before":"04793e1be564e7fd1a1594d5d228cafa7fb7931c","commits":[{"sha":"561d38262810cc74e16d604bb4a83b22b77730af","author":{"name":"Hiroshi Yamauchi","email":"7c20a33e28aa580104a04d001b93616bba7e98ae@google.com"},"message":"[LVI] Constant-propagate a zero extension of the switch condition value through case edges\n\nSummary:\n(This is a second attempt as https://reviews.llvm.org/D34822 was reverted.)\n\nLazyValueInfo currently computes the constant value of the switch condition through case edges, which allows the constant value to be propagated through the case edges.\n\nBut we have seen a case where a zero-extended value of the switch condition is used past case edges for which the constant propagation doesn't occur.\n\nThis patch adds a small logic to handle such a case in getEdgeValueLocal().\n\nThis is motivated by the Python 2.7 eval loop in PyEval_EvalFrameEx() where the lack of the constant propagation causes longer live ranges and more spill code than necessary.\n\nWith this patch, we see that the code size of PyEval_EvalFrameEx() decreases by ~5.4% and a performance test improves by ~4.6%.\n\nReviewers: sanjoy\n\nReviewed By: sanjoy\n\nSubscribers: llvm-commits\n\nDifferential Revision: https://reviews.llvm.org/D36247","distinct":true,"url":"https://api.github.com/repos/llvm-project/llvm-project-20170507/commits/561d38262810cc74e16d604bb4a83b22b77730af"}]}
{"actor":{"display_login":"chapuni"}}