Project

General

Profile

Task #5095

[parser][cfg] Оптимизация представления ветвлений - многовариантные узлы switch

Added by Sergey Smolov over 5 years ago. Updated about 5 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
-
Target version:
Start date:
07/17/2014
Due date:
% Done:

100%

Estimated time:
Detected in build:
svn
Published in build:
r918

Description

В IG конструкции вида switch\case разворачиваются в многоэтажные if\then\else конструкции.
При построении CFG нужно строить на их основе многовариантные узлы switch (с количеством дочерних узлов, возможно, большим 2).

History

#1

Updated by Sergey Smolov over 5 years ago

  • Status changed from New to Open
#2

Updated by Sergey Smolov over 5 years ago

Логика процесса оптимизации должна быть реализована в отдельном компоненте, являющемся наследником класса Backend. Компонент должен быть зарегистрирован в VHDL\Verilog-парсерах.

#3

Updated by Sergey Smolov over 5 years ago

Реализована заглушка компонента parser.basis.backend.SwitchOptimizer

#4

Updated by Alexander Kamkin over 5 years ago

  • Subject changed from [parser][vhdl] Оптимизация представления ветвлений - многовариантные узлы switch to [vhdl][parser][cfg] Оптимизация представления ветвлений - многовариантные узлы switch
#5

Updated by Alexander Kamkin over 5 years ago

  • Subject changed from [vhdl][parser][cfg] Оптимизация представления ветвлений - многовариантные узлы switch to [parser][cfg] Оптимизация представления ветвлений - многовариантные узлы switch
#6

Updated by Sergey Smolov over 5 years ago

Слиянию подлежат те switch-узлы, условия в которых имеют вид "(expr = c_1 || ... || expr = c_2)".
c_1 ... c_n - попарно неравные числовые константы

#7

Updated by Sergey Smolov about 5 years ago

  • Status changed from Open to Resolved
  • % Done changed from 0 to 100
  • Published in build set to r918
#8

Updated by Sergey Smolov about 5 years ago

Реализован компонент ru.ispras.retrascope.parser.basis.backend.CfgSwitchBackend, решающий поставленную задачу

#9

Updated by Sergey Smolov about 5 years ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF