Trace Scheduling in GCC

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

I have previously studied superblock scheduling by importing superblock 
DAGs from gcc and feeding them into my scheduler (I have published 
my results at Micro in case you are interested: 
http://www.microarch.org/micro37/papers/25_Shobaki-Superblock.pdf) 

Now, I wonder if I can do the same thing to traces by importing the DAGs and 
the necessary data-flow information from gcc. Unlike the superblock, which has 
a single entry and multipl exits, a trace is a more general structure that can 
have multiple entries and multiple exits. So, the question is: Can I 
extract traces for my experiments from gcc?

My understanding is that since version 3.4 gcc offers these two command-line 
options: 

-fsched2-use-superblocks: This does extended basic block scheduling; no 
trace formation or tail duplication. It just schedules the extended basic 
blocks that appear naturally in the code.

-fsched2-use-traces: This does superblock scheduling, i.e. it forms 
traces then it does tail duplication to eliminate side entrances.

I am right about the functionalities of these options?
It seems to me that none of these options meets my objective of studying 
traces that have mltiple entrances and multiple exits. Please correct me 
if I am wrong. And if I am right, is there another way for me to get what 
I want, may be by doing some quick hack that bypasses tail duplication under 
the -fsched2-use-tarces option -does this make sense?

Thanks
-Ghassan
   

[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux