p4lang-p4c-nightly:hanw/action-profile-psa

Last commit made on 2020-07-29
Get this branch:
git clone -b hanw/action-profile-psa https://git.launchpad.net/p4lang-p4c-nightly

Branch merges

Branch information

Name:
hanw/action-profile-psa
Repository:
lp:p4lang-p4c-nightly

Recent commits

6c7ca76... by Han Wang <email address hidden>

cpplint

75cf3b9... by Han Wang <email address hidden>

minor fix

9f82741... by Han Wang <email address hidden>

clean up

da85d1f... by Han Wang <email address hidden>

refactor bmv2 backend to reuse more code for psa support

09daf9b... by Hemant Singh <email address hidden>

Add TCP and UDP Checksum Test (#2474)

* Add TCP checksum test
* Add UDP checksum

7c7926b... by Aashlesha Patil <email address hidden>

let @name annotation states merge (#2469)

* let @name annotation states merge

* Add test

bf5d4ba... by Mihai Budiu <email address hidden>

Remove incorrect ubpf_model.p4 (#2464)

c01ae1b... by Yunhe Liu <email address hidden>

[PSA] Supporting Indexed Meter as a Extern (#2437)

* indexed meter instance json generation

4b12f1c... by anasyrmia <email address hidden>

Fix: issue #2330 in Predication pass (#2471)

Changes made in preorder of assignment and if statements, in order to fix the loss of assignment when dependencies exist.
New Predication class members:
Unsigned depNestingLevel used to track how deep in nesting do dependencies go.
AssignmentStatement pointer dependencyAssignement, added to indicate that dependencies exist, in which case no assignment is lost.
cstring dependantName used to track the assignemnt statements that are dependants.
vector of cstrings statNames used for storing assignement statements in preorder of assignment statements.
map isAssignemntPushed controls if the liveAssignemnts were already pushed on rv block.

Changes made:

In preorder of Assignment statements:
- Filling the liveAssignemnts map depending on the current dependencies nesting level and checking if the current statement is a dependant statement.
- elseStatementName cstring used for creating a new name for else branches in orderedNames.

In preorder of If statements:
- Checking if there were dependencies before pushing anything else on rv block (if dependnecyAssig$
- If the bool value of corresponding assignment is false, in the isAssignmentPushed map, the assignment should be pushed on rv block. If the bool value is true, it means that assignment has already been pushed when dependencies were handled.

In visitBranch of ExpressionReplacer:
- Fixing the assignment of condition variable from the right conditions vector element.

3b2f0f9... by Mihai Budiu <email address hidden>

Validate arguments to log_msg (#2462)

* Validate arguments to log_msg