Actions
Task #5503
closed[parser][basis][backend] implement "atomic hammock" backend
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
Actions