summaryrefslogtreecommitdiff
path: root/src/trans/monomorphise.cpp
diff options
context:
space:
mode:
authorJohn Hodge <tpg@ucc.asn.au>2017-06-16 10:35:30 +0800
committerJohn Hodge <tpg@ucc.asn.au>2017-06-16 10:35:30 +0800
commitbbb7023bee036f87b45ba0555e60ce33837460b0 (patch)
treea1e1210bee4a1da459a3be90fb67dc586e400bb5 /src/trans/monomorphise.cpp
parent94015a6835ae0d050a83dee1622e1d1b6851f556 (diff)
downloadmrust-bbb7023bee036f87b45ba0555e60ce33837460b0.tar.gz
MIR - Unify temporaries and variables
Diffstat (limited to 'src/trans/monomorphise.cpp')
-rw-r--r--src/trans/monomorphise.cpp19
1 files changed, 6 insertions, 13 deletions
diff --git a/src/trans/monomorphise.cpp b/src/trans/monomorphise.cpp
index 3ac2ee09..f708060d 100644
--- a/src/trans/monomorphise.cpp
+++ b/src/trans/monomorphise.cpp
@@ -13,10 +13,9 @@ namespace {
::MIR::LValue monomorph_LValue(const ::StaticTraitResolve& resolve, const Trans_Params& params, const ::MIR::LValue& tpl)
{
TU_MATCHA( (tpl), (e),
- (Variable, return e; ),
- (Temporary, return e; ),
- (Argument, return e; ),
(Return, return e; ),
+ (Argument, return e; ),
+ (Local, return e; ),
(Static,
return params.monomorph(resolve, e);
),
@@ -120,17 +119,11 @@ namespace {
::MIR::Function output;
// 1. Monomorphise locals and temporaries
- output.named_variables.reserve( tpl->named_variables.size() );
- for(const auto& var : tpl->named_variables)
- {
- DEBUG("- var" << output.named_variables.size());
- output.named_variables.push_back( params.monomorph(resolve, var) );
- }
- output.temporaries.reserve( tpl->temporaries.size() );
- for(const auto& ty : tpl->temporaries)
+ output.locals.reserve( tpl->locals.size() );
+ for(const auto& var : tpl->locals)
{
- DEBUG("- tmp" << output.temporaries.size());
- output.temporaries.push_back( params.monomorph(resolve, ty) );
+ DEBUG("- _" << output.locals.size());
+ output.locals.push_back( params.monomorph(resolve, var) );
}
output.drop_flags = tpl->drop_flags;