rename_impl.hh (8232:b28d06a175be) rename_impl.hh (8240:38befb82b2c9)
1/*
2 * Copyright (c) 2010 ARM Limited
3 * All rights reserved.
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

--- 89 unchanged lines hidden (view full) ---

98 return cpu->name() + ".rename";
99}
100
101template <class Impl>
102void
103DefaultRename<Impl>::regStats()
104{
105 renameSquashCycles
1/*
2 * Copyright (c) 2010 ARM Limited
3 * All rights reserved.
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

--- 89 unchanged lines hidden (view full) ---

98 return cpu->name() + ".rename";
99}
100
101template <class Impl>
102void
103DefaultRename<Impl>::regStats()
104{
105 renameSquashCycles
106 .name(name() + ".RENAME:SquashCycles")
106 .name(name() + ".SquashCycles")
107 .desc("Number of cycles rename is squashing")
108 .prereq(renameSquashCycles);
109 renameIdleCycles
107 .desc("Number of cycles rename is squashing")
108 .prereq(renameSquashCycles);
109 renameIdleCycles
110 .name(name() + ".RENAME:IdleCycles")
110 .name(name() + ".IdleCycles")
111 .desc("Number of cycles rename is idle")
112 .prereq(renameIdleCycles);
113 renameBlockCycles
111 .desc("Number of cycles rename is idle")
112 .prereq(renameIdleCycles);
113 renameBlockCycles
114 .name(name() + ".RENAME:BlockCycles")
114 .name(name() + ".BlockCycles")
115 .desc("Number of cycles rename is blocking")
116 .prereq(renameBlockCycles);
117 renameSerializeStallCycles
115 .desc("Number of cycles rename is blocking")
116 .prereq(renameBlockCycles);
117 renameSerializeStallCycles
118 .name(name() + ".RENAME:serializeStallCycles")
118 .name(name() + ".serializeStallCycles")
119 .desc("count of cycles rename stalled for serializing inst")
120 .flags(Stats::total);
121 renameRunCycles
119 .desc("count of cycles rename stalled for serializing inst")
120 .flags(Stats::total);
121 renameRunCycles
122 .name(name() + ".RENAME:RunCycles")
122 .name(name() + ".RunCycles")
123 .desc("Number of cycles rename is running")
124 .prereq(renameIdleCycles);
125 renameUnblockCycles
123 .desc("Number of cycles rename is running")
124 .prereq(renameIdleCycles);
125 renameUnblockCycles
126 .name(name() + ".RENAME:UnblockCycles")
126 .name(name() + ".UnblockCycles")
127 .desc("Number of cycles rename is unblocking")
128 .prereq(renameUnblockCycles);
129 renameRenamedInsts
127 .desc("Number of cycles rename is unblocking")
128 .prereq(renameUnblockCycles);
129 renameRenamedInsts
130 .name(name() + ".RENAME:RenamedInsts")
130 .name(name() + ".RenamedInsts")
131 .desc("Number of instructions processed by rename")
132 .prereq(renameRenamedInsts);
133 renameSquashedInsts
131 .desc("Number of instructions processed by rename")
132 .prereq(renameRenamedInsts);
133 renameSquashedInsts
134 .name(name() + ".RENAME:SquashedInsts")
134 .name(name() + ".SquashedInsts")
135 .desc("Number of squashed instructions processed by rename")
136 .prereq(renameSquashedInsts);
137 renameROBFullEvents
135 .desc("Number of squashed instructions processed by rename")
136 .prereq(renameSquashedInsts);
137 renameROBFullEvents
138 .name(name() + ".RENAME:ROBFullEvents")
138 .name(name() + ".ROBFullEvents")
139 .desc("Number of times rename has blocked due to ROB full")
140 .prereq(renameROBFullEvents);
141 renameIQFullEvents
139 .desc("Number of times rename has blocked due to ROB full")
140 .prereq(renameROBFullEvents);
141 renameIQFullEvents
142 .name(name() + ".RENAME:IQFullEvents")
142 .name(name() + ".IQFullEvents")
143 .desc("Number of times rename has blocked due to IQ full")
144 .prereq(renameIQFullEvents);
145 renameLSQFullEvents
143 .desc("Number of times rename has blocked due to IQ full")
144 .prereq(renameIQFullEvents);
145 renameLSQFullEvents
146 .name(name() + ".RENAME:LSQFullEvents")
146 .name(name() + ".LSQFullEvents")
147 .desc("Number of times rename has blocked due to LSQ full")
148 .prereq(renameLSQFullEvents);
149 renameFullRegistersEvents
147 .desc("Number of times rename has blocked due to LSQ full")
148 .prereq(renameLSQFullEvents);
149 renameFullRegistersEvents
150 .name(name() + ".RENAME:FullRegisterEvents")
150 .name(name() + ".FullRegisterEvents")
151 .desc("Number of times there has been no free registers")
152 .prereq(renameFullRegistersEvents);
153 renameRenamedOperands
151 .desc("Number of times there has been no free registers")
152 .prereq(renameFullRegistersEvents);
153 renameRenamedOperands
154 .name(name() + ".RENAME:RenamedOperands")
154 .name(name() + ".RenamedOperands")
155 .desc("Number of destination operands rename has renamed")
156 .prereq(renameRenamedOperands);
157 renameRenameLookups
155 .desc("Number of destination operands rename has renamed")
156 .prereq(renameRenamedOperands);
157 renameRenameLookups
158 .name(name() + ".RENAME:RenameLookups")
158 .name(name() + ".RenameLookups")
159 .desc("Number of register rename lookups that rename has made")
160 .prereq(renameRenameLookups);
161 renameCommittedMaps
159 .desc("Number of register rename lookups that rename has made")
160 .prereq(renameRenameLookups);
161 renameCommittedMaps
162 .name(name() + ".RENAME:CommittedMaps")
162 .name(name() + ".CommittedMaps")
163 .desc("Number of HB maps that are committed")
164 .prereq(renameCommittedMaps);
165 renameUndoneMaps
163 .desc("Number of HB maps that are committed")
164 .prereq(renameCommittedMaps);
165 renameUndoneMaps
166 .name(name() + ".RENAME:UndoneMaps")
166 .name(name() + ".UndoneMaps")
167 .desc("Number of HB maps that are undone due to squashing")
168 .prereq(renameUndoneMaps);
169 renamedSerializing
167 .desc("Number of HB maps that are undone due to squashing")
168 .prereq(renameUndoneMaps);
169 renamedSerializing
170 .name(name() + ".RENAME:serializingInsts")
170 .name(name() + ".serializingInsts")
171 .desc("count of serializing insts renamed")
172 .flags(Stats::total)
173 ;
174 renamedTempSerializing
171 .desc("count of serializing insts renamed")
172 .flags(Stats::total)
173 ;
174 renamedTempSerializing
175 .name(name() + ".RENAME:tempSerializingInsts")
175 .name(name() + ".tempSerializingInsts")
176 .desc("count of temporary serializing insts renamed")
177 .flags(Stats::total)
178 ;
179 renameSkidInsts
176 .desc("count of temporary serializing insts renamed")
177 .flags(Stats::total)
178 ;
179 renameSkidInsts
180 .name(name() + ".RENAME:skidInsts")
180 .name(name() + ".skidInsts")
181 .desc("count of insts added to the skid buffer")
182 .flags(Stats::total)
183 ;
184 intRenameLookups
181 .desc("count of insts added to the skid buffer")
182 .flags(Stats::total)
183 ;
184 intRenameLookups
185 .name(name() + ".RENAME:int_rename_lookups")
185 .name(name() + ".int_rename_lookups")
186 .desc("Number of integer rename lookups")
187 .prereq(intRenameLookups);
188 fpRenameLookups
186 .desc("Number of integer rename lookups")
187 .prereq(intRenameLookups);
188 fpRenameLookups
189 .name(name() + ".RENAME:fp_rename_lookups")
189 .name(name() + ".fp_rename_lookups")
190 .desc("Number of floating rename lookups")
191 .prereq(fpRenameLookups);
192}
193
194template <class Impl>
195void
196DefaultRename<Impl>::setTimeBuffer(TimeBuffer<TimeStruct> *tb_ptr)
197{

--- 1207 unchanged lines hidden ---
190 .desc("Number of floating rename lookups")
191 .prereq(fpRenameLookups);
192}
193
194template <class Impl>
195void
196DefaultRename<Impl>::setTimeBuffer(TimeBuffer<TimeStruct> *tb_ptr)
197{

--- 1207 unchanged lines hidden ---