getting visit methods right

Hi,

I have overridden VisitIfStmt(Stmt* s) and some visit methods for binary operators:
- VisitBinAssign(),
- VisitBinAdd() and other arithmetic operators,
- VisitBinGT() and other relational operators

My dilemma is how do I return from different visit methods (or call them explicitly)
so that I can perform some analysis on binary operators and use them in condition part,
then clause and else clause for IfStmt? e.g. I want to analyze following C program:
int main() {
     int x, y;
     x = 10;
     if (x > 0)
         y = 1;
     else if (x == 0)
         y = 0;
     else
         y = -1;
     return 0;
}

Basic block contains:
    1: int x;
    2: int y;
    3: x = 10
    4: x > 0
    T: if [B6.4]

Now, for condition x > 0 (line 3:) due to VisitBinGT() can get following info:
         Relational Op >
         LHS identifier = x
         type: int
         RHS value: 0
From VisitIfStmt() I can get pointer to condition part, then and else clauses.
so, how should I combine IfStmt and information I have due to visit to other methods?

- Rajendra