Problem

Your should complete ALL of the following tasks:

Task 1. Implement a path-insensitive and context-insensitive sign analysis

Task 2. Implement a path-sensitive and context-sensitive sign analysis

You should output the sign analysis results for each of the basicblocks (after the execution of the last instruction of one basic block, not for every instruction).

Please try to manually find the results before you write the code**.**

You should get two analysis results for the following code:

You can generate the bc code by the following command or use the bc code provided in the benchmark section.

Use the following command to run the pass:

Sample Output

You should have a file for each of the analysis, each of the file should contain basicblock name, variable, sign.