Visualizing Source Histories

Zachary Weinberg
  • The problem
    • Decades of history
    • No easy way to filter it
    • Poor collective memories
  • Sample users
    • Joe the Code Janitor
    • Beatrice the Backporter
    • Richard the Release Manager
  • Concept: The flipviewer
    • Complete history of a single file
    • Lifestream-like interface
    • Extensive filtration mechanisms
    • Integrated cross-referencer
  • We'd like to see an entire source tree at once
    • Two reasons
      • Correlate changes across files
      • See changes to directory structure
    • File-level granularity is fine
    • What should it look like?
      • flipview applied to recursive directory listing
      • 3-dimensional graphical tree
      • ZigZag-esque multidimensional projection
      • ...
    • Most version control systems don't record enough information
Tue Jul 10 09:04:45 2001  Jeffrey A Law  (

        * ssa-ccp.c (first_phi_node): Remove.  Replace uses with calls to
        first_insn_after_basic_block_note instead.

        * df.c (df_bb_refs_unlink): #if 0 out for now.

2001-07-10  David Billinghurst <

        * ssa.h: Add prototype for ssa_const_prop
        * ssa-ccp.c: Add prototype for ssa_fast_dce and mark_references
        (ssa_ccp_substitute_constants): Fix signed vs unsigned comparison
        (ssa_fast_dce): Remove unused variable

2001-07-10  Gabriel Dos Reis  <>

        * diagnostic.c (finish_diagnostic): Rename to
        diagnostic_finish. Make it take an 'output_buffer *'.  Adjust
        calls thourghout.

2001-07-10  Jason Merrill  <>

        * dwarf2out.c (dwarf2out_line): Emit -dA comment even when we have
        .loc support.

        * collect2.c (main): Set COLLECT_NO_DEMANGLE for subprocesses.
        (dump_file): Only pad the demangled name with spaces if the
        mangled name was padded with spaces.

2001-07-10  Bernd Schmidt  <>

        * bb-reorder.c (make_reorder_chain_1): Correct branch/fallthru
        edge detection.

Tue Jul 10 07:27:53 2001  Richard Kenner  <>

        * expr.c (expand_expr, case COMPONENT_REF): Don't force using bitfield
        extraction if no direct load if either EXPAND_CONST_ADDRESS or

        * emit-rtl.c (adjust_address, adjust_address_nv): Change criteria for
        whether can put offset inside LO_SUM to check mode alignment, not size.

2001-07-10  Gabriel Dos Reis  <>

        * doc/tm.texi (Misc): Fix thinko.

Go to slide one.