LSL-PyOptimizer/unit_tests/coverage.suite
Sei Lisa 5bfb218505 Perform redundant jump elimination in lastpass
This is a first try at redundant jump removal (jumps that target the very next instruction). It's too basic in several ways.

- The statement is replaced by a ';' instead of removed.
- If the jump was the only statement in an if, when the if becomes empty, it's not folded.
- Jumps that are last in the 'then' branch of if+else are not visible. This would need either to track multiple last statements, or to have some means to anticipate what the next statement is at every statement. A Control Flow Graph would help a lot.
- When a label is immediately followed by a jump, all jumps to that label should target the destination of that jump if it's in scope. Added to TODO.
- It misses some optimizations when not expanding WHILE and FOR into IF/JUMP.

Moving everything to an earlier stage would help with some of these, especially with ';' and 'if' folding. Unconditionally expanding WHILE and FOR would also help.
2019-01-06 22:32:19 +01:00
..
aux-funcs.lsl Add the new test suite. 2019-01-04 20:27:36 +01:00
aux-funcs.out Add the new test suite. 2019-01-04 20:27:36 +01:00
declare-zero.lsl Add the new test suite. 2019-01-04 20:27:36 +01:00
declare-zero.out Add the new test suite. 2019-01-04 20:27:36 +01:00
declare-zero.run Add the new test suite. 2019-01-04 20:27:36 +01:00
existing-filename.lsl Add the new test suite. 2019-01-04 20:27:36 +01:00
existing-filename.out Add the new test suite. 2019-01-04 20:27:36 +01:00
existing-filename.run Add the new test suite. 2019-01-04 20:27:36 +01:00
fndata-change.lsl Add the new test suite. 2019-01-04 20:27:36 +01:00
fndata-change.out Add the new test suite. 2019-01-04 20:27:36 +01:00
fndata-change.run Add the new test suite. 2019-01-04 20:27:36 +01:00
formatting.lsl Add the new test suite. 2019-01-04 20:27:36 +01:00
formatting.out Add the new test suite. 2019-01-04 20:27:36 +01:00
formatting.run Add the new test suite. 2019-01-04 20:27:36 +01:00
help-options.err Add the new test suite. 2019-01-04 20:27:36 +01:00
help-options.run Add the new test suite. 2019-01-04 20:27:36 +01:00
include-header.lsl Add the new test suite. 2019-01-04 20:27:36 +01:00
include-header.out Add the new test suite. 2019-01-04 20:27:36 +01:00
include-header.run Add the new test suite. 2019-01-04 20:27:36 +01:00
inline-1.lsl Allow #pragma OPT inline 2019-01-06 02:20:34 +01:00
inline-1.out Finish inlining for all loop conditions 2019-01-06 01:59:36 +01:00
inline-1.run Allow #pragma OPT inline 2019-01-06 02:20:34 +01:00
inline-2.err Add the new test suite. 2019-01-04 20:27:36 +01:00
inline-2.lsl Add the new test suite. 2019-01-04 20:27:36 +01:00
inline-2.run Add the new test suite. 2019-01-04 20:27:36 +01:00
inline-3.lsl Add the new test suite. 2019-01-04 20:27:36 +01:00
inline-3.out Add the new test suite. 2019-01-04 20:27:36 +01:00
inline-4.lsl Add the new test suite. 2019-01-04 20:27:36 +01:00
inline-4.out Perform redundant jump elimination in lastpass 2019-01-06 22:32:19 +01:00
invalid-file.err Add the new test suite. 2019-01-04 20:27:36 +01:00
invalid-file.run Add the new test suite. 2019-01-04 20:27:36 +01:00
invalid-option.err Add the new test suite. 2019-01-04 20:27:36 +01:00
invalid-option.run Add the new test suite. 2019-01-04 20:27:36 +01:00
jump-opt.lsl Perform redundant jump elimination in lastpass 2019-01-06 22:32:19 +01:00
jump-opt.skp Perform redundant jump elimination in lastpass 2019-01-06 22:32:19 +01:00
linedir.err Add the new test suite. 2019-01-04 20:27:36 +01:00
linedir.lsl Add the new test suite. 2019-01-04 20:27:36 +01:00
linedir.run Add the new test suite. 2019-01-04 20:27:36 +01:00
lsloptimizer.lsl Add the new test suite. 2019-01-04 20:27:36 +01:00
lsloptimizer.out Add the new test suite. 2019-01-04 20:27:36 +01:00
lsloptimizer.run Add the new test suite. 2019-01-04 20:27:36 +01:00
lsloutput-1.err Add the new test suite. 2019-01-04 20:27:36 +01:00
lsloutput-1.lsl Add the new test suite. 2019-01-04 20:27:36 +01:00
lsloutput-1.out Add the new test suite. 2019-01-04 20:27:36 +01:00
lsloutput-1.run Coverage test lsloutput-1 is prone to exceptions. Activate -y. 2019-01-06 00:50:42 +01:00
lsloutput-2.lsl Add the new test suite. 2019-01-04 20:27:36 +01:00
lsloutput-2.out Add the new test suite. 2019-01-04 20:27:36 +01:00
lsloutput-2.run Add the new test suite. 2019-01-04 20:27:36 +01:00
lsloutput-2.skp Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-1.lsl Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-1.out Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-1.run Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-2.lsl Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-2.out Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-2.run Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-3.lsl Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-3.out Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-3.run Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-4.err Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-4.lsl Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-4.run Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-1.err Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-1.lsl Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-1.run Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-2.err Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-2.lsl Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-2.run Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-3.err Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-3.lsl Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-3.run Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-4.err Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-4.lsl Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-4.run Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-5.err Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-5.lsl Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-5.run Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-6.err Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-6.lsl Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-6.run Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-7.err Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-7.lsl Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-7.run Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-8.err Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-8.lsl Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-8.run Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-9.err Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-9.lsl Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-9.run Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-10.err Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-10.lsl Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-10.run Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-11.err Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-11.lsl Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-11.run Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-12.err Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-12.lsl Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-12.run Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-13.err Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-13.lsl Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-13.run Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-14.err Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-14.lsl Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-14.run Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-15.err Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-15.lsl Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-15.run Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-16.err Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-16.lsl Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-16.run Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-17.err Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-17.lsl Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-17.run Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-18.err Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-18.lsl Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-18.run Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-19.err Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-19.lsl Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-19.run Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-20.err Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-20.lsl Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-20.run Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-21.err Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-21.lsl Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-21.run Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-22.err Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-22.lsl Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-22.run Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-23.err Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-23.lsl Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-23.run Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-24.err Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-24.lsl Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-24.run Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-25.err Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-25.lsl Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-25.run Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-26.err Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-26.lsl Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-26.run Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-27.err Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-27.lsl Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-27.run Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-28.err Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-28.lsl Add the new test suite. 2019-01-04 20:27:36 +01:00
lslparse-err-28.run Add the new test suite. 2019-01-04 20:27:36 +01:00
lslrenamer-1.lsl Add the new test suite. 2019-01-04 20:27:36 +01:00
lslrenamer-1.out Add the new test suite. 2019-01-04 20:27:36 +01:00
lslrenamer-1.run Add the new test suite. 2019-01-04 20:27:36 +01:00
lslrenamer-2.lsl Add the new test suite. 2019-01-04 20:27:36 +01:00
lslrenamer-2.out Add the new test suite. 2019-01-04 20:27:36 +01:00
lslrenamer-2.run Add the new test suite. 2019-01-04 20:27:36 +01:00
non-existing-filename.err Add the new test suite. 2019-01-04 20:27:36 +01:00
non-existing-filename.run Add the new test suite. 2019-01-04 20:27:36 +01:00
opt-parsing-1.err Add the new test suite. 2019-01-04 20:27:36 +01:00
opt-parsing-1.lsl Add the new test suite. 2019-01-04 20:27:36 +01:00
opt-parsing-1.run Add the new test suite. 2019-01-04 20:27:36 +01:00
opt-parsing-2.err Add the new test suite. 2019-01-04 20:27:36 +01:00
opt-parsing-2.run Add the new test suite. 2019-01-04 20:27:36 +01:00
opt-parsing-3.out Add the new test suite. 2019-01-04 20:27:36 +01:00
opt-parsing-3.run Add the new test suite. 2019-01-04 20:27:36 +01:00
opt-parsing-4.err Add the new test suite. 2019-01-04 20:27:36 +01:00
opt-parsing-4.run Add the new test suite. 2019-01-04 20:27:36 +01:00
outfile.lsl Add the new test suite. 2019-01-04 20:27:36 +01:00
outfile.run Add the new test suite. 2019-01-04 20:27:36 +01:00
preproc-multiline-string.lsl Add the new test suite. 2019-01-04 20:27:36 +01:00
preproc-multiline-string.out Add the new test suite. 2019-01-04 20:27:36 +01:00
preproc-multiline-string.run Add the new test suite. 2019-01-04 20:27:36 +01:00
preproc-nonzero-exit-code.run Add the new test suite. 2019-01-04 20:27:36 +01:00
preproc-use-switches-and-lazy-lists.lsl Add the new test suite. 2019-01-04 20:27:36 +01:00
preproc-use-switches-and-lazy-lists.out Add the new test suite. 2019-01-04 20:27:36 +01:00
preproc-use-switches-and-lazy-lists.run Add the new test suite. 2019-01-04 20:27:36 +01:00
sef-table-change.lsl Add the new test suite. 2019-01-04 20:27:36 +01:00
sef-table-change.out Add the new test suite. 2019-01-04 20:27:36 +01:00
sef-table-change.run Add the new test suite. 2019-01-04 20:27:36 +01:00
sef-table-change.skp Add the new test suite. 2019-01-04 20:27:36 +01:00