opt is broken on LLVM12

hi all,

I am PicoLisp team member, we have new PicoLisp (pil21) implementation on raw LLVM-IR.
Works and passes huge test suite on any LLVM7+ versions, 64bit only.

While having fun testing pil21 under LLVM12 (https://apt.llvm.org) I found
"stem" function (https://software-lab.de/doc/refS.html#stem) fails.

Current status for latest snapshot:
Ubuntu clang version 12.0.0-++20210107052627+f4013359b3da-1~exp1~20210107163329.277

opt = OK
llvm-as = OK
opt -O1 = OK
opt -Os = wrong result
opt -O2 = wrong result
opt -O3 = wrong result

I will keep a eye on LLVM12 branch and run test suite eventually for fun in the future.
I am offering help for future monitoring of LLVM by PicoLisp test suite.
If you touched optimization you definitely could contact me privately by email.


This is missing some vital details:
* what is the minimal reproducer? pointing at some whole program isn't
really actionable..
* what is the bisection range - which particular llvm commit broke it?