From 41e7e565eb3dfa13562cbfa3e8641874c2c6d66c Mon Sep 17 00:00:00 2001 From: Sai Praveen Bangaru <31557731+saipraveenb25@users.noreply.github.com> Date: Fri, 4 Apr 2025 14:12:27 -0400 Subject: Add a loop analysis step to infer the exit values of loop phi parameters. (#6696) * Initial loop analysis pass * More changes for a single-pass implication propagation * Update slang-ir-autodiff-loop-analysis.cpp * Cleanup + new system for loop analysis * Fixup bugs in loop analysis * Remove some relation types to simplify the analysis. Add test * Remove unused * Address comments * Fix issue with continue loops * Update reverse-loop-exit-value-inference-1.slang * Update reverse-continue-loop.slang --- tests/autodiff/reverse-continue-loop.slang | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'tests/autodiff/reverse-continue-loop.slang') diff --git a/tests/autodiff/reverse-continue-loop.slang b/tests/autodiff/reverse-continue-loop.slang index 51f17b611..77bfb358c 100644 --- a/tests/autodiff/reverse-continue-loop.slang +++ b/tests/autodiff/reverse-continue-loop.slang @@ -9,14 +9,13 @@ RWStructuredBuffer outputBuffer; typedef DifferentialPair dpfloat; typedef float.Differential dfloat; -//CHK-DAG: note: checkpointing context of 24 bytes associated with function: 'test_loop_with_continue' +//CHK-DAG: note: checkpointing context of 20 bytes associated with function: 'test_loop_with_continue' [BackwardDifferentiable] float test_loop_with_continue(float y) { //CHK-DAG: note: 20 bytes (FixedArray ) used to checkpoint the following item: float t = y; - //CHK-DAG: note: 4 bytes (int32_t) used to checkpoint the following item: for (int i = 0; i < 3; i++) { if (t > 4.0) -- cgit v1.2.3