aboutsummaryrefslogtreecommitdiff
path: root/gcc/go/gofrontend/escape.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/go/gofrontend/escape.cc')
-rw-r--r--gcc/go/gofrontend/escape.cc20
1 files changed, 7 insertions, 13 deletions
diff --git a/gcc/go/gofrontend/escape.cc b/gcc/go/gofrontend/escape.cc
index 6da29ed..89e6442 100644
--- a/gcc/go/gofrontend/escape.cc
+++ b/gcc/go/gofrontend/escape.cc
@@ -990,7 +990,7 @@ Gogo::analyze_escape()
for (std::vector<Named_object*>::iterator fn = stack.begin();
fn != stack.end();
++fn)
- this->tag_function(context, *fn);
+ this->tag_function(*fn);
if (this->debug_escape_level() != 0)
{
@@ -1246,10 +1246,10 @@ Escape_analysis_loop::statement(Block*, size_t*, Statement* s)
class Escape_analysis_assign : public Traverse
{
public:
- Escape_analysis_assign(Escape_context* context, Named_object* fn)
+ Escape_analysis_assign(Escape_context* context)
: Traverse(traverse_statements
| traverse_expressions),
- context_(context), fn_(fn)
+ context_(context)
{ }
// Model statements within a function as assignments and flows between nodes.
@@ -1286,8 +1286,6 @@ public:
private:
// The escape context for this set of functions.
Escape_context* context_;
- // The current function being analyzed.
- Named_object* fn_;
};
// Helper function to detect self assignment like the following.
@@ -2899,7 +2897,7 @@ Gogo::assign_connectivity(Escape_context* context, Named_object* fn)
int save_depth = context->loop_depth();
context->set_loop_depth(1);
- Escape_analysis_assign ea(context, fn);
+ Escape_analysis_assign ea(context);
Function::Results* res = fn->func_value()->result_variables();
if (res != NULL)
{
@@ -3465,17 +3463,13 @@ Gogo::propagate_escape(Escape_context* context, Node* dst)
class Escape_analysis_tag
{
public:
- Escape_analysis_tag(Escape_context* context)
- : context_(context)
+ Escape_analysis_tag()
{ }
// Add notes to the function's type about the escape information of its
// input parameters.
void
tag(Named_object* fn);
-
- private:
- Escape_context* context_;
};
void
@@ -3580,9 +3574,9 @@ Escape_analysis_tag::tag(Named_object* fn)
// retain analysis results across imports.
void
-Gogo::tag_function(Escape_context* context, Named_object* fn)
+Gogo::tag_function(Named_object* fn)
{
- Escape_analysis_tag eat(context);
+ Escape_analysis_tag eat;
eat.tag(fn);
}