{"push_id":1173346746,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"6010331918bcba6b7f8637609ff6650db1e88e00","before":"0c8393cdcd9c08e20211c69fd7414cf62b68fa4f","commits":[{"sha":"6010331918bcba6b7f8637609ff6650db1e88e00","author":{"name":"Kyle Butt","email":"477d37cf5ac939d7e8c2d47b367cf6d6e47a866e@iteratee.net"},"message":"Codegen: LICM Remove check for exactly 1 register def.\n\nWhen considering whether to split an instruction with a memory operand\ninto an explicit load and a register-based instruction, we currently\ncheck that the resulting instruction has exactly 1 def. This prevents 2\nimportant LICM optimizations: compares with memory operands, and double\nindirect calls. All the tests and the test-suite pass without the check.\nMy guess as to original intent is to limit the additional register pressure\ncreated by the new instruction, but given that we only split out a single\nregister, it is already limited.\n\nThe licm-dominance test now checks actual memory loads for hoisting instead of\nundef, and it tests compares.\nhoist-invariant-load.ll now checks for 2 hoists, the intended hoist, and a bonus\nfrom calling a got-relative function in a loop.","distinct":true,"url":"https://api.github.com/repos/llvm-project/llvm-project/commits/6010331918bcba6b7f8637609ff6650db1e88e00"}]}
{"actor":{"display_login":"chapuni"}}