> > I have added the design document and links to most of the discussions > we've had so far. Aldy updated the document to reflect the latest thread. > > http://gcc.gnu.org/wiki/tuples
Looks great, still I think "locus" and "block" could be both merged into single integer, like RTL land has INSN_LOCATOR. After gimplification, only place where we are modifying blocks but not locators is inliner. While doing the gimplification, we probably can keep track of line numbers and blocks in parallel. Also ssa_operands structures should be somewhere in the header and uid would be handy for on-side datastructures. In CFG getting rid of labels in GS_COND woulsd actually save us noticeable amount of memory by avoiding the need for labels. Perhaps we can simply define "true branch target"/"false branch target" to point to label or BB depending on CFG presence or to be NULL after CFG conversion and rely on CFG edges. GS_SWITCH would be harder, since association with CFG edges is not so direct. Honza