Check strict domination of merge block
authorDavid Neto <dneto@google.com>
Thu, 9 Feb 2017 19:23:52 +0000 (14:23 -0500)
committerDavid Neto <dneto@google.com>
Fri, 10 Feb 2017 17:26:10 +0000 (12:26 -0500)
commitdadd5161bb37c3a190daf4eae24dcebe816f39a4
tree7e56a6169d9302630ef5e3448b93523d465d3e44
parentf2867d748531aa22f56d7ce6cdf06c881322df14
Check strict domination of merge block

If a merge block is reachable, then it must be *strictly* dominated
by its header.  Until now we've allowed the header and the merge
block to be the same.

Fixes https://github.com/KhronosGroup/SPIRV-Tools/issues/551

Also: Use dominates and postdominates methods on BasicBlock to
improve readability.
CHANGES
source/val/construct.h
source/validate_cfg.cpp
test/val/val_cfg_test.cpp