[llvm-dev] basic blocks with input and output parameters instead of phis
Henning Thielemann via llvm-dev
llvm-dev at lists.llvm.org
Sun May 1 05:21:29 PDT 2016
I always found the phi instruction pretty unintuitive, because
1. I thought that due to the SSA form the register uniquely determines the
basic block and thus the phi instruction should not need the information of a
"predecessor block".
2. I remember to have seen valid LL files where the predecessor block in a phi
instruction was not an immediate predecessor.
I thought that it would be more intuitive to have input and output parameters
in basic blocks like so:
start: param (i32 %0, i1 %1)
...
br i1 %1, label start (%2, %3), label stop (%4)
stop: param (i16 %5)
...
Has anybody thought about such a structure, yet?
More information about the llvm-dev
mailing list