dg icon indicating copy to clipboard operation
dg copied to clipboard

C++ IR

Open hotpeperoncino opened this issue 7 years ago • 1 comments

IR codes contained in the llowing IR list cause error in dg in case of compiling C++ source code. If possible, we'd like to contribute to support C++. Which is important to handle by dg ?

indirectbr invoke resume catchswitch catchret cleanupret extractelement insertelement shufflevector fence cmpxchg atomicrmw landingpad catchpad cleanuppad

hotpeperoncino avatar Mar 07 '18 05:03 hotpeperoncino

Great! I very appreciate that :)

Extractelement and insertelement are vector instructions that are used frequently in C++ IR. For basic C++ support, the instructions connected with exceptions are needed (invoke, landingpad, etc.), but implementing these may be a bit tricky as they yield interprocedural control dependencies. I think that atomic instructions are not necessary in the first phase (however, as we do not support parallelism, I think they could be just mapped to their non-atomic counterparts).

mchalupa avatar Mar 07 '18 08:03 mchalupa