summaryrefslogtreecommitdiff
path: root/src/trans/trans_list.hpp
diff options
context:
space:
mode:
authorJohn Hodge <tpg@mutabah.net>2018-03-04 20:04:05 +0800
committerJohn Hodge <tpg@mutabah.net>2018-03-17 18:52:16 +0800
commitdcf1204a8bae3f15e875ffe9c861c38789f524fe (patch)
tree4405146ea56a7d409d59d0a9cf60fd0700bc28a2 /src/trans/trans_list.hpp
parent30659582e602d3b95fdf3ab390c49c67292ea48f (diff)
downloadmrust-dcf1204a8bae3f15e875ffe9c861c38789f524fe.tar.gz
Trans - Move monomorphisation from codegen pass to its own pass, and do a second inlining pass after monomorph.
Diffstat (limited to 'src/trans/trans_list.hpp')
-rw-r--r--src/trans/trans_list.hpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/trans/trans_list.hpp b/src/trans/trans_list.hpp
index 2ef876d6..48274f87 100644
--- a/src/trans/trans_list.hpp
+++ b/src/trans/trans_list.hpp
@@ -41,10 +41,17 @@ struct Trans_Params
}
};
+struct CachedFunction {
+ ::HIR::TypeRef ret_ty;
+ ::HIR::Function::args_t arg_tys;
+ ::MIR::FunctionPointer code;
+};
struct TransList_Function
{
const ::HIR::Function* ptr;
Trans_Params pp;
+ // If `pp.has_types` is true, the below is valid
+ CachedFunction monomorphised;
};
struct TransList_Static
{