[fpc-devel] Wrong debug info when using clang backend
Jonas Maebe
jonas at freepascal.org
Wed Dec 13 21:48:34 CET 2023
On 09/12/2023 13:35, Adriaan van Os via fpc-devel wrote:
> Jonas Maebe via fpc-devel wrote:
>> So if/when we would get FPC equivalents of such directives, I could
>> translate those to LLVM IR as well.
>
> Then I suggest the following (and I can prepare a patch to the code and
> docs if it were to be accepted)
>
> $vectorize ON}
> {$vectorize OFF}
> {$vectorize WIDTH=VALUE}
> {$vectorize TYPE=FIXED}
> {$vectorize TYPE=SCALABLE}
> {$vectorize PREDICATE=ON}
> {$vectorize PREDICATE=OFF}
>
> For a description, see
> <https://llvm.org/docs/Vectorizers.html#command-line-flags>. And
>
> {$unroll ON}
> {$unroll OFF}
> {$unroll FULL}
> {$unroll COUNT=VALUE}
>
> For a description, see
> <https://clang.llvm.org/docs/LanguageExtensions.html#extensions-for-loop-hint-optimizations>.
I'd rather not introduce directives that are specific to clang, and
especially none only apply to the next loop. We don't have a single
directive yet that works like this.
Maybe attributes would be more appropriate, although I don't think
Delphi (or FPC) currently supports attributes for statements.
> Also, I suggest
>
> -Cl<xxx> Pass xxx to Clang as pragma on the command-line.
You can already pass command line options to clang using the generic -ao
command line parameter.
Jonas
More information about the fpc-devel
mailing list