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.
clang-10 -O0 -fno-discard-value-names -g -emit-llvm inc.c -c -o inc.bc (This command preserves the variable name.)<result> (a.k.a the register used to store the value/the destination of load/the value of the load instruction) part of a LoadInst, you should use loadInst->getName().Use the following command to run the pass:
opt-10 -instnamer -load hw7/libInterSignAnalysis.so -intersign < inc.bc >> /dev/null;You should have a file for each of the analysis, each of the file should contain basicblock name, variable, sign.