Implement discontinuous loops AST analysis This will allow narrowing down which usages of [[flatten]] and [[unroll]] are actually useful. BUG=angleproject:937 BUG=395048 Change-Id: I091e647e3053d22edadd0cabb7c50bd5efa690b2 Reviewed-on: https://chromium-review.googlesource.com/263776 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>