Hi :
I'm puzzled when looking into speculative scheduling in gcc, the 4.2.4 version.

First, I noticed the document describing IBM haifa instruction
scheduler(as PowerPC Reference Compiler Optimization Project).

It presents that the instruction motion from bb s(dominated by t)
to t is speculative when split_blocks(s, t) not empty.

Second, There is SCED_FLAGS like DO_SPECULATION in codes.

Here goes questions.
1, Does the DO_SPECULATION flag constrol whether do the
    mentioned speculative motion or not?
2, For mips target, which has the DO_SPECULATION bit cleared,
    gcc still does speculative motion when scheduling(first pass),
    so it seems the answer of question 1 is negative, but then
    what the DO_SPECULATION flag for?

I must have missed something important, Please help out.
Thanks

-- 
Best Regards.

Reply via email to