This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: LOOP_HEADER tree code?


> You are proposing to complete the ssa representation such that
> foreach_ssa_uses also iterates over the niter information (a bit like vrp
> modifies the ssa chains with its extra assert information).  Wouldn't it
> be possible to not insert this niter information in the representation of
> the
> program (ie. not inserting a new tree node) but just modify the ssa
> iterators
> to also return the expressions that we store on the side?

yes, it would be possible, however, possibly quite error-prone.

> What are the other transformations that remove definitions that are not
> used?

ivopts remove bivs that they replace, and I suspect that vectorizer
does something similar as well.  I do not know about other optimizers.


The scev info has the same problem as the niter info, as we store it on the side, making it vulnerable to any code transform. Now if we modify the var renaming, removal, ... aware of the information that we store on the side, we could avoid all these rather costly re-computations.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]