GitHub PushEvent at 2014-12-13 00:02:28
Repository: llvm-project-submodule
Actor: chapuni
Payload: {"shas":[["d12613d60a74381ff4ba10d063dd251a0cae83d8","fbe9e45cbb51ebd86366cc402735e3c7e9b1e064@gmail.com","ValueTracking: Don't recurse too deeply in computeKnownBitsFromAssume\n\nRespect the MaxDepth recursion limit, doing otherwise will trigger an\nassert in computeKnownBits.\n\nThis fixes PR21891.","David Majnemer",true],["f4cbd5fbd583aaeb8ecb40ee728c8707c2f23b0b","76a8e82c3bdc78a1f9490a34857cdee8b1b06a45@anl.gov","[PowerPC] Add a DAGToDAG peephole to remove unnecessary zero-exts\n\nOn PPC64, we end up with lots of i32 -> i64 zero extensions, not only from all\nof the usual places, but also from the ABI, which specifies that values passed\nare zero extended. Almost all 32-bit PPC instructions in PPC64 mode are defined\nto do *something* to the higher-order bits, and for some instructions, that\naction clears those bits (thus providing a zero-extended result). This is\nespecially common after rotate-and-mask instructions. Adding an additional\ninstruction to zero-extend the results of these instructions is unnecessary.\n\nThis PPCISelDAGToDAG peephole optimization examines these zero-extensions, and\nlooks back through their operands to see if all instructions will implicitly\nzero extend their results. If so, we convert these instructions to their 64-bit\nvariants (which is an internal change only, the actual encoding of these\ninstructions is the same as the original 32-bit ones) and remove the\nunnecessary zero-extension (changing where the INSERT_SUBREG instructions are\nto make everything internally consistent).","Hal Finkel",true]],"size":2,"ref":"refs/heads/master","head":"f4cbd5fbd583aaeb8ecb40ee728c8707c2f23b0b"}