C-Breeze
C Compiler Infrastructure

[ Project home page]
Main Page   Modules   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

constprop.cc File Reference

#include "c_breeze.h"
#include "bits.h"
#include "reaching.h"
#include "constprop.h"
#include "dismantle.h"

Go to the source code of this file.

Compounds

class  constpropphase

Defines

#define cast_constant(cast_type, oper)
#define label_of_block(B)
#define erase_succ_pred(pred, succ)

Variables

Phases constprop_phase ("constprop", new constpropphase())


Define Documentation

#define cast_constant cast_type,
oper   
 

Value:

if(cast_type) { \
    assert(cast_type->typ() == Prim); \
    oper = constant::cast(((primNode*)cast_type)->basic(), oper); \
  }

#define erase_succ_pred pred,
succ   
 

Value:

{ \
  (pred)->succs().remove(succ); \
  (succ)->preds().remove(pred); \
    \
  labelNode *l_succ = label_of_block(succ), \
            *l_pred = label_of_block(pred); \
  (pred)->comment() += " remove # "; \
  if(l_succ) (pred)->comment() += l_succ->name(); \
  (succ)->comment() += " remove # "; \
  if(l_pred) (succ)->comment() += l_pred->name(); \
}

#define label_of_block  
 

Value:

((B && !(B)->stmts().empty() && (B)->stmts().front()->typ() == Label) ? \
    (labelNode*) (B)->stmts().front() : NULL)


Variable Documentation

Phases constprop_phase("constprop", new constpropphase())
 


Generated on August 27, 2003
Back to the C-Breeze home page