diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2019-08-28 21:03:28 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2019-08-28 21:03:28 -0700 |
commit | 0689ed6d0d0d74f9ca62057290db3bda8622afba (patch) | |
tree | 0d06d294c09433d61917e521df93b7d7ad716092 /chksum.c | |
parent | 872b311ba9b24ed244bb37795ecaae96082cbe85 (diff) | |
download | txr-0689ed6d0d0d74f9ca62057290db3bda8622afba.tar.gz txr-0689ed6d0d0d74f9ca62057290db3bda8622afba.tar.bz2 txr-0689ed6d0d0d74f9ca62057290db3bda8622afba.zip |
compiler: elide nil var intializaton.
Virtual machine local variables registers don't require
nil initialization. In cases when a complex variable
initializer is known to return nil, we can elide the move
instrution which moves that nil into the register.
* share/txr/stdlib/compiler.tl (null-reg): New function.
(compiler comp-let): Don't move the value of the output
register of the init fragment into the variable, if that
register is the null register t0.
Diffstat (limited to 'chksum.c')
0 files changed, 0 insertions, 0 deletions