[cfe-users] getting visit methods right
Rajendra
rks at cse.iitb.ac.in
Mon Nov 26 19:44:51 PST 2012
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
More information about the cfe-users
mailing list