Abdul Wahid Memon <engrwahidmemon@xxxxxxxxx> writes: > I have another question related to this. Lets suppose we have declared > a local integer variable and we assigned some integer to it using > gimple_build_assign statement (providing an ssa name). And after this, > I want to modify the value of same variable. Should I create an other > assignment statement or is there any other way to it? > > I have already tested it with creating an other assignment statement > by providing the same ssa name but it gives me an error: > hello.c:3:5: error: SSA_NAME_DEF_STMT is wrong > Expected definition statement: > b_4 = 1234; > > Actual definition statement: > b_4 = 5555; > hello.c:3:5: internal compiler error: verify_ssa failed > Please submit a full bug report, > with preprocessed source if appropriate. > See <http://gcc.gnu.org/bugs.html> for instructions. Your pass is evidently while the tree is in SSA mode. In SSA mode every variable is only assigned to once (see http://en.wikipedia.org/wiki/Static_single_assignment_form). So you can't modify a local variable. If you don't want to deal with SSA mode you should ensure that your pass runs before pass_build_ssa. Ian