diff options
author | Björn Gustavsson <[email protected]> | 2013-11-26 09:32:44 +0100 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2014-01-20 12:22:42 +0100 |
commit | 48360023d2f5ae72df19f0095da55738f63800db (patch) | |
tree | dc8f7bf17ced4d9b2aebdfa505badcbce5645ad8 /lib/asn1/src/asn1ct_func.erl | |
parent | 912b330733144ae37e7a4da1bfea5be2a46d7594 (diff) | |
download | otp-48360023d2f5ae72df19f0095da55738f63800db.tar.gz otp-48360023d2f5ae72df19f0095da55738f63800db.tar.bz2 otp-48360023d2f5ae72df19f0095da55738f63800db.zip |
asn1ct_imm: Add the {set,{var,Src},{var,Dst}} instruction
The {assign,Dst,Src} instruction is difficult to cope with when
doing advanced optimizations, since its source argument is a string
which may contain any expression.
Instead of changing how {assign,_,_} works, we will introduce new
instructions that can be used instead of {assign,_}, and remove
{assign,_,_} in a later commit when it is no longer used.
The first new instruction we will introduce is:
{set,{var,Src},{var,Dst}}
It is useful for common sub-expression elemination among other things.
For the moment, we will only allow a variable as a source argument,
but we could extend it in the future to allow constants as well.
Diffstat (limited to 'lib/asn1/src/asn1ct_func.erl')
0 files changed, 0 insertions, 0 deletions