updated tests using for loops and if statements within for loops to get the branching correct; guard in createGEP to check type of object is a pointer
this now works for if inside a for loop but needs some straightening out soon to clean up the experiments
enabled and improved fixIfAssign to rewrite code of the form x = if(code)  val else val
related to the compile.if changes, the for loop code creation function checks before it adds a branch instruction. It checks if it is already in the block to which it wants to add a branch!
use sameType not identical for comparing types, and conditionally create the cast
additional examples and todo issues
Doug Bate's Rgibbs code