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: Worth balancing the tree before scheduling?


On Fri, Nov 20, 2009 at 4:18 PM, David Edelsohn <dje.gcc@gmail.com> wrote:
> On Fri, Nov 20, 2009 at 10:05 AM, Ian Bolton <bolton@icerasemi.com> wrote:
>> From some simple experiments (see below), it appears as though GCC aims
>> to
>> create a lop-sided tree when there are constants involved (func1 below),
>> but a balanced tree when there aren't (func2 below).
>>
>> Our assumption is that GCC likes having constants all near to each other
>> to
>> aid with tree-based optimisations, but I'm fairly sure that, when it
>> comes
>> to scheduling, it would be better to have a balanced tree, so sched has
>> more
>> choices about what to schedule next?
>
> I think this would depend on the target architecture and instruction
> set: CISC vs RISC, many registers vs few registers, etc. ?I do not
> believe that GCC intentionally is trying to optimize for either, but I
> do not think there is a single, right answer.

Indeed.  I think the scheduler should maybe learn about
re-association possibilities - do existing papers cover that?

Richard.

> David
>


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