You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Language grammar changes to add for loop
* IR classes for For and ForInStatements
* For statement namespace fixes
* Recognize "for" token
* Support for for-loops in toP4
* forloop initial test for parsing
* Add support for break / continue in loops. No sema checks
* Add semantic checks for continue and break statements
* Minimize stderr diffs
- due to ';' now being no longer part of the declaration, one character
difference in a bunch of stderr traces
* sideEffects support for For statements
- keep a PathExpression of the var in ForInStatements, so that the
symbol can be moved to the top level (from Anton Korobeynikov
<anton@korobeynikov.info>)
* loop fixes to get through midend/p4test
- allow ForIn to refer to decl in the enclosing scope
- ensure valid P4 code output for loops in toP4
- fix testcase to no deadcode elim everything
* def_use for loops
* Split loop visit_children to separate source file
* loop support in ControlFlowVisitor
* loop support for LocalCopyprop
* loop support for midend ComputeDefUse
* Fix local_copyprop to not copyprop illegally into loops
* Disable ActionSynthesis for statments in for init/update
- Some hacks here to figure out which child is which for a ForStatement
- Should be part of ActionSynthesis policy somehow?
* loop support in FindUninitialized
* Allow annotations on for statements
* clang-format
* Added testcases
* Minor typos fixes for loops
- 'for' instead of 'foreach' in comments/error messages
- fix constant in loop-visitor
* Redo loop flow analysis -- fix def_use and ControlFlowVisitor
- flow state after loop needs to be union of state after the condition
check (not bottom of loop) and all break states.
- condition of for..in is before setting index var
* Fix toP4 for break/continue + more tests
* Unsupported error for loops in BMV2
* Comment typos/improvements
* Insert break; when removing return/exit from loop
* initial UnrollLoops pass
- only handles simple for v in k1..k2 loops; general for TBD
* GlobalCopyprop support for loops
* UnrollLoops for ForStatement
* Repeat UnrollLoops + constfold + copyprop to fixed point.
* Fix and generalize ForStatement unrolling
- allow more patterns of tests and increments
- deal properly with updates in the presence of break&continue
- single test to skip rest of loop after break rather than rechecking
the flag every time.
- remove redundant inits of flags
* UnrollLoops fix for break after continue
* Testcases for expected errors and nested loops with return
* Typecheck/inference into ForIn loop ranges
---------
Co-authored-by: Andy Fingerhut <andy_fingerhut@alum.wustl.edu>
Co-authored-by: Anton Korobeynikov <anton@korobeynikov.info>
0 commit comments