Committed to dmalcolm/jit branch:
gcc/jit/
* internal-api.h (gcc::jit::function::add_stmt): New.
* internal-api.c (gcc::jit::function::add_eval): Replace use of
tsi_link_stmt with call to add_stmt.
(gcc::jit::function::add_assignment): Likewise.
(gcc::jit::function::add_conditional): Likewise.
(gcc::jit::function::place_forward_label): Likewise.
(gcc::jit::function::add_jump): Likewise.
(gcc::jit::function::add_return): Likewise.
---
gcc/jit/ChangeLog.jit | 12 ++++++++++++
gcc/jit/internal-api.c | 12 ++++++------
gcc/jit/internal-api.h | 5 +++++
3 files changed, 23 insertions(+), 6 deletions(-)
diff --git a/gcc/jit/ChangeLog.jit b/gcc/jit/ChangeLog.jit
index c899c9a..2018094 100644
--- a/gcc/jit/ChangeLog.jit
+++ b/gcc/jit/ChangeLog.jit
@@ -1,3 +1,15 @@
+2014-01-23 David Malcolm <[email protected]>
+
+ * internal-api.h (gcc::jit::function::add_stmt): New.
+
+ * internal-api.c (gcc::jit::function::add_eval): Replace use of
+ tsi_link_stmt with call to add_stmt.
+ (gcc::jit::function::add_assignment): Likewise.
+ (gcc::jit::function::add_conditional): Likewise.
+ (gcc::jit::function::place_forward_label): Likewise.
+ (gcc::jit::function::add_jump): Likewise.
+ (gcc::jit::function::add_return): Likewise.
+
2014-01-21 David Malcolm <[email protected]>
* internal-api.c (gcc::jit::function::add_comment): New.
diff --git a/gcc/jit/internal-api.c b/gcc/jit/internal-api.c
index a92c797..f7a2618 100644
--- a/gcc/jit/internal-api.c
+++ b/gcc/jit/internal-api.c
@@ -889,7 +889,7 @@ add_eval (location *loc,
if (loc)
set_tree_location (rvalue->as_tree (), loc);
- tsi_link_after (&m_stmt_iter, rvalue->as_tree (), TSI_CONTINUE_LINKING);
+ add_stmt (rvalue->as_tree ());
}
void
@@ -918,7 +918,7 @@ add_assignment (location *loc,
t_lvalue, t_rvalue);
if (loc)
set_tree_location (stmt, loc);
- tsi_link_after (&m_stmt_iter, stmt, TSI_CONTINUE_LINKING);
+ add_stmt (stmt);
}
void
@@ -977,7 +977,7 @@ add_conditional (location *loc,
true_jump, false_jump);
if (loc)
set_tree_location (stmt, loc);
- tsi_link_after (&m_stmt_iter, stmt, TSI_CONTINUE_LINKING);
+ add_stmt (stmt);
}
gcc::jit::label *
@@ -1005,7 +1005,7 @@ place_forward_label (location *loc, label *lab)
lab->as_label_decl ());
if (loc)
set_tree_location (lab->m_label_expr, loc);
- tsi_link_after (&m_stmt_iter, lab->m_label_expr, TSI_CONTINUE_LINKING);
+ add_stmt (lab->m_label_expr);
}
void
@@ -1025,7 +1025,7 @@ add_jump (location *loc,
tree stmt = build1 (GOTO_EXPR, void_type_node, target->as_label_decl ());
if (loc)
set_tree_location (stmt, loc);
- tsi_link_after (&m_stmt_iter, stmt, TSI_CONTINUE_LINKING);
+ add_stmt (stmt);
/*
from c-typeck.c:
@@ -1069,7 +1069,7 @@ add_return (location *loc,
set_tree_location (modify_retval, loc);
set_tree_location (return_stmt, loc);
}
- tsi_link_after (&m_stmt_iter, return_stmt, TSI_CONTINUE_LINKING);
+ add_stmt (return_stmt);
}
gcc::jit::loop *
diff --git a/gcc/jit/internal-api.h b/gcc/jit/internal-api.h
index 1ec2ea1..7a5c92a 100644
--- a/gcc/jit/internal-api.h
+++ b/gcc/jit/internal-api.h
@@ -354,6 +354,11 @@ public:
context *m_ctxt;
private:
+ void add_stmt (tree stmt)
+ {
+ tsi_link_after (&m_stmt_iter, stmt, TSI_CONTINUE_LINKING);
+ }
+
void
set_tree_location (tree t, location *loc)
{
--
1.7.11.7