Register copy adder and different address spaces mess each others up
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
TCE |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
Currently
"candidate Fu annotations" are used for both
1) to mark LSU's that have correct address space.
2) to mark FU's which have good enough connectivity that no regcopies are needed(by regcopyadder).
This causes two bugs to appear, when there are limited connectivity and many LSU's, with different address spaces and different connectivity:
1) Originally the load/store operations have "candidate unit" set for all FU's that have the correct address space.
This may cause scheduler to fail to schedule the operation as it assumes it can use all these FU's without regcopies.
2) The register copy adder may add a fu candidate annotation to an LSU which has wrong address space. load/store operation may then end up in FU having wrong address space.
The way to fix both of these bugs is separate the address space annotations from the connectivity annotations,
creating separate annottations for both and checking that both match.
Changed in tce: | |
status: | New → Fix Released |