{"push_id":1237355744,"size":4,"distinct_size":4,"ref":"refs/heads/validator-cfg-fixes","head":"b51b80980c57b61b061aa203a9d481e51af2c5cd","before":"1ae6de8f6809313d19070cba7fc4fb646b094748","commits":[{"sha":"71fac5a29c28c8cc44df9427e8fe1e131b8ad380","author":{"name":"Lei Zhang","email":"458d5b9d1019bc31d55bbd8b293d65bd60e265cc@google.com"},"message":"Check configuration and gmock existence when adding unit tests.","distinct":true,"url":"https://api.github.com/repos/dneto0/SPIRV-Tools/commits/71fac5a29c28c8cc44df9427e8fe1e131b8ad380"},{"sha":"bb4c0b1af6787da57b95219599f7abf473f7d820","author":{"name":"David Neto","email":"63a9873e6e504a28d28c38a2724837c176e68e01@google.com"},"message":"Rename a variable so it's consistent with spec\n\nIn the spec \"continue block\" is a block with a branch\nto the Continue Target.  It's not the Continue Target.","distinct":true,"url":"https://api.github.com/repos/dneto0/SPIRV-Tools/commits/bb4c0b1af6787da57b95219599f7abf473f7d820"},{"sha":"3bf4dc102f4ffa2262b9a8d678d732ce66b08f81","author":{"name":"David Neto","email":"63a9873e6e504a28d28c38a2724837c176e68e01@google.com"},"message":"Add BasicBlock methods: dominates postdominates","distinct":true,"url":"https://api.github.com/repos/dneto0/SPIRV-Tools/commits/3bf4dc102f4ffa2262b9a8d678d732ce66b08f81"},{"sha":"b51b80980c57b61b061aa203a9d481e51af2c5cd","author":{"name":"David Neto","email":"63a9873e6e504a28d28c38a2724837c176e68e01@google.com"},"message":"Validator cfg fixes\n\n- Find unreachable continue targets.  Look for back edges\n  with a DFS traversal separate from the dominance traversals,\n  where we count the OpLoopMerge from the header to the continue\n  target as an edge in the graph.\n\n- It's ok for a loop to have multiple back edges, provided\n  they are all from the same block, and we call that the latch block.\n  This may require a clarification/fix in the SPIR-V spec.\n\n- Compute postdominance correctly for infinite loop:\n  Bias *predecessor* traversal root finding so that you use\n  a later block in the original list.  This ensures that\n  for certain simple infinite loops in the CFG where neither\n  block branches to a node without successors, that we'll\n  compute the loop header as dominating the latch block, and the\n  latch block as postdominating the loop header.","distinct":true,"url":"https://api.github.com/repos/dneto0/SPIRV-Tools/commits/b51b80980c57b61b061aa203a9d481e51af2c5cd"}]}
{"actor":{"display_login":"dneto0"}}