[llvm-commits] [llvm] r40913 - in /llvm/trunk: include/llvm/CodeGen/LiveInterval.h lib/CodeGen/LiveInterval.cpp lib/CodeGen/LiveIntervalAnalysis.cpp lib/CodeGen/SimpleRegisterCoalescing.cpp

Chris Lattner clattner at apple.com
Tue Aug 7 18:02:11 PDT 2007


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



More information about the llvm-commits mailing list