------- Comment #1 from drow at gcc dot gnu dot org 2006-02-27 20:44 ------- Dan Berlin, Diego, and I bounced this around on IRC a little. A couple of things that came up:
- Diego suggested putting locuses on unshared INTEGER_CSTs as another possible approach. - I suggested that if we want line numbers to be useful with optimization, we need to enforce and verify setting locuses. - Dan Berlin responded: I think then a start may be to propose that we require EXPR_LOCATIOn on every modify_expr to be non-null and verified by verify_stmts. That will break pretty much everywhere inserting code without locuses (which i know includes PRE :P) As we discover where we need to propagate more info around (phi args, wherever), we come up with a design for what needs to be done where. The only thing i know tries to keep line number info sane is tree-sra.c. Things like PRE should be using the line-number preserving sra_* functions (moved somewhere else and renamed bsi_*_with_location). Anyhoo, that's how i'd approach it. As you've said, there is no point in trying to put more information in places if we don't keep the basic stmt info up to date :) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26475