L

LLVM - Flang

A FrontEnd Infrastructure for FORTRAN Programming Language.

L

LLVM - Flang

A FrontEnd Infrastructure for FORTRAN Programming Language.


The problem LLVM - Flang solves

The thing on which I was working throughout the WOC 2.0 period was evaluating the integer expression inside target constructives for device clause as non-negative integer. With some amount of Brain Storming with the mentor, Finally the root cause was known and we ended up allowing positive parameter to validate 0 as well which fixed up the issue. Now, let me elaborate more over the DEVICE clause.
Let's say that, you want to execute a particular part of the code in FORTRAN on targeted device driver. Then OpenMP API which has wide support for Flang and Clang in LLVM allows the target device clause. In this you can pass the host id as argument and it will execute the particular part of code in that device driver. But, IDs must be any kind of non negative Scaler integer so it was not implemented beforehand to eradicate the negative integers. After my patch, It now supports the required and expected behaviour.

Challenges I ran into

The build system had bindings which were not affordable for lower RAM consumptions. So, I was unable to start due to lack of hardware. When we come to contribution phase, Initially it was like a missing bridge between the theorhetical concepts I was learning about compilers and the task statement I saw. But, along with the flow, Things started making sense to me.

Discussion