/* I'm not real happy about this, but we need to handle gimple and
non-gimple trees. */
#include "tree-iterator.h"
-#include "tree-simple.h"
+#include "tree-gimple.h"
/* 0 if we should not perform inlining.
1 if we should expand functions calls inline at the tree level.
/* We're building a clone; DECL_INITIAL is still
error_mark_node, and current_binding_level is the parm
binding level. */
- (*lang_hooks.decls.insert_block) (new_block);
+ lang_hooks.decls.insert_block (new_block);
else
{
/* Attach this new block after the DECL_INITIAL block for the
the argument to the proper type in case it was promoted. */
if (value)
{
- tree rhs = convert (TREE_TYPE (var), value);
+ tree rhs = fold_convert (TREE_TYPE (var), value);
if (rhs == error_mark_node)
return;
case UNGT_EXPR:
case UNGE_EXPR:
case UNEQ_EXPR:
+ case LTGT_EXPR:
case CONVERT_EXPR:
*count++;
break;
- /* Few special cases of expensive operations. This is usefull
+ /* Few special cases of expensive operations. This is useful
to avoid inlining on functions having too many of these. */
case TRUNC_DIV_EXPR:
case CEIL_DIV_EXPR:
for (parg = arg_copy; *parg; parg = &TREE_CHAIN (*parg))
{
tree new = copy_node (*parg);
- (*lang_hooks.dup_lang_specific_decl) (new);
+ lang_hooks.dup_lang_specific_decl (new);
DECL_ABSTRACT_ORIGIN (new) = DECL_ORIGIN (*parg);
insert_decl_map (&id, *parg, new);
TREE_CHAIN (new) = TREE_CHAIN (*parg);
return NULL_TREE;
}
- result = (*lang_hooks.tree_inlining.walk_subtrees) (tp, &walk_subtrees, func,
- data, htab);
+ result = lang_hooks.tree_inlining.walk_subtrees (tp, &walk_subtrees, func,
+ data, htab);
if (result || ! walk_subtrees)
return result;
}
#endif
- if ((*lang_hooks.tree_inlining.tree_chain_matters_p) (*tp))
+ if (lang_hooks.tree_inlining.tree_chain_matters_p (*tp))
/* Check our siblings. */
WALK_SUBTREE_TAIL (TREE_CHAIN (*tp));
}