OpenCores
no use no use 1/1 no use no use
Modifying Existing GCC Port to OpenRISC.
by Unknown on Apr 12, 2004
Not available!
Dear all, I am working on a project that involves using the existing gcc port to OpenRISC. However for our work we are modifying the definition of the OpenRISC architecture to make it a 2-wide EPIC-style(loose VLIW) machine. We are not modifying the ISA or the functional units etc. at all since we want to reuse the existing tools. However, in order to get "correct" code generated for the 2-wide EPIC version that we are defining I need to do the following: ENSURE that two instructions written next to each other are always independent. Essentially do this: While scheduling make sure that two instructions next to each other are independent, so the scheduler would insert no-ops if it could not find an independent instruction to co-schedule with this instruction. At this point the scheduler also needs to make sure that two instructions next to each other do not contend for the same resources. So it needs to look for both resource constraint and dependence constraint. These constraints are very similar to EPIC constraints like in IA-64. Note, however that I don't need to specify delays betweeen instruction words (like in VLIW). I also don't have a special encoding like the IA-64 does.. like bundles and groups. I get a feeling that changes I need to make are very simple and similar to already existing changes for IA-64... I probably don't need to change machine description much or the Instruction specification...my only changes need to be related to the way the scheduling is done... Can someone please guide me as to how I can go about making these modifications. Do I have to add/change scheduler code or just modify the description/configuration of the target architecture? I did come across a variable that's called issue_rate this is set to the value of "1" in the file haifa-sched.c as follows: /* Initialize issue_rate. */ if (targetm.sched.issue_rate) issue_rate = (*targetm.sched.issue_rate) (); else issue_rate = 1; Do I need to change this to 2 to make it work? Any help will be appreciated. Thanks, LEARNER __________________________________ Do you Yahoo!? Yahoo! Tax Center - File online by April 15th http://taxes.yahoo.com/filing.html
no use no use 1/1 no use no use
© copyright 1999-2025 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.