[fpc-pascal] llvminfo woes
Adriaan van Os
adriaan at adriaan.biz
Thu Jul 23 10:52:45 CEST 2026
On 22/07/2026 23:14, Jonas Maebe wrote:
> On 2026-07-22 12:01, Adriaan van Os via fpc-pascal wrote:
>> On 22/07/2026 10:05, Pierre Muller via fpc-pascal wrote:
>>> To cycle successfully starting from a LLVM compiler
>>> and trying to generate a non-llvm version you will need to use
>>> OPTLEVEL1 Makefile variable.
>>>
>>> Check required -ClvX.Y needed by testing 'clang --version' output
>>> and use OPTLEVEL1="-ClvX.Y -dNOLLVM -XLL"
>>
>> Thanks, OPTLEVEL1="-Clv15.0 -dNOLLVM" (without the -XXL) works for
>> me. However, I get
>
> I should have mentioned this when you initially asked regarding the
> version check issue, but doing a top-level build, or even a make
> cycle, using an LLVM-based compiler to build a non-LLVM-based
> compiler, is rather pointless. ppc1 will be compiled using the LLVM
> code generator, but ppc2/ppc3 will be compiled using the built-in code
> generator, so the finally installed compiler will (should) be
> identical to one you'd get when starting using e.g. FPC 3.2.2.
Yes, I got the same timing results as with the regular compiler 🙂.
> To get a regular compiler built using an LLVM compiler, execute your
> make command inside the compiler directory (adding the options to OPT)
> and keep the resulting compiler binary (ppca64 in this case).
Thanks. That works with -O2 and produces a ppca64. With -O3 and -O4, I
get the results below. Adding -Swe- or -Sw- didn't help.
Assembling (pipe) aarch64/units/aarch64-darwin/nmat.ll
Assembling (pipe) aarch64/units/aarch64-darwin/nmem.ll
nld.pas(1271,7) Note: Call to subroutine "procedure
arrayconstructor_to_set(var p:tnode);" marked as inline is not inlined
Assembling (pipe) aarch64/units/aarch64-darwin/nld.ll
htypechk.pas(1463,12) Warning: (treated as error) Function result
variable does not seem to be initialized
htypechk.pas(1523,16) Warning: (treated as error) Function result
variable does not seem to be initialized
htypechk.pas(1530,18) Warning: (treated as error) Function result
variable does not seem to be initialized
htypechk.pas(1537,18) Warning: (treated as error) Function result
variable does not seem to be initialized
htypechk.pas(1568,22) Warning: (treated as error) Function result
variable does not seem to be initialized
htypechk.pas(1607,22) Warning: (treated as error) Function result
variable does not seem to be initialized
htypechk.pas(1618,28) Warning: (treated as error) Function result
variable does not seem to be initialized
htypechk.pas(1634,21) Warning: (treated as error) Function result
variable does not seem to be initialized
htypechk.pas(1651,22) Warning: (treated as error) Function result
variable does not seem to be initialized
htypechk.pas(1663,22) Warning: (treated as error) Function result
variable does not seem to be initialized
htypechk.pas(1676,22) Warning: (treated as error) Function result
variable does not seem to be initialized
htypechk.pas(1696,22) Warning: (treated as error) Function result
variable does not seem to be initialized
htypechk.pas(1703,22) Warning: (treated as error) Function result
variable does not seem to be initialized
htypechk.pas(1723,22) Warning: (treated as error) Function result
variable does not seem to be initialized
htypechk.pas(1732,22) Warning: (treated as error) Function result
variable does not seem to be initialized
htypechk.pas(1755,18) Warning: (treated as error) Function result
variable does not seem to be initialized
htypechk.pas(1765,22) Warning: (treated as error) Function result
variable does not seem to be initialized
htypechk.pas(1771,18) Warning: (treated as error) Function result
variable does not seem to be initialized
htypechk.pas(1780,18) Warning: (treated as error) Function result
variable does not seem to be initialized
htypechk.pas(1794,18) Warning: (treated as error) Function result
variable does not seem to be initialized
htypechk.pas(1801,18) Warning: (treated as error) Function result
variable does not seem to be initialized
htypechk.pas(1822,22) Warning: (treated as error) Function result
variable does not seem to be initialized
htypechk.pas(1840,26) Warning: (treated as error) Function result
variable does not seem to be initialized
htypechk.pas(1848,22) Warning: (treated as error) Function result
variable does not seem to be initialized
htypechk.pas(1866,18) Warning: (treated as error) Function result
variable does not seem to be initialized
htypechk.pas(1877,18) Warning: (treated as error) Function result
variable does not seem to be initialized
htypechk.pas(1894,28) Warning: (treated as error) Function result
variable does not seem to be initialized
htypechk.pas(1901,27) Warning: (treated as error) Function result
variable does not seem to be initialized
htypechk.pas(1905,24) Warning: (treated as error) Function result
variable does not seem to be initialized
htypechk.pas(1915,24) Warning: (treated as error) Function result
variable does not seem to be initialized
htypechk.pas(1925,24) Warning: (treated as error) Function result
variable does not seem to be initialized
htypechk.pas(1936,24) Warning: (treated as error) Function result
variable does not seem to be initialized
htypechk.pas(1943,24) Warning: (treated as error) Function result
variable does not seem to be initialized
htypechk.pas(1952,18) Warning: (treated as error) Function result
variable does not seem to be initialized
htypechk.pas(3975) Fatal: There were 34 errors compiling module, stopping
Fatal: Compilation aborted
make: *** [ppca64] Error 1
Regards,
Adriaan van Os
More information about the fpc-pascal
mailing list