Project

General

Profile

Task #5503

[parser][basis][backend] implement "atomic hammock" backend

Added by Sergey Smolov over 4 years ago. Updated over 4 years ago.

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

100%

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

Description

The HDL parser backend for "atomic hammocks" elaboration to be implemented.

An atomic hammock is a hammock subgraph into process's control flow graph. This subgraph contains one switch node, one merge node, two case nodes and one (or two) basic block node. The subgraph structure is:

switch
/ \
case1 case2
/ \
block1 block2 (or nothing)
\ /
merge

Each basic block contains exactly one assignment. If there are two basic blocks in the hammock, same variables are defined.

For such hammock subgraph the backend performs it into the following basic block (let the block1 contains x = 1 assignment and block2 contains x= 2 assignment):

x = (switch_condition == case1) ? 1 : 2

History

#1

Updated by Sergey Smolov over 4 years ago

  • Status changed from New to Open
#2

Updated by Sergey Smolov over 4 years ago

  • Status changed from Open to Resolved
  • % Done changed from 0 to 100
  • Published in build set to r1366

ru.ispras.retrascope.parser.basis.backend.CfgAtomicHammockBackend

#3

Updated by Sergey Smolov over 4 years ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF