Help regarding a project:

Hello Everyone ,

Please guide me for the following tasks I wish to accomplish by extending C language

  1. Add a new keyword “Critical” for integer data type.

  2. All the operands in the operations involving such integers will also be marked critical

  3. For such operations mainly addition and multiplication , divide the integers into two halves based on their bits , carry out operations on halves separately and combine the result to obtain the original result.


critical int a=5;

int b=10;

int c=a+b;

int d=b*b;

c should be calculated as follows:

a’ and a’’ are 16 highest and lowest bits of a respectively. Similarly b’ and b’’ and c’ and c’'.

so c’‘=a’‘+b’’ , c’=a’+b’+carry , c=2^16*c’+c’'.

and d should be calculated normally.

Please help me figure which files I need to change to accomplish each of the tasks.

Apologies if the tasks are too trivial , I am new to LLVM.