summaryrefslogtreecommitdiff
path: root/builtin_function.cpp
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2010-04-07 13:19:11 -0700
committerIan Romanick <ian.d.romanick@intel.com>2010-04-07 17:23:23 -0700
commit894ea972a4defdaafeaa3a248c113b06c7ae0c7e (patch)
tree2efd3473b4375e0ee1ea2714f7530f590054a7aa /builtin_function.cpp
parentf1ddca9f2143e377d2a70941dcedbb1f5c699e07 (diff)
Put function bodies under function signatures, instead of flat in the parent.
This will let us know the length of function bodies for the purpose of inlining (among other uses).
Diffstat (limited to 'builtin_function.cpp')
-rw-r--r--builtin_function.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/builtin_function.cpp b/builtin_function.cpp
index 684a10c889..f8ec38c90b 100644
--- a/builtin_function.cpp
+++ b/builtin_function.cpp
@@ -216,7 +216,7 @@ generate_function_instance(ir_function *f,
ir_function_signature *const sig = new ir_function_signature(type);
f->add_signature(sig);
- ir_label *const label = new ir_label(name);
+ ir_label *const label = new ir_label(name, sig);
instructions->push_tail(label);
sig->definition = label;
static const char *arg_names[] = {
@@ -234,16 +234,16 @@ generate_function_instance(ir_function *f,
var = new ir_variable(type, arg_names[i]);
var->mode = ir_var_in;
- instructions->push_tail(var);
+ sig->body.push_tail(var);
declarations[i] = var;
}
ir_variable *retval = new ir_variable(ret_type, "__retval");
- instructions->push_tail(retval);
+ sig->body.push_tail(retval);
declarations[16] = retval;
- generate(instructions, declarations, type);
+ generate(&sig->body, declarations, type);
}
void