You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I was exploring variants of a loop and found one where uiCA.py throws an exception even though nothing out of the ordinary seems to happen in the loop.
Traceback (most recent call last):
File "/uiCA/uiCA.py", line 2448, in <module>
main()
File "/uiCA/uiCA.py", line 2441, in main
TP = runSimulation(disas, uArchConfig, int(args.alignmentOffset), args.initPolicy, args.noMicroFusion, args.noMacroFusion, args.simpleFrontEnd,
File "/uiCA/uiCA.py", line 2294, in runSimulation
frontEnd.cycle(clock)
File "/uiCA/uiCA.py", line 572, in cycle
newInstrIUops = self.DSB.cycle()
File "/uiCA/uiCA.py", line 743, in cycle
DSBBlock = self.DSBBlockQueue[0]
IndexError: deque index out of range
Thank you so much for uiCA!
The text was updated successfully, but these errors were encountered:
This is now fixed. However, note that uiCA is only intended to analyze basic blocks. Your example is not a basic block due to the additional jump; thus, the analysis results might not be very meaningful.
Thanks. I'm interested in situations when that jump is not taken (if taken, it just terminates the loop early), and it looks like uiCA does what I want.
I was exploring variants of a loop and found one where uiCA.py throws an exception even though nothing out of the ordinary seems to happen in the loop.
Short link to uica.uops.info: https://bit.ly/3Pga31D
For reference, the loop on the above link that shows the issue on Skylake..Cascade Lake:
Exception trace:
Thank you so much for uiCA!
The text was updated successfully, but these errors were encountered: