From 80c8f13e369b0bf0b86d2b19a4902594e6d67e5c Mon Sep 17 00:00:00 2001 From: Ellie Hermaszewska Date: Fri, 18 Aug 2023 05:57:57 +0800 Subject: Be more careful about merge blocks during loop inversion (#3136) * fix block eater * Be more careful about merge blocks during loop inversion * Restrict loop inversion to loops without continue jumps * Remove multiple back-edges from loops for SPIR-V * Wiggle cross compile test output * Make loop-inversion more conservative * Allow loops on false side in cfg normalization * Do not set loop continue block during inversion * Add loop inversion test to failing test list for spirv * Simplify single use continue blocks in spirv legalization * wobble expected failure list --------- Co-authored-by: Yong He --- tests/cross-compile/geometry-shader.slang.glsl | 2 +- tests/expected-failure.txt | 3 --- 2 files changed, 1 insertion(+), 4 deletions(-) (limited to 'tests') diff --git a/tests/cross-compile/geometry-shader.slang.glsl b/tests/cross-compile/geometry-shader.slang.glsl index 3b7ecca43..da7ae19cd 100644 --- a/tests/cross-compile/geometry-shader.slang.glsl +++ b/tests/cross-compile/geometry-shader.slang.glsl @@ -80,12 +80,12 @@ void main() int ii_1 = ii_0 + 1; if(ii_1 < 3) { - ii_0 = ii_1; } else { break; } + ii_0 = ii_1; } return; } diff --git a/tests/expected-failure.txt b/tests/expected-failure.txt index a04eb90c9..4e85e1b39 100644 --- a/tests/expected-failure.txt +++ b/tests/expected-failure.txt @@ -54,7 +54,6 @@ tests/bugs/byte-address-buffer-interlocked-add-f32.slang (vk) tests/bugs/dxbc-double-problem.slang.1 (vk) tests/bugs/gh-3075.slang.2 (vk) tests/bugs/glsl-static-const-array.slang (vk) -tests/bugs/loop-optimize.slang.1 (vk) tests/bugs/matrix-reshape.slang.1 (vk) tests/bugs/nested-switch.slang.1 (vk) tests/bugs/parameter-block-load.slang (vk) @@ -176,5 +175,3 @@ tests/spirv/spirv-instruction.slang (vk) tests/type/texture-sampler/texture-sampler-2d.slang (vk) tests/autodiff/existential-1.slang.1 (vk) tests/autodiff/existential-2.slang.1 (vk) -tests/ir/loop-inversion.slang.4 (vk) -tests/spirv/direct-spirv-control-flow-2.slang (vk) \ No newline at end of file -- cgit v1.2.3