diff options
author | John Hodge <tpg@mutabah.net> | 2018-02-16 20:51:33 +0800 |
---|---|---|
committer | John Hodge <tpg@mutabah.net> | 2018-02-16 20:51:33 +0800 |
commit | d61601143b167d48e50f8cfc81d51770da39fed1 (patch) | |
tree | 01d83ab9f95cc2f2269ccf00a5ed9d90a767a527 /src | |
parent | 75413b30fcf5dd97ddf44daa90fe1e361098d9e0 (diff) | |
download | mrust-d61601143b167d48e50f8cfc81d51770da39fed1.tar.gz |
MIR Optimise - (minor) Note about switch consteval elimination
Diffstat (limited to 'src')
-rw-r--r-- | src/mir/optimise.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/mir/optimise.cpp b/src/mir/optimise.cpp index 0a83332d..a88d7280 100644 --- a/src/mir/optimise.cpp +++ b/src/mir/optimise.cpp @@ -2315,6 +2315,18 @@ bool MIR_Optimise_ConstPropagte(::MIR::TypeResolve& state, ::MIR::Function& fcn) } state.set_cur_stmt_term(bbidx); + switch(bb.terminator.tag()) + { + case ::MIR::Terminator::TAGDEAD: throw ""; + TU_ARM(bb.terminator, Switch, te) { + auto it = known_values.find(te.val); + if( it != known_values.end() ) { + // TODO: How would an enum be encoded in switch? + } + } break; + default: + break; + } } // - Remove based on known booleans within a single block |