IMPLICIT_DEF's

Guys,

     I think I figure out the way that the current LLVM allocators are handling IMPLICIT_DEF's. One question more: why are you adding null length intervals to IMPLICIT_DEF instructions? If they were non-null, I think the code to handle them would be more homogeneous, e.g a traversal of the intervals during register allocation would already reveal virtuals defined implicitly.

best,

Fernando

Guys,

    I think I figure out the way that the current LLVM allocators are
handling IMPLICIT_DEF's. One question more: why are you adding null length
intervals to IMPLICIT_DEF instructions? If they were non-null, I think the
code to handle them would be more homogeneous, e.g a traversal of the
intervals during register allocation would already reveal virtuals defined
implicitly.

Assigning IMPLICIT_DEF defined interval a null length interval is an optimization. It enables more coalescing since an implicitly defined register should not conflict with anything else.

Evan