During determining the intent of variable I run into problems with PHI nodes.
The problematical GIMPLE code looks:

# BLOCK 196
# PRED: 194 (false)
(...)
ndycD.8665_1099 = 1;

# BLOCK 197
# PRED: 196 (true) 207 (false)
# ndycD.8665_4 = PHI <ndycD.8665_1099(196), ndycD.8665_1431(207)>
(...)

# BLOCK 207
# PRED: 197 (false) 206 (true)
ndycD.8665_1431 = ndycD.8665_4 + 1;


I dont' understand why gimple_phi statement is before its
argument(ndycD.8665_1431) assigment. What is more, this argument is defined
by its PHI node result(ndycD.8665_4)!


So if I want to estimate the true origin of ndycD.8665_4 variable, based on
the PHI node, I go from BLOCK 197 to BLOCK 196 (ndycD.8665_1099) and BLOCK
207(ndycD.8665_1431) - and that is OK. 


But in BLOCK 207, where I find out about the origin of ndycD.8665_1431
variable, I must return to BLOCK 197, where ndycD.8665_4 variable is defined
- this is infinite jumping.

Is there any option to avoid this situation?
-- 
View this message in context: 
http://old.nabble.com/GIMPLE-and-intent-of-variables-tp32275433p32337811.html
Sent from the gcc - patches mailing list archive at Nabble.com.

Reply via email to