Project

General

Profile

Actions

Task #5095

closed

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

Added by Sergey Smolov over 9 years ago. Updated over 9 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).

Actions #1

Updated by Sergey Smolov over 9 years ago

  • Status changed from New to Open
Actions #2

Updated by Sergey Smolov over 9 years ago

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

Actions #3

Updated by Sergey Smolov over 9 years ago

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

Actions #4

Updated by Alexander Kamkin over 9 years ago

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

Updated by Alexander Kamkin over 9 years ago

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

Updated by Sergey Smolov over 9 years ago

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

Actions #7

Updated by Sergey Smolov over 9 years ago

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

Updated by Sergey Smolov over 9 years ago

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

Actions #9

Updated by Sergey Smolov over 9 years ago

  • Status changed from Resolved to Closed
Actions

Also available in: Atom PDF