* @file
* @brief Optimization of function calls.
* @author Michael Beck
- * @version $Id$
*/
#include "config.h"
/* set the link to NULL for all non-const/pure calls */
set_irn_link(call, NULL);
ptr = get_Call_ptr(call);
- if (is_Global(ptr)) {
- ent = get_Global_entity(ptr);
+ if (is_SymConst_addr_ent(ptr)) {
+ ent = get_SymConst_entity(ptr);
prop = get_entity_additional_properties(ent);
if ((prop & (mtp_property_const|mtp_property_pure)) == 0)
or_prop = 0;
for (i = 0; i < n_callees; ++i) {
ent = get_Call_callee(call, i);
- if (ent == unknown_entity) {
+ if (is_unknown_entity(ent)) {
/* we don't know which entity is called here */
return;
}
/* set the link to NULL for all non-const/pure calls */
set_irn_link(call, NULL);
ptr = get_Call_ptr(call);
- if (is_Global(ptr)) {
- ent = get_Global_entity(ptr);
+ if (is_SymConst_addr_ent(ptr)) {
+ ent = get_SymConst_entity(ptr);
prop = get_entity_additional_properties(ent);
if ((prop & mtp_property_nothrow) == 0)
prop = mtp_property_nothrow;
for (i = 0; i < n_callees; ++i) {
ent = get_Call_callee(call, i);
- if (ent == unknown_entity) {
+ if (is_unknown_entity(ent)) {
/* we don't know which entity is called here */
return;
}
break;
case iro_Call:
ptr = get_Call_ptr(succ);
- if (is_Global(ptr)) {
- ir_entity *ent = get_Global_entity(ptr);
+ if (is_SymConst_addr_ent(ptr)) {
+ ir_entity *ent = get_SymConst_entity(ptr);
size_t i;
/* we know the called entity */
} else if (is_Call(res)) {
ir_node *ptr = get_Call_ptr(res);
- if (is_Global(ptr)) {
+ if (is_SymConst_addr_ent(ptr)) {
/* a direct call */
- ir_entity *ent = get_Global_entity(ptr);
+ ir_entity *ent = get_SymConst_entity(ptr);
ir_graph *callee = get_entity_irg(ent);
if (callee == irg) {
for (i = 0; i < n_callees; ++i) {
ir_entity *ent = get_Call_callee(res, i);
- if (ent == unknown_entity) {
+ if (is_unknown_entity(ent)) {
/* we don't know which entity is called here */
curr_prop &= ~mtp_property_malloc;
break;
if (is_Call(pred)) {
ir_node *ptr = get_Call_ptr(pred);
- if (is_Global(ptr)) {
+ if (is_SymConst_addr_ent(ptr)) {
/* a direct call */
- ir_entity *ent = get_Global_entity(ptr);
+ ir_entity *ent = get_SymConst_entity(ptr);
ir_graph *callee = get_entity_irg(ent);
if (callee == irg) {
for (i = 0; i < n_callees; ++i) {
ir_entity *ent = get_Call_callee(pred, i);
- if (ent == unknown_entity) {
+ if (is_unknown_entity(ent)) {
/* we don't know which entity is called here */
curr_prop &= ~mtp_property_nothrow;
break;