On Aug 7, 2007, at 4:49 PM, Evan Cheng wrote: > Author: evancheng > Date: Tue Aug 7 18:49:57 2007 > New Revision: 40913 > > URL: http://llvm.org/viewvc/llvm-project?rev=40913&view=rev > Log: > - LiveInterval value#'s now have 3 components: def instruction #, > kill instruction #, and source register number (iff the value# is > defined by a > copy). > - Now def instruction # is set for every value#, not just for copy > defined ones. > - Update some outdated code related inactive live ranges. > - Kill info not yet set. That's next patch.
Nice > + /// ValueNumberInfo - If the value number definition is > undefined (e.g. phi > + /// merge point), it contains ~0,x,x. If the value number is > not in use, it > + /// contains ~1,x,x to indicate that the value # is not used. > The first > + /// entry is the instruction # of the definition, the second > is the kill #. > + /// If the third value is non-zero, then the val# is defined > by a copy and > + /// it represents the register number it is copied from. > + struct VNInfo { > + unsigned def; > + unsigned kill; > + unsigned reg; Yay for structs with actual names on the members :). With this you can now move the "The first entry is the instruction #" comments down to the members in the struct. -Chris _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits