[flang] Move OpenMP-related code from `FirConverter` to `OpenMPMixin`
This improves the separation of the generic Fortran lowering and the
lowering of OpenMP constructs.
The mixin is intended to be derived from via CRTP:
```
class FirConverter : public OpenMPMixin<FirConverter> ...
```
The primary goal of the mixin is to implement `genFIR` functions
that the derived converter can then call via
```
std::visit([this](auto &&s) { genFIR(s); });
```
The mixin is also expecting a handful of functions to be present
in the derived class, most importantly `genFIR(Evaluation&)`, plus
getter classes for the op builder, symbol table, etc.
The pre-existing PFT-lowering functionality is preserved.
parent
a6197ad2
Please register or sign in to comment