Introduce COFFEE optimization level parameter

Issue #135 new
Jan Blechta created an issue

Comments (7)

  1. Miklós Homolya

    It's another inspiration from C compilers in COFFEE. #pragmas are used to tell the compiler extra information that, e.g., helps with some optimisations. #pragma coffee is to tell things to COFFEE. There are two COFFEE pragmas in use:

    • #pragma coffee expression marks the root expression, so COFFEE knows what to optimise.
    • #pragma coffee linear loop marks the argument loops, so COFFEE knows which are the argument indices.

    For some reason, @FabioLuporini decided to show the former, but hide the latter when printing the AST. It is nice to see them if one needs to debug the COFFEE code generation in C++, otherwise neither means anything to the C compiler.

  2. Jan Blechta reporter

    This might not be worth of an effort. Lot of COFFEE is being moved to TSFC and optimization interface might change. @miklos1?

  3. Miklós Homolya

    Yes, the configuration interface will change, as the operation reduction optimisations of COFFEE are being ported by TJ (Tianjiao Sun) to operate on GEM instead.

  4. Log in to comment